可能與本文主題無關,不過我仍是想指出來:使用matplotlib庫時,下面兩種導入方式是等價的(我指的是等效,固然這個說法能夠商榷:)windows
import matplotlib.pyplot as plt
import pylab as plt
1 import matplotlib.pyplot as plt 2 from matplotlib.font_manager import FontProperties # 步驟一 3 4 # ... 5 6 font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14) # 步驟二 7 plt.xlabel("x軸", fontproperties=font) # 步驟三 8 plt.ylabel("y軸", fontproperties=font) 9 plt.title("標題", fontproperties=font) 10 plt.show()
總的來講,很醜陋。ide
1 import matplotlib.pyplot as plt 2 3 # ... 4 5 plt.xlabel("x軸") 6 plt.ylabel("y軸", fontproperties="SimSun") # 步驟一 (宋體) 7 plt.title("標題", fontproperties="SimHei") # (黑體) 8 plt.show()
靈活,另外一個優勢:不污染全局字體設置測試
1 import matplotlib.pyplot as plt 2 3 plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字體) 4 plt.rcParams['axes.unicode_minus'] = False # 步驟二(解決座標軸負數的負號顯示問題) 5 #... 6 7 plt.xlabel("x軸") 8 plt.ylabel("y軸") 9 plt.title("標題") 10 plt.show()
簡潔的用法。缺點:污染全局字體設置。(因此須要第二步驟)字體
1 import matplotlib.pyplot as plt 2 3 font = {'family' : 'SimHei', 4 'weight' : 'bold', 5 'size' : '16'} 6 plt.rc('font', **font) # 步驟一(設置字體的更多屬性) 7 plt.rc('axes', unicode_minus=False) # 步驟二(解決座標軸負數的負號顯示問題) 8 9 #... 10 11 plt.xlabel("x軸") 12 plt.ylabel("y軸") 13 plt.title("標題")
14 plt.show()
靈活的用法。缺點:影響全局字體(因此須要第二步驟)編碼
方式二用時才設置,且不會污染全局字體設置,更靈活spa
方式3、方式四不須要對字體路徑硬編碼,並且一次設置,屢次使用,更方便。code
1 import numpy as np 2 import matplotlib.pyplot as plt 3 4 font = {'family' : 'DFKai-SB', 5 'weight' : 'bold', 6 'size' : '16'} 7 plt.rc('font', **font) # pass in the font dict as kwargs 8 plt.rc('axes',unicode_minus=False) 9 10 11 x = np.linspace(0, 10, 1000) 12 y = np.sin(x) 13 z = np.cos(x**2) 14 15 plt.figure(figsize=(8,4)) 16 plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2) 17 plt.plot(x,z,"b--",label="$cos(x^2)$") 18 plt.xlabel("x軸") 19 plt.ylabel("y軸") 20 plt.title("標題") 21 plt.ylim(-1.2,1.2) 22 plt.legend() 23 plt.show()
一些中文字體的英文名blog
宋體 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
華文新魏:STXinweiunicode