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 npfrom 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