Mac 系统下 解决python matplot画图中文乱码问题和plot.show()无响应问题

Mac 系统下 解决python matplot画图中文乱码问题和plot.show()无响应问题

参考:https://www.zhihu.com/question/25404709

网络上大多是关于Windows的教程。mac上可以照着配置如下:
1.百度搜索字体simhei,放到类似于
/Users/xxxxx/anaconda/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf
目录中
点击这里下载

2.删除
/Users/lizhen/.matplotlib/fontList.cache
/Users/lizhen/.matplotlib/*.cache最好都删除
3.修改配置文件
/Users/lizhen/anaconda/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc
找到font.family和font.sans-serif两项,将#注释去掉,打开。
font.family : sans-serif
font.sans-serif : SimHei,
4.代码部分
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

5.最后附上测试代码,其中有解决plot.show()无响应的方法

#encoding=utf-8
import matplotlib
matplotlib.use('TkAgg')#这两句用来解决plot.show()后没有反应的问题
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

names = ['5', '10', '15', '20', '25']
x = range(len(names))
y = [0.855, 0.84, 0.835, 0.815, 0.81]
y1=[0.86,0.85,0.853,0.849,0.83]
#plt.plot(x, y, 'ro-')
#plt.plot(x, y1, 'bo-')
#pl.xlim(-1, 11)  # 限定横轴的范围
#pl.ylim(-1, 110)  # 限定纵轴的范围
plt.plot(x, y, marker='o', mec='r', mfc='w',label=u'y=x^2曲线图')
plt.plot(x, y1, marker='*', ms=10,label=u'y=x^3曲线图')
plt.legend()  # 让图例生效
plt.xticks(x, names, rotation=45)
plt.margins(0)
plt.subplots_adjust(bottom=0.15)
plt.xlabel(u"time(s)邻居") #X轴标签
plt.ylabel("RMSE") #Y轴标签
plt.title("A simple plot") #标题
plt.show()

猜你喜欢

转载自blog.csdn.net/yisuoyanyv/article/details/79032228
今日推荐