1. 程式人生 > 其它 >Python matplotlib 畫圖入門 04 軸標籤和標題

Python matplotlib 畫圖入門 04 軸標籤和標題

Matplotlib 軸標籤和標題

我們可以使用 xlabel()ylabel() 方法來設定 x 軸和 y 軸的標籤。

例項

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y)

plt.xlabel("x - label")
plt.ylabel("y - label")

plt.show()

 


顯示結果如下:

標題

我們可以使用 title() 方法來設定標題。

例項

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y)

plt.title("RUNOOB TEST TITLE")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.show()

 


顯示結果如下:

圖形中文顯示

Matplotlib 預設情況不支援中文,我們可以使用以下簡單的方法來解決。

這裡我們使用思源黑體,思源黑體是 Adobe 與 Google 推出的一款開源字型。

官網:https://source.typekit.com/source-han-serif/cn/

GitHub 地址:https://github.com/adobe-fonts/source-han-sans/tree/release/OTF/SimplifiedChinese

開啟連結後,在裡面選一個就好了:

你也可以在網盤下載: https://pan.baidu.com/s/10-w1JbXZSnx3Tm6uGpPGOw,提取碼:yxqu。

可以下載個 OTF 字型,比如 SourceHanSansSC-Bold.otf,將該檔案檔案放在當前執行的程式碼檔案中:

SourceHanSansSC-Bold.otf 檔案放在當前執行的程式碼檔案中:

例項

import numpy as np 
from matplotlib import pyplot as plt 
import matplotlib
 
# fname 為 你下載的字型庫路徑,注意 SourceHanSansSC-Bold.otf 字型的路徑
zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf") 
 
x = np.arange(1,11) 
y =  2  * x +  5 
plt.title("教程 - 測試", fontproperties=zhfont1) 
 
# fontproperties 設定中文顯示,fontsize 設定字型大小
plt.xlabel("x 軸", fontproperties=zhfont1)
plt.ylabel("y 軸", fontproperties=zhfont1)
plt.plot(x,y) 
plt.show()

 


執行輸出結果如下圖:

此外,我們還可以使用系統的字型:

from matplotlib import pyplot as plt
import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])

for i in a:
    print(i)

 

 

打印出你的 font_manager 的 ttflist 中所有註冊的名字,找一個看中文字型例如:STFangsong(仿宋),然後新增以下程式碼即可:

plt.rcParams['font.family']=['STFangsong']

 

 

此外我們還可以自定義字型的樣式:

例項

import numpy as np
from matplotlib import pyplot as plt
import matplotlib
 
# fname 為 你下載的字型庫路徑,注意 SourceHanSansSC-Bold.otf 字型的路徑,size 引數設定字型大小
zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf", size=18)
font1 = {'color':'blue','size':20}
font2 = {'color':'darkred','size':15}
x = np.arange(1,11)
y =  2  * x +  5

# fontdict 可以使用 css 來設定字型樣式
plt.title("菜鳥教程 - 測試", fontproperties=zhfont1, fontdict = font1)
 
# fontproperties 設定中文顯示,fontsize 設定字型大小
plt.xlabel("x 軸", fontproperties=zhfont1)
plt.ylabel("y 軸", fontproperties=zhfont1)
plt.plot(x,y)
plt.show()

輸出結果如下:

標題與標籤的定位

title() 方法提供了 loc 引數來設定標題顯示的位置,可以設定為: 'left', 'right', 和 'center', 預設值為 'center'

xlabel() 方法提供了 loc 引數來設定 x 軸顯示的位置,可以設定為: 'left', 'right', 和 'center', 預設值為 'center'

ylabel() 方法提供了 loc 引數來設定 y 軸顯示的位置,可以設定為: 'bottom', 'top', 和 'center', 預設值為 'center'

例項

import numpy as np
from matplotlib import pyplot as plt
import matplotlib
 
# fname 為 你下載的字型庫路徑,注意 SourceHanSansSC-Bold.otf 字型的路徑,size 引數設定字型大小
zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf", size=18)
font1 = {'color':'blue','size':20}
font2 = {'color':'darkred','size':15}
x = np.arange(1,11)
y =  2  * x +  5

# fontdict 可以使用 css 來設定字型樣式
plt.title("菜鳥教程 - 測試", fontproperties=zhfont1, fontdict = font1, loc="left")
 
# fontproperties 設定中文顯示,fontsize 設定字型大小
plt.xlabel("x 軸", fontproperties=zhfont1, loc="left")
plt.ylabel("y 軸", fontproperties=zhfont1, loc="top")
plt.plot(x,y)
plt.show()

 


輸出結果如下:

 

REF

https://www.runoob.com/matplotlib/matplotlib-label.html