欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用python3的matplotlib工具画图显示问题

程序员文章站 2022-03-18 23:38:47
...

问题1:不能显示中文

在网上找了很多解决办法,主要包括以下几种:

  1. 将文件的编码设置为utf-8,即在文件头加入:
#coding=utf-8
  1. 设置需要显示的中文字体:
matplotlib.rcParams['font.sans-serif'] = ['想用的字体名称']

网上推荐的字体主要为:SimHei

使用以上两种方法基本可以解决中文不能显示的问题。如果仍不能显示,参考问题2.

问题2:使用以上两种方法仍然不能显示

发现问题并没有那么简单,尝试以下方法:

  1. 首先查看文件中是否使用了pickle.load()函数,如果是的话,给该函数加入一个参数encoding
#pickle.load(f)
pickle.load(f,encoding='bytes')
  1. 可能是中文字符太多,可在中文字符之前加字母u,比如:
plt.ylabel(u'概率')
  1. 如果还是不行, 就在配置区加入
 from matplotlib.font_manager import _rebuild
_rebuild() #reload一下

以上应该能将中文显示出来,但可能会产生负号显示为方框的问题。

问题3: 负号(减号)不能正常显示,显示为方框

网上主要使用的方法是:

  1. 在配置区加入:
plt.rcParams['axes.unicode_minus'] = False
  1. 我使用了方法1,并未奏效,遂将字体换了一下,将SimHei字体换成了Microsoft YaHei,减号便成功显示。当然还有其他字体可以尝试,中文字体的选择请见https://blog.csdn.net/Mr_blueD/article/details/79650227
相关标签: python matplotlib