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("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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM