在 matplotlib 中,我可以使用以下命令轻松地将标题对齐到左侧:
ax.set_title(f"Title", ha='left', x=-0)
Run Code Online (Sandbox Code Playgroud)
我得到:
但有时我想将标题与左标签开始的位置对齐,以获得如下内容:
我通常通过反复试验来做到这一点。最后我得到一个任意的 x 偏移量,例如:
ax.set_title(f"Title", ha='left', x=-.12)
Run Code Online (Sandbox Code Playgroud)
我如何自动计算这个-.12偏移量?
使用转换(请参阅转换教程),您可以找到标签边界框左侧的位置并将其转换为轴坐标以传递给set_title():
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3542 次 |
| 最近记录: |