Python报错之如何解决matplotlib绘图中文显示成框框问题
作者:南湖渔歌
这篇文章主要介绍了Python报错之如何解决matplotlib绘图中文显示成框框问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
解决matplotlib绘图中文显示成框框问题
问题1:中文坐标轴显示问题:
解决方案:
#只需在前面加上: from pylab import mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] #指定默认字体
解决方案
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
mac上python的matplotlib库绘图时xlabel中文字符显示成小方框
import matplotlib.pyplot as plt
然后,mac上Python绘图遇到,一个汉字一个框:
找了好几篇博客,并不管用,原因可能是设置的SimHei、KaiTi之类的字体在mac上没有,以后再研究补上原因。
最后下面的方法生效了,据说Windows上会同样生效(2022.07.13):
要加这两个.rcParams[] 的设置:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei','Songti SC','STFangsong'] plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
绘图的时候我是这样设置xlabel的:
plt.figure("因子") #这个窗口标题不加上面的两个设置也能正常显示中文。 plt.subplot(1,2,1) plt.ylim(0,1.1) plt.xlabel("天数a1") #这个不加会显示成小方框 plt.plot(day1,yinzi1) plt.subplot(1,2,2) plt.ylim(0,1.1) plt.xlabel("天数a2") #这个不加会显示成小方框 plt.plot(day2,yinzi2) plt.show()
然后汉字显示成功了:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。