首页 >后端开发 >Python教程 >如何为多个 Matplotlib 子图创建统一图例?

如何为多个 Matplotlib 子图创建统一图例?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-03 17:30:29767浏览

How to Create a Unified Legend for Multiple Matplotlib Subplots?

为多个 Matplotlib 子图创建统一图例

使用 Matplotlib 可视化多个子图中的数据时,可能需要显示单个子图适用于所有子图的综合图例。尽管具有不同的数据值,子图可能共享相同的线标签。

解决方案:

get_legend_handles_labels() 函数可用于从所有子图收集图例标签:

<code class="python">handles, labels = ax.get_legend_handles_labels()</code>

其中 ax 表示网格中最终子图的轴对象。

要显示单个图例,请调用:

<code class="python">fig.legend(handles, labels, loc='upper center')</code>

Pyplot 接口:

如果使用 pyplot 接口,请使用以下方式检索图例元素:

<code class="python">handles, labels = plt.gca().get_legend_handles_labels()</code>

附加说明:

  • 对于子图图例删除,请参阅“删除 matplotlib 图窗上的图例”。
  • 要跨共享 x 轴的子图合并图例,请参阅“使用 twinx() 的辅助轴:如何添加到图例”。

以上是如何为多个 Matplotlib 子图创建统一图例?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn