我正在绘制相同类型的信息,但针对不同的国家,使用 Matplotlib 绘制多个子图。也就是说,我在 3x3 网格上有九个图,所有的线都相同(当然,每条线的值不同)。
然而,我还没有想出如何在图中只放置一次图例(因为所有九个子图都有相同的线条)。
我怎么做?
原文由 pocketfullofcheese 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在绘制相同类型的信息,但针对不同的国家,使用 Matplotlib 绘制多个子图。也就是说,我在 3x3 网格上有九个图,所有的线都相同(当然,每条线的值不同)。
然而,我还没有想出如何在图中只放置一次图例(因为所有九个子图都有相同的线条)。
我怎么做?
原文由 pocketfullofcheese 发布,翻译遵循 CC BY-SA 4.0 许可协议
figlegend
可能是你要找的: _matplotlib.pyplot.figlegend_
_Figure legend demo_ 中有一个示例。
另一个例子:
plt.figlegend(lines, labels, loc = 'lower center', ncol=5, labelspacing=0.)
要么:
fig.legend(lines, labels, loc = (0.5, 0), ncol=5)
原文由 user707650 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答860 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
还有一个很好的函数
get_legend_handles_labels()
你可以在最后一个轴上调用(如果你迭代它们)它会从label=
参数中收集你需要的一切: