我有一个带有外部水平图例(图例)和超级标题(suptitle
)的子图。我想将它们垂直对齐在文本底部。我用fig.suptitle('title', ha='left', y=placement)
设置标题的垂直位置。当我尝试使用fig.legend(handles, labels, loc=(0.65, placement))
设置图例的位置时,它未对齐。我怀疑这是对象对齐的问题,并且图例具有边框...因此我将图例的填充更改为0,但仍然需要对其进行调整。
如何明确设置字幕和图例的锚点或节点?
编辑
下面附有图片。我相信我已经通过设置suptitle
参数va='bottom
和legend
参数borderpad=0.0, borderaxespad=0
解决了这个问题。现在,如果我有边界,该怎么办?我还想知道如何显式设置图例的锚点。
解决方案
在图例中设置bbox_to_anchor
参数时,它基本上改变了图例的剪切位置。如果bbox
没有高度或宽度(2元组),则为点。然后,loc
参数是图例框架上锚定到bbox
的点。启用loc
时,bbox
由MPL决定。
比方说,我想要标题在左侧,图例在右侧(无框),并在底部水平对齐。 Mmy解决方案如下:
fig.suptitle('title', ha='left', va='bottom', y=placement, x=0.02)
fig.legend(handles, labels,
loc='lower right',
bbox_to_anchor=(0.98, placement),
borderpad=0.0,
borderaxespad=0,
ncol=3,
)