如何在 Matplotlib 中設定圖形標題和座標軸標籤字型大小

Suraj Joshi 2023年1月30日
  1. 在 Matplotlib 中調整 fontsize 引數以設定標題和軸的字型大小
  2. 修改 rcParams 字典的預設值
  3. 在 Matplotlib 中通過 set_size() 方法設定標題和軸的字型大小
如何在 Matplotlib 中設定圖形標題和座標軸標籤字型大小

Matplotlib 中標題和軸的大小和字型可以通過使用 set_size() 方法調整 fontsize 引數並更改 rcParams 字典的值來設定。

在 Matplotlib 中調整 fontsize 引數以設定標題和軸的字型大小

我們可以在標籤和標題方法中調整字型大小引數的適當值,以在 Matplotlib 中設定標籤的字型大小和圖表標題。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 100)
y = np.sin(2 * np.pi * x)

fig = plt.figure(figsize=(8, 6))
plt.plot(
    x,
    y,
)
plt.title("Plot of sinx", fontsize=25)
plt.xlabel("x", fontsize=20)
plt.ylabel("sinx", fontsize=20)

plt.show()

調整合適的 fontsize 引數值以設定 fontsize

修改 rcParams 字典的預設值

我們可以更改儲存在名為 matplotlib.rcParams 的全域性字典式變數中的預設 rc 設定,以設定 Matplotlib 中標籤的字型大小和圖表標題。

rcParams 的結構:

可以通過 plt.rcParams.keys() 函式獲取 rcParams 鍵的完整列表。

描述
axes.labelsize x 和 y 標籤的字型大小
axes.titlesize 軸標題的字型大小
figure.titlesize 圖形標題的大小(figure.suptitle()
xtick.labelsize 刻度標籤的字型大小
ytick.labelsize 刻度標籤的字型大小
legend.fontsize 圖例的字型大小(plt.legend()fig.legend()
legend.title_fontsize 圖例標題的字型大小,無設定為預設軸。
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 100)
y = np.sin(2 * np.pi * x)

parameters = {"axes.labelsize": 25, "axes.titlesize": 35}
plt.rcParams.update(parameters)

fig = plt.figure(figsize=(8, 6))
plt.plot(x, y)
plt.title("Plot of sinx")
plt.xlabel("x")
plt.ylabel("sinx")

plt.show()

調整 rcParams 以設定字型大小

在 Matplotlib 中通過 set_size() 方法設定標題和軸的字型大小

首先,我們使用 gca() 方法返回繪圖的軸。然後,我們使用 axes.title.set_size(title_size)axes.xaxis.label.set_size(x_size)axes.yaxis.label.set_size(y_size) 來更改標題、x 軸標籤和 y 軸標籤的字型大小。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 100)
y = np.sin(2 * np.pi * x)

axes = plt.gca()
plt.plot(x, y)
axes.set_title("Plot of sinx")
axes.set_xlabel("x")
axes.set_ylabel("sinx")

axes.title.set_size(20)
axes.xaxis.label.set_size(16)
axes.yaxis.label.set_size(16)

plt.show()

set_size 方法設定字型大小

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn