我們可以使用 xlabel() 和 ylabel() 方法來設(shè)置 x 軸和 y 軸的標(biāo)簽。
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é)果如下:
我們可以使用 title() 方法來設(shè)置標(biāo)題。
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é)果如下:
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í)行的代碼文件中:
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)的字體:打印出你的 font_manager 的 ttflist 中所有注冊的名字,找一個(gè)看中文字體例如:STFangsong(仿宋),然后添加以下代碼即可: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)
plt.rcParams['font.family']=['STFangsong']
此外我們還可以自定義字體的樣式:
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é)果如下:
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'。
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é)果如下:
更多建議: