简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。
首先下载下黑体字体库,这里我已经下载好了,大家在微信公众号简说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
目录下
- 修改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为例子,点一下图中按钮重启内核,再运行代码即可显示中文。
要是还是不行,查看下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()