兩行程式碼搞定matplotlib中文亂碼問題
阿新 • • 發佈:2021-01-15
技術標籤: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 |
仿宋_GB2312 | FangSong_GB2312 |
楷體_GB2312 | KaiTi_GB2312 |
小夥伴們,學會了嗎?