有两种解决办法:
一种是在代码里设置为能显示中文的字体,如微软雅黑(msyh.ttf)和黑体(simsun.ttc)
如下在要画图的代码前添加:
import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontPropertiesfont = FontProperties(fname=r"C:\Windows\Fonts\msyh.ttf",size=10)plt.figure()plt.title('标题',fontproperties = font)plt.xlabel('横坐标',fontproperties = font)plt.ylabel('纵坐标',fontproperties = font)plt.show()
另一种是在文件里修改,就不用每次在写代码都要重新设置,省的那么麻烦
首先在D:\Python\Lib\site-packages\matplotlib\mpl-data下找到matplotlibrc文件修改
1,找到
#font.family : sans-serif
去掉注释
2,找到
#font.sans-serif : Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
修改为
font.sans-serif : Microsoft YaHei ,Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
即去掉注释,并在配置值中添加 Microsoft YaHei
然后在C:\Windows\Fonts 下找到微软雅黑,点进去,选择常规(msyh.ttf)
复制到 D:\Python\Lib\site-packages\matplotlib\mpl-data\fonts\ttf 文件夹下即可
最后在运行代码处添加
plt.rcParams[ 'font.sans-serif' ] = [ 'Microsoft YaHei' ]