您的位置:首页 > 编程语言 > PHP开发

matplotlib中画图显示中文,但保存为图片后中文乱码

2016-02-28 11:31 1021 查看

matplotlib中画图显示中文,但保存为图片后中文乱码

这两天赶毕设论文的测试,使用matplotlib画图,首先解决图片预览的中文显示,很简单:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
# 设置显示中文
matplotlib.rcParams['font.sans-serif'] = ['SemiHei'] #指定默认字体
matplotlib.rcParams['axes.unicode_minus'] = False #解决保存图像是负号'-'显示为方块的问题

N = 37
match_count = (392, 785, 1178, 1571, 1971, 2371, 2771, 3171, 3571, 3971, 4371, 4780, 5189, 5603, 6017, 6431, 6904, 7382, 7860, 8338, 8816, 9294, 9775, 10256, 10737, 11219, 11701, 12183, 12665, 13176, 13687, 14199, 14711, 15223, 15735, 16247, 16759)

match_count_delta = []
start = 0
for x in match_count:
match_count_delta.append(x - start)
start = x

x = np.arange(N)

plt.plot(x, match_count_delta, linewidth = 2)

# add some text for labels, title and axes ticks
plt.xlabel(u'版本号')
plt.ylabel(u'数据包个数')

#plt.legend()
plt.gca().yaxis.grid(True)

plt.show()


But ,将图片保存为png格式到本地的时候,打开发现中文为框框,奇怪,为何运行显示OK,保存到本地就有问题呢?一折腾就2个多小时,然后并没有用,试过其他设置中文的方式,试过改变画板的facecolor直接截图,后来不知道咋地想到为何不试一下其他图片格式,而非要用png?

After all:改为JPG后解决,看来思路不够开阔。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matplotlib 中文 乱码