关于python3调用matplotlib中文乱码问题

问题描述

我用来绘制柱形图,横坐标上面的数据, 但是网上大部分说的都是更改横纵坐标标签的乱码问题,而不是横坐标数据乱码问题

解决办法

  1. 更改横纵坐标上标签的中文不乱码
import matplotlib.pyplot as plt
import matplotlib
num_list = [1,2]
keyword_list = ['好好学习','天天向上']
myfont = matplotlib.font_manager.FontProperties(fname=font_path) #这里的font_path写中文字体ttf的路径
plt.title('统计信息',fontproperties = myfont)
plt.bar(range(len(num_list)), num_list,color='rgb',tick_label=keyword_list)
plt.ylabel('匹配文章数量',fontproperties = myfont)
plt.xlabel('关键字',fontproperties = myfont)
plt.show()

执行结果:
在这里插入图片描述
可以看到横坐标的中文数据乱码根本没有变化, 只有横坐标的标签和纵坐标的标签正常显示中文了

2.终极解决办法

import matplotlib.pyplot as plt
from pylab import *
num_list = [1,2]
keyword_list = ['好好学习','天天向上']
mpl.rcParams['font.sans-serif'] = ['SimHei']
plt.title('统计信息')
plt.bar(range(len(num_list)), num_list,color='rgb',tick_label=keyword_list)
plt.ylabel('匹配文章数量')
plt.xlabel('关键字')
plt.show()

执行结果:
在这里插入图片描述
可以看到只要加导入一个库,再加入一条语句就可以实现中文正常显示了

posted @ 2019-05-16 23:13  Hello_wshuo  阅读(32)  评论(0编辑  收藏  举报