You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib如何将图表标题放置在y轴侧边而非顶部?

Matplotlib y轴侧边标题最优实现方案
  • 场景1:仅需要给y轴添加专属说明标题
    直接用内置的set_ylabel()方法即可,无需手动调整坐标,会自动适配图表尺寸、轴范围的变化:
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(10))
# rotation控制文字旋转角度,labelpad控制标题和y轴的间距
ax.set_ylabel("Y轴侧边标题", rotation=90, labelpad=15, fontsize=12)
plt.show()
  • 场景2:需要在y轴侧边放置自定义位置的浮动标题
    你目前用的set_title()手动调整参数的方案已经是最优解,只需额外指定transform=ax.transAxes参数,将坐标参照系改为轴的归一化比例坐标(取值范围0~1,对应轴的边界),避免硬编码数据坐标导致的图表缩放、数据范围修改后标题跑位的问题:
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(10))
# x=-0.15表示在y轴左侧15%轴宽度的位置,y=0.5表示垂直居中
ax.set_title("侧边自定义标题", rotation="vertical", x=-0.15, y=0.5, transform=ax.transAxes)
plt.show()
  • 场景3:多子图场景下给整列子图加统一侧边标题
    直接用Figure级的fig.supylabel()方法即可,无需逐个子图设置:
import matplotlib.pyplot as plt

fig, axs = plt.subplots(2, 1, figsize=(6, 8))
axs[0].plot(range(10))
axs[1].plot(range(10, 20))
# x参数控制标题和画布左侧的距离
fig.supylabel("整列子图统一侧边标题", x=0.02, fontsize=14)
plt.tight_layout()
plt.show()

内容的提问来源于stack exchange,提问作者BaRud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 20:36:03