备注
前往结尾 以下载完整示例代码。
标题定位#
Matplotlib 可以显示居中的图表标题,与一组 Axes 的左侧对齐,以及与一组 Axes 的右侧对齐。
import matplotlib.pyplot as plt
plt.plot(range(10))
plt.title('Center Title')
plt.title('Left Title', loc='left')
plt.title('Right Title', loc='right')
plt.show()

垂直位置会自动选择,以避免与最上方的 x 轴上的装饰(即标签和刻度)重叠:
fig, axs = plt.subplots(1, 2, layout='constrained')
ax = axs[0]
ax.plot(range(10))
ax.xaxis.set_label_position('top')
ax.set_xlabel('X-label')
ax.set_title('Center Title')
ax = axs[1]
ax.plot(range(10))
ax.xaxis.set_label_position('top')
ax.xaxis.tick_top()
ax.set_xlabel('X-label')
ax.set_title('Center Title')
plt.show()

可以通过手动指定标题的 y 关键字参数或设置 rcParams["axes.titley"] (default: None) 在 rcParams 中来关闭自动定位。
fig, axs = plt.subplots(1, 2, layout='constrained')
ax = axs[0]
ax.plot(range(10))
ax.xaxis.set_label_position('top')
ax.set_xlabel('X-label')
ax.set_title('Manual y', y=1.0, pad=-14)
plt.rcParams['axes.titley'] = 1.0 # y is in axes-relative coordinates.
plt.rcParams['axes.titlepad'] = -14 # pad is in points...
ax = axs[1]
ax.plot(range(10))
ax.set_xlabel('X-label')
ax.set_title('rcParam y')
plt.show()