将标题放在轴图的底部?

时间:2019-03-19 10:56:25

标签: python python-3.x matplotlib

标题通过y垂直移动,但是如果figheight更改,则标题与x轴的距离不是固定的/不固定的:

fig, axs = plt.subplots(1,1, figsize=(15,2.5*1.5))
axs.set_title("mytitle", fontsize=14, y=-0.2, ha='center')

enter image description here

因此,增加身高时,它就会移开:

enter image description here

我也尝试过: axs.set_title("mytitle", fontsize=14, va='bottom', ha='center') 无需重新定位(停留在顶部)和fontdict形式,没有变化:

axs.set_title('my_title', fontdict={'fontsize': 20, 'verticalalignment': 'bottom', 'horizontalalignment': 'center'})

编辑

标题只是我现在使用的文本,它是模块化的:

axs.text(0.5,1,'some_title', va='bottom', ha='center', transform=axs.transAxes, color='k', fontsize=15, bbox={'facecolor':'white', 'edgecolor':'white', 'alpha':1, 'pad':10})

更多{@ {3}}

1 个答案:

答案 0 :(得分:3)

您希望标题在距x轴绝对坐标的指定距离处。因此,您首先将其放置在y=0处。然后,您可以使用一些填充以点为单位从其偏移。

ax.set_title("Hello Title", y=0, pad=-25, verticalalignment="top")

您可以在图形创建中使用constrained_layout=True来使标题在调整大小时不会被裁剪。

How to get constant distance between legend and axes even when the figure is resized?

提出了一个类似的问题,关于将图例放置在轴下方