使用python3的matplotlib工具画图中文及负号显示问题

问题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
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值