matplotlib顯示中文

2021-10-13 05:32:15 字數 3062 閱讀 5492

【注意】

import matplotlib.pyplot as plt

import pylab as plt
【效果圖】

【方式一】fontproperties

import matplotlib.pyplot as plt

from matplotlib.font_manager import fontproperties # 步驟一

# ...

font = fontproperties(fname=r"c:\windows\fonts\simsun.ttc", size=14) # 步驟二

plt.xlabel("x軸", fontproperties=font) # 步驟三

plt.ylabel("y軸", fontproperties=font)

plt.title("標題", fontproperties=font)

plt.show()

總的來說,很醜陋。

【方式二】 fontproperties

import matplotlib.pyplot as plt

# ...

plt.xlabel("x軸")

plt.ylabel("y軸", fontproperties="simsun") # 步驟一 (宋體)

plt.title("標題", fontproperties="simhei") # (黑體)

plt.show()

靈活,另乙個優點:不汙染全域性字型設定

【方式三】rcparams

import matplotlib.pyplot as plt

plt.rcparams['font.sans-serif'] = ['simhei'] # 步驟一(替換sans-serif字型)

plt.rcparams['axes.unicode_minus'] = false # 步驟二(解決座標軸負數的負號顯示問題)

#...

plt.xlabel("x軸")

plt.ylabel("y軸")

plt.title("標題")

plt.show()

簡潔的用法。缺點:汙染全域性字型設定。(所以需要第二步驟)

【方式四】rc

import matplotlib.pyplot as plt

font =

plt.rc('font', **font) # 步驟一(設定字型的更多屬性)

plt.rc('axes', unicode_minus=false) # 步驟二(解決座標軸負數的負號顯示問題)

#...

plt.xlabel("x軸")

plt.ylabel("y軸")

plt.title("標題")

plt.show()

靈活的用法。缺點:影響全域性字型(所以需要第二步驟)

【總結】

方式二用時才設定,且不會汙染全域性字型設定,更靈活

方式三、方式四不需要對字型路徑硬編碼,而且一次設定,多次使用,更方便。

【測試**】

import numpy as np

import matplotlib.pyplot as plt

font =

plt.rc('font', **font) # pass in the font dict as kwargs

plt.rc('axes',unicode_minus=false)

x = np.linspace(0, 10, 1000)

y = np.sin(x)

z = np.cos(x**2)

plt.figure(figsize=(8,4))

plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)

plt.plot(x,z,"b--",label="$cos(x^2)$")

plt.xlabel("x軸")

plt.ylabel("y軸")

plt.title("標題")

plt.ylim(-1.2,1.2)

plt.legend()

plt.show()

執行結果:

【附錄】

一些中文字型的英文名

宋體simsun

黑體simhei

微軟雅黑

microsoft yahei

微軟正黑體

microsoft jhenghei

新宋體nsimsun

新細明體

pmingliu

細明體mingliu

標楷體dfkai-sb

仿宋fangsong

楷體kaiti

隸書lisu

幼圓youyuan

華文細黑

stxihei

華文楷體

stkaiti

華文宋體

stsong

華文中宋

stzhongsong

華文仿宋

stfangsong

方正舒體

fzshuti

方正姚體

fzyaoti

華文彩雲

stcaiyun

華文琥珀

sthupo

華文隸書

stliti

華文行楷

stxingkai

華文新魏

stxinwei

matplotlib顯示中文

大致就是matplotlib庫中沒有中文字型。1 我安裝的anaconda,這是對應的matplotlib的字型所在資料夾 怎麼找到matplotlib配置資料夾所在,下面解決方案會敘述,easy man c anaconda64 lib site packages matplotlib mpl d...

matplotlib顯示中文

import matplotlib import matplotlib.pyplot as plt 首先看有哪些字型可選 for i in sorted f.name for f in matplotlib.font manager.fontmanager.ttflist print i 從這裡面選...

matplotlib顯示中文

fontproperties 步驟一34 56 font fontproperties fname r c windows fonts simsun.ttc size 14 步驟二 7 plt.xlabel x軸 fontproperties font 步驟三 8 plt.ylabel y軸 fon...