Matplotlib:如何将标题与y标签精确对齐?
在matplotlib中,我可以使用以下命令轻松地将标题向左对齐:Matplotlib:如何将标题与y标签精确对齐?,matplotlib,Matplotlib,在matplotlib中,我可以使用以下命令轻松地将标题向左对齐: ax.set_title(f"Title", ha='left', x=-0) 我得到: 但有时我想将标题与左标签的起始位置对齐,以获得如下结果: 我通常通过反复试验来做这件事。最后,我得到一个任意的x偏移量,如: ax.set_title(f"Title", ha='left', x=-.12) 如何自动计算此.12偏移量?使用变换(请参见),您可以找到标签边界框左侧的位置,并将
ax.set_title(f"Title", ha='left', x=-0)
我得到:
但有时我想将标题与左标签的起始位置对齐,以获得如下结果:
我通常通过反复试验来做这件事。最后,我得到一个任意的x偏移量,如:
ax.set_title(f"Title", ha='left', x=-.12)
如何自动计算此.12
偏移量?使用变换(请参见),您可以找到标签边界框左侧的位置,并将其变换为轴坐标,以传递到设置标题()
:
fig, ax = plt.subplots()
fig.canvas.draw()
bbox = ax.get_yticklabels()[-1].get_window_extent()
x,_ = ax.transAxes.inverted().transform([bbox.x0, bbox.y0])
ax.set_title('A title aligned with the y-axis labels', ha='left', x=x)