如何解决matplotlib.pyplot绘图时出现的中文乱码问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计586个文字,预计阅读时间需要3分钟。
了解自然,更知所已然。如此才能融汇贯通,避免死记硬背。
在使用matplotlib.pyplot绘图时,初学者常会遇到中文显示乱码(表现为小方块)的问题。网上常见的解决方法描述不够简洁。其实,一个简单的方法是:
1. 确保安装了支持中文显示的字体包,如`matplotlib`的`font_manager`。
2.在绘图代码中,设置字体为支持中文的字体,例如SimHei(黑体)。
示例代码如下:
python
import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties设置字体为支持中文的字体font=FontProperties(fname=rc:\windows\fonts\simhei.ttf)
plt.plot([1, 2, 3], [4, 5, 6])plt.title(u'中文', fontproperties=font)plt.xlabel(u'中文X轴标签', fontproperties=font)plt.ylabel(u'中文Y轴标签', fontproperties=font)plt.show()
这样设置后,中文应该能够正常显示了。
知其然,更知所以然。这样才能融汇贯通,避免死记硬背。
matplotlib.pyplot绘图时,初学者会遇到中文显示乱码(显示为小方框)问题。网上查到的解决办法通常描述的不是很简洁。其实,只需在代码中增加两行代码即可解决。
第一行:plt.rcParams['font.sans-serif']=['simhei']
第二行:plt.rcParams['axes.unicode_minus']=False
关于rcParams
rc,翻译过来是指runtime configuration,即运行时配置。也有释译成resource configuration,资源配置。我觉得运行时配置更合适一点。Params,当然是指parameters,参数的意思。rcParams,运行时配置参数,是以python字典的形式存储。
关于font.sans-sefif
serif,翻译过来是指有衬字体。serif加上sans成了sans-serif,是指无衬字体。font.sans-serif,这个python字典关键字,是指设定无衬字体的内容。通常设定为中易黑体,即simhei。
关于axes.unicode_minus
minus翻译过来是指”减号“。unicode当然是指unicode编码字符集的意思了。unicode_minus,是指中文减号是否使用unicode字符集进行编码。axes.unicode_minus,也是个python字典关键字,是指设定关于axes轴域相关的unicode_minus属性。
本文共计586个文字,预计阅读时间需要3分钟。
了解自然,更知所已然。如此才能融汇贯通,避免死记硬背。
在使用matplotlib.pyplot绘图时,初学者常会遇到中文显示乱码(表现为小方块)的问题。网上常见的解决方法描述不够简洁。其实,一个简单的方法是:
1. 确保安装了支持中文显示的字体包,如`matplotlib`的`font_manager`。
2.在绘图代码中,设置字体为支持中文的字体,例如SimHei(黑体)。
示例代码如下:
python
import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties设置字体为支持中文的字体font=FontProperties(fname=rc:\windows\fonts\simhei.ttf)
plt.plot([1, 2, 3], [4, 5, 6])plt.title(u'中文', fontproperties=font)plt.xlabel(u'中文X轴标签', fontproperties=font)plt.ylabel(u'中文Y轴标签', fontproperties=font)plt.show()
这样设置后,中文应该能够正常显示了。
知其然,更知所以然。这样才能融汇贯通,避免死记硬背。
matplotlib.pyplot绘图时,初学者会遇到中文显示乱码(显示为小方框)问题。网上查到的解决办法通常描述的不是很简洁。其实,只需在代码中增加两行代码即可解决。
第一行:plt.rcParams['font.sans-serif']=['simhei']
第二行:plt.rcParams['axes.unicode_minus']=False
关于rcParams
rc,翻译过来是指runtime configuration,即运行时配置。也有释译成resource configuration,资源配置。我觉得运行时配置更合适一点。Params,当然是指parameters,参数的意思。rcParams,运行时配置参数,是以python字典的形式存储。
关于font.sans-sefif
serif,翻译过来是指有衬字体。serif加上sans成了sans-serif,是指无衬字体。font.sans-serif,这个python字典关键字,是指设定无衬字体的内容。通常设定为中易黑体,即simhei。
关于axes.unicode_minus
minus翻译过来是指”减号“。unicode当然是指unicode编码字符集的意思了。unicode_minus,是指中文减号是否使用unicode字符集进行编码。axes.unicode_minus,也是个python字典关键字,是指设定关于axes轴域相关的unicode_minus属性。

