首页  >  文章  >  后端开发  >  在 Matplotlib 中使用 `twinx()` 时,如何在单个图例中显示两个轴的标签?

在 Matplotlib 中使用 `twinx()` 时,如何在单个图例中显示两个轴的标签?

Linda Hamilton
Linda Hamilton原创
2024-11-01 06:16:01472浏览

How do I display labels from both axes in a single legend when using `twinx()` in Matplotlib?

向 Twinx() 图添加辅助轴图例

在使用 twinx() 创建的具有两个 y 轴的图中,添加为线条添加标签并在图例中显示它们可能具有挑战性。最初,只有主轴上的标签可能会出现在图例中。

要解决此问题,请使用以下行为辅助轴添加图例:

ax2.legend(loc=0)

这将导致两个独立的图例,每个轴一个。

但是,如果您希望所有标签都在一个图例上,请按照以下步骤操作步骤:

  1. 定义两个轴并绘制线条:

    ax = fig.add_subplot(111)
    ax2 = ax.twinx()
    
    lns1 = ax.plot(...)
    lns2 = ax.plot(...)
    lns3 = ax2.plot(...)
  2. 定义图例手柄和标签:

    lns = lns1 + lns2 + lns3
    labs = [l.get_label() for l in lns]
  3. 添加图例使用:

    ax.legend(lns, labs, loc=0)

此方法将在单个图例中显示所有轴标签。

以上是在 Matplotlib 中使用 `twinx()` 时,如何在单个图例中显示两个轴的标签?的详细内容。更多信息请关注PHP中文网其他相关文章!

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