1. 程式人生 > >matplolib支援中文顯示

matplolib支援中文顯示

通過 pip 安裝 PyplotZ

pip install pyplotz

程式碼

from pyplotz.pyplotz import PyplotZ
pltz = PyplotZ()
pltz.enable_chinese()
most_active_posts.plot(x='title',y='active_span',kind='bar')
pltz.xticks(np.arange(len(df.cn)),df.cn,rotation=360)
pltz.legend()
pltz.show()

結果如圖

在這裡插入圖片描述

引用:
https://stackoverflow.com/questions/39630928/how-to-plot-a-figure-with-chinese-characters-in-label


https://stackoverflow.com/questions/21307832/how-to-display-chinese-in-pandas-plot/47345983#47345983

或者另外一種方式,直接編寫matplotlib的原生介面

測試1

import matplotlib.pyplot as plt

# 你的字型路徑
font_path = "Songti.ttc"
font = matplotlib.font_manager.FontProperties(fname=font_path)

# 繪圖
plt.text(0.5, 0.5, s=u'測試中文顯示', fontproperties=font)
plt.show()

輸出為:
在這裡插入圖片描述

第二段程式碼

import matplotlib.pyplot as plt
import numpy as np

# 載入字型
font_path = "Songti.ttc"
font = matplotlib.font_manager.FontProperties(fname=font_path)

# 繪圖資料
t = np.arange(0.01, 5.0, 0.01)
s = np.exp(-t)
plt.plot(t, s)

# 設定繪圖
plt.xlim(5, 0)  
plt.ylabel(u'電壓 voltage (mV)', fontproperties=font)
plt.title(u'應該要增長吧 Should be growing...', fontproperties=font)
plt.grid(True)

plt.show()

輸出為
在這裡插入圖片描述