如何调整图例中标签的位置?

How to ajust the location of the labels in legend?

我画了一张图作为附图。 图例中有 3 个标签。 如您所见,第二行的标签很长,所以我想将“BS”标签的右侧与“Farinotti et al. (2019)”标签的末尾对齐。 我应该怎么做?

基本上,您在想“这些标签形成一个 2x2 的网格,我希望底行跨越 2 列”?

老实说,我认为没有必要;在我看来,你的传说看起来不错。这不会节省那么多白色 space,但您可以通过交换“BS”和“Farinotti”的位置来节省一些。节省更多的白色 space 在这里是无关紧要的。您可以查看其他答案以获取有关如何翻转标签位置的提示:

Matplotlib legend, add items across columns instead of down

但是,如果您想继续创建跨列标签,对于更极端的情况或出于好奇,您要做的是定义您自己的图例处理程序。必读:

https://matplotlib.org/1.3.1/users/legend_guide.html

https://matplotlib.org/3.1.0/api/legend_handler_api.html

或者这是我发现的一个有点古怪的答案,它将 2 个图例合并为 1 个,这应该会给你想要的效果。

pyplot: change ncols within a legend