我正在尝试使用matplotlib
库创建直方图。
我将编码设置为UTF-8,但是缺少一些抛光字符(不是全部,只有一些)。
我试过玩encode
和decode
,但没有成功。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import matplotlib.pyplot as plt
#sampleData
data=[[ 0.13837092, 0.14755699, 0.17719047, 0.1998352 ],
[ 0.19318216, 0.15863521, 0.17136143, 0.18979461]]
n, bins, patches = plt.hist(data, facecolor='green')
# I've tried also adding: .encode('UTF8') and .decode('UTF8'), but without success
plt.xlabel("Wartości ą, ć, ę, ł, ń, ó, ś, ź, ż.")
plt.ylabel("Prawdopodobieństwo ą, ć, ę, ł, ń, ó, ś, ź, ż.")
plt.title("Tytuł ą, ć, ę, ł, ń, ó, ś, ź, ż.")
plt.grid(True)
plt.savefig("sampleHist.png")
plt.clf()
答案 0 :(得分:0)
根据评论 - 是的,这是使用不同字体的问题。 工作代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import matplotlib
import matplotlib.pyplot as plt
# Set font which contains polish characters:
matplotlib.rc('font', family='Arial')
#sampleData
data=[[ 0.13837092, 0.14755699, 0.17719047, 0.1998352 ],
[ 0.19318216, 0.15863521, 0.17136143, 0.18979461]]
n, bins, patches = plt.hist(data, facecolor='green')
plt.xlabel(u"Wartości ą, ć, ę, ł, ń, ó, ś, ź, ż.")
plt.ylabel(u"Prawdopodobieństwo ą, ć, ę, ł, ń, ó, ś, ź, ż.")
plt.title(u"Tytuł ą, ć, ę, ł, ń, ó, ś, ź, ż.")
plt.grid(True)
plt.savefig("sampleHist.png")
plt.clf()