网上有很多方法,但是基本的是片面的。
参考1 https://tracholar.github.io/wiki/python/matplotlib-chinese-font.html
参考2 https://www.cnblogs.com/touristlee/p/8805655.html
windows下,做到以下三点,可以成功
(1)现在msyh.ttf字体,放到matplot的字体目录,
路径如 D:ProgramAnaconda3Libsite-packagesmatplotlibmpl-data
参考1有示例
使用下面代码找路径
import matplotlib
print(matplotlib.matplotlib_fname())
(2)修改文件,matplotlibrc
参考1或参考2
(3) 删除缓存,很重要!
具体i方式是首先删除 C:Users你的用户名.matplotlib 把这个.matplotlib文件夹删掉,然后重启应用。
5. 直接使用
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
也可以显示中文,但是这样显示的英文又不是很美观。SimHei应该是matplotlib自带的字体。
6. 注意!!!
使用SimHei 或 Microsoft YaHei 后,生成的pdf文件特别大,前者是4MB多,后者是8MB多,而默认英文字体只有470KB多。
另外,一旦运行了plt.rcParams['font.sans-serif'] = ['SimHei'] ,除非重启应用,否则运行其他文件也是使用该字体,生成很大的pdf
7. 参考 http://www.yeolar.com/note/2011/04/28/matplotlib-tips/
http://blog.sciencenet.cn/blog-43412-343002.html
8. 这个可行,最好,文件小
https://www.v2ex.com/t/317361
保存pdf出错,truetype ..
9. 最终,还是觉得先生成pdf文件,然后在acrobat里改中文最好
使用
plt.rcParams['font.sans-serif'] = ['Times New Roman'] 设置全局字体. 不过这个'Times New Roman' 怎么显示黑体?