【问题标题】:How to place elements of legend next to each other?如何将图例元素并排放置?
【发布时间】:2017-06-08 15:54:01
【问题描述】:

我使用matplotlib.pyplot 绘制我的图,并且我想将一些图例项彼此相邻而不是彼此之间绘制。正如您在此处看到的,这将节省我的绘图空间:

我尝试plt.legend(ncol=2)将图例分成两列。这按预期工作,但我无法定义从哪里开始新列:

所以我想要的是将点项并排并在行项下方拆分。有什么聪明的方法可以做到这一点吗?

【问题讨论】:

  • 您可以先绘制行项目,然后绘制带有空标签的虚拟项目,然后绘制四个点项目。这样(使用ncol=4)它可以工作(尽管我不会称它为聪明的解决方案......)。参见例如stackoverflow.com/a/34218288/3581217

标签: python matplotlib plot legend


【解决方案1】:

我的第一个建议是使用两个图例。这将允许它们中的每一个被放置在合适的位置。

然后您还可以移除图例周围的边框 (frameon=False) 并将它们放在彼此的顶部。

【讨论】:

  • 非常感谢。这不正是我要找的,但安静的一个非常好的主意。
  • 也许我应该提到,没有办法像在电子表格中那样拥有不同数量的列或“共享”单元格。 (其他然后重写图例代码以允许它)。所以需要使用某种解决方法。这些是想法,是的,我相信还有其他想法。
猜你喜欢
  • 2020-02-24
  • 2016-03-15
  • 2017-07-28
  • 2020-08-21
  • 2016-09-05
  • 1970-01-01
  • 2010-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多