永久解决 matplotlib 中文乱码

fa9bbc5614b005005e73d8030ce50238.gif

作者 | 老表

来源 | 简说Python

今天给大家分享一个永久解决matplotlib中文乱码的笔记,希望对大家有所帮助。

首先需要你的电脑安装好了Python环境,并且安装好了Python开发工具。

如果你还没有安装,可以参考以下文章:

  • 查看matplotlib安装目录

import matplotlib
# 查了安装路径
print(matplotlib.get_data_path()) 

'''
/Users/hhh/Library/Python/3.7/lib/python/site-packages/matplotlib/mpl-data
'''
  • 将下载好的字体复制到mpl-data/fonts/ttf目录下

452adcafbfaeaa8492f22ec1b415a7fb.png

  • 修改matplotlib设置文件,在mpl-data/matplotlibrc,利用文本模式打开即可,修改三个地方,修改好后保存即可:

# 第一个地方:font.family: sans-serif这一句前面的#去掉
font.family:  sans-serif  
# 第二个地方:在:(冒号)后加一个SimHei
font.sans-serif: SimHei, DejaVu Sans, Bitstream ...
# 第三个地方:axes.unicode_minus后的值改为False
axes.unicode_minus: False
  • 我们需要重新加载字体配置 如果你的matplotlib是3+以下,可以使用以下代码实现该步操作:

from matplotlib.font_manager import _rebuild
_rebuild()

如果你的matplotlib是3+及以上,在这些版本中私有方法_rebuild已被弃用,所以没法使用上面方法进行重新加载,不过更简单的,你只需要重新启动下你的python环境就可以了。

以jupyter为例子,点一下图中按钮重启内核,再运行代码即可显示中文。

86fdf20af56f0bf67215d851ed8d8e9a.png

要是还是不行,查看下matplotlib缓存存放位置,然后删除,再重启jupyter notebook试试。

# matplotlib缓存的目录 
import matplotlib 
print(matplotlib.get_cachedir())
'''
/Users/hhh/.matplotlib
'''

这个小绘图示例也给到大家方便检测。

# 随便绘制一个饼图
import matplotlib.pyplot as plt

fig1 = plt.figure()  # 先创建一个图像对象
plt.pie([0.5, 0.3, 0.2],  # 值
        labels=['我', '你', '它'],  # 标签
        explode=(0, 0.2, 0),  # (爆裂)距离
        autopct='%1.1f%%',   # 显示百分数格式
        shadow=True)  # 是否显示阴影
plt.show()
 
 
 
 

dda5f6100f180d74aedb1ed8db3af737.gif

往期回顾

太卷了!AI 高数考试正确率81%

马斯克痛失大将!自动驾驶将驶向何方?

2D变身3D,来看英伟达的AI“新”魔法!

如何用 Python 实现景区安防系统?

分享
点收藏
点点赞
点在看
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值