python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python解决matplotlib绘图中文显示成框框

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() 

然后汉字显示成功了:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文