纯新手小白分享,已测试成功,欢迎各位大神指导。
第一步:下载简体字的ttf文件“SimHei”
第二步:在黑屏terminal或jupyternotebook中获取路径,指令如下:
import matplotlib
print(matplotlib.matplotlib_fname())
得到路径:/Users/cathy/PycharmProjects/pythonProject/venv/lib/python3.11/site-packages/matplotlib/mpl-data/matplotlibrc
jupyter notebook中截图如下:
第三步:
前往文件夹:/Users/zhouquan/PycharmProjects/pythonProject/venv/lib/python3.11/site-packages/matplotlib/mpl-data
(注意:在mac的前往—前往文件夹中输入第二步得到的路径去掉最后一个文件名的路径)
点击进入fonts后点击进入ttf文件夹,将下载好的“SimHei。ttf”拖至该目录下
第四步:
接第三步,返回上一级目录,再返回上一级目录,找到“matplotlibrc”文件,可直接打开修改(害怕改错的可以复制一份备份)
1)Ctrl+F查找,“font.family”
将该处font.family前的#去掉,变成
2)Ctrl+F查找,“font.sans-”
在”font.sans-serif:”后加上下载的简体字的文件名(害怕写错可以右键重命名后复制),后加逗号和空格。如下图:
3)Ctrl+F,查找“axes.unicode_”
将#去掉,“True”改为“False”,如下图
第五步:删除matplotlib缓冲
在pycharm的代码编辑区输入:
import matplotlib
print(matplotlib.get_cachedir())
运行得到
/Users/cathy/.matplotlib
在terminal区输入:rm -rf /Users/cathy/.matplotlib (注意是rm -rf后面加上面print得到的结果,不可直接复制)
回车即可完成删除缓冲。
第六步:修改操作已完成。
在画图时编码区加入一行代码
plt.rcParams['font.sans-serif'] = ['SimHei']
例如:
运行发现,图的标题即横纵坐标已正常显示中文。
如需解决坐标轴负数负号显示问题可加上下面这行:
plt.rcParams["axes.unicode_minus"] = False