1. 程式人生 > 其它 >兩行程式碼搞定matplotlib中文亂碼問題

兩行程式碼搞定matplotlib中文亂碼問題

技術標籤:Python

兩行程式碼搞定matplotlib中文亂碼問題

Python三劍客處理資料非常高效,但是matplotlib.pyplot.show()對漢字顯示很不友好,會變成亂碼或者長方塊,總之不是漢字。

貓哥發現一個辦法,兩行Python程式碼搞定,其中一行還是import。

放碼過來

from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定預設字型

就這麼簡單!

來段完整的看看

import numpy as np
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定預設字型
# mpl.rcParams['axes.unicode_minus'] = False # 解決儲存影象是負號'-'顯示為方塊的問題

objects = ('Python', 'C++', 'JAVA', 'Perl', 'Scala', 'Lisp')
y_pos = np.arange(len(objects))
performance = [10, 8, 6, 4, 2, 1]

plt.bar(y_pos, performance, align='center', alpha=0.5)
plt.xticks(y_pos, objects)
plt.ylabel(u'使用者量')
plt.title('分佈情況')

plt.show()

對於漢字字串,加不加u''都可以了。

還有更多字型可以選擇:

黑體SimHei
微軟雅黑Microsoft YaHei
微軟正黑體Microsoft JhengHei
新宋體NSimSun
新細明體PMingLiU
細明體MingLiU
標楷體DFKai-SB
仿宋FangSong
楷體KaiTi
仿宋_GB2312FangSong_GB2312
楷體_GB2312KaiTi_GB2312

小夥伴們,學會了嗎?