Matplotlib 軸標(biāo)簽和標(biāo)題

2023-02-28 14:37 更新

我們可以使用 xlabel() 和 ylabel() 方法來設(shè)置 x 軸和 y 軸的標(biāo)簽。

實(shí)例

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

顯示結(jié)果如下:

標(biāo)題

我們可以使用 title() 方法來設(shè)置標(biāo)題。

實(shí)例

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("W3CSCHOOL TEST TITLE")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.show()

顯示結(jié)果如下:

202207041457192109

圖形中文顯示

Matplotlib 默認(rèn)情況不支持中文,我們可以使用以下簡單的方法來解決。

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

官網(wǎng):https://source.typekit.com/source-han-serif/cn/

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

打開鏈接后,在里面選一個(gè)就好了:

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

可以下載一個(gè) OTF 字體,比如 SourceHanSansSC-Bold.otf,將該文件文件放在當(dāng)前執(zhí)行的代碼文件中:

SourceHanSansSC-Bold.otf 文件放在當(dāng)前執(zhí)行的代碼文件中:

實(shí)例

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("W3Cschool - 測試", fontproperties=zhfont1) 
 
# fontproperties 設(shè)置中文顯示,fontsize 設(shè)置字體大小
plt.xlabel("x 軸", fontproperties=zhfont1)
plt.ylabel("y 軸", fontproperties=zhfont1)
plt.plot(x,y) 
plt.show()

執(zhí)行輸出結(jié)果如下圖:



此外,我們還可以使用系統(tǒng)的字體:
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 中所有注冊的名字,找一個(gè)看中文字體例如:STFangsong(仿宋),然后添加以下代碼即可:
plt.rcParams['font.family']=['STFangsong']

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

實(shí)例

import numpy as np
from matplotlib import pyplot as plt
import matplotlib
 
# fname 為 你下載的字體庫路徑,注意 SourceHanSansSC-Bold.otf 字體的路徑,size 參數(shù)設(shè)置字體大小
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 來設(shè)置字體樣式
plt.title("W3Cschool - 測試", fontproperties=zhfont1, fontdict = font1)
 
# fontproperties 設(shè)置中文顯示,fontsize 設(shè)置字體大小
plt.xlabel("x 軸", fontproperties=zhfont1)
plt.ylabel("y 軸", fontproperties=zhfont1)
plt.plot(x,y)
plt.show()

輸出結(jié)果如下:



標(biāo)題與標(biāo)簽的定位

title() 方法提供了 loc 參數(shù)來設(shè)置標(biāo)題顯示的位置,可以設(shè)置為: 'left', 'right', 和 'center', 默認(rèn)值為 'center'。

xlabel() 方法提供了 loc 參數(shù)來設(shè)置 x 軸顯示的位置,可以設(shè)置為: 'left', 'right', 和 'center', 默認(rèn)值為 'center'。

ylabel() 方法提供了 loc 參數(shù)來設(shè)置 y 軸顯示的位置,可以設(shè)置為: 'bottom', 'top', 和 'center', 默認(rèn)值為 'center'。

實(shí)例

import numpy as np
from matplotlib import pyplot as plt
import matplotlib
 
# fname 為 你下載的字體庫路徑,注意 SourceHanSansSC-Bold.otf 字體的路徑,size 參數(shù)設(shè)置字體大小
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 來設(shè)置字體樣式
plt.title("W3Cschool - 測試", fontproperties=zhfont1, fontdict = font1, loc="left")
 
# fontproperties 設(shè)置中文顯示,fontsize 設(shè)置字體大小
plt.xlabel("x 軸", fontproperties=zhfont1, loc="left")
plt.ylabel("y 軸", fontproperties=zhfont1, loc="top")
plt.plot(x,y)
plt.show()

輸出結(jié)果如下:



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號