如何在 Matplotlib 中设置图形标题和坐标轴标签字体大小

Suraj Joshi 2023年1月30日 2020年6月9日
  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 方法设置字体大小

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn