有兩種解決辦法:
一種是在代碼里設置為能顯示中文的字體,如微軟雅黑(msyh.ttf)和黑體(simsun.ttc)
如下在要畫圖的代碼前添加:
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font = 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'
]