方法一:添加两行代码
在你的代码开始加上以下3、4行两句,利用matplot的reParams属性配置。
import matplotlib.pyplot as plt # 导入模块
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
plt.rcParams['axes.unicode_minus'] = False # 显示负号
plt.figure(figsize=(14, 8))
plt.plot([1,2,3], [4,5,6], label="图例")
plt.xlabel("横坐标")
plt.ylabel("纵坐标")
plt.legend(loc="best")
plt.show()
方法二:修改配置文件
- 找到配置文件所在路径:ipython中输入如下代码,得到配置文件matplotlibrc的路径
import matplotlib
matplotlib.matplotlib_fname()
像这样,这是我的文件路径 'D:\\Programs\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc'。
- 复制字体文件
Windows10 的字体文件在C:\Windows\Fonts路径下,找到一种中文字体,文件后缀名要是TTF的才行,可以在属性中看到。复制到的路径就是上面配置文件的同级目录下的fonts文件中,看图秒懂。
- 打开matplotlibrc文件进行修改
去掉 font.family 一句前面的注释;去掉 font.sans-serif 一句前面的注释,在冒号后面第一个位置添加复制过来的字体文件名,我这里就是 STXINWEI。
修改好了保存文件,重新运行python文件,这时就不需要方法一的两句代码了(交互式环境需要退出再重启)。
import matplotlib.pyplot as plt
# plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
# plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plt.figure(figsize=(14, 8))
plt.plot([1,2,3], [4,5,6], label="图例")
plt.xlabel("横坐标")
plt.ylabel("纵坐标")
plt.legend(loc="best")
plt.show()
嗨哟,文字出来啦!
方法二参考(感谢博主!):https://blog.csdn.net/ningyingqi/article/details/78802135