首页  >  文章  >  后端开发  >  如何使用 TwinX 在图例中为主轴和辅助轴添加标签?

如何使用 TwinX 在图例中为主轴和辅助轴添加标签?

Susan Sarandon
Susan Sarandon原创
2024-11-01 01:09:01910浏览

How to Add Labels for Both Primary and Secondary Axes in a Legend with TwinX?

TwinX 中的辅助轴图例显示

在使用 twinx() 具有多个 y 轴的图中,向每条线添加标签并在图例中显示它们可能会带来挑战。通常,图例中仅显示主轴标签。

请考虑以下示例,其中定义了两条主轴线和一条辅助轴线的标签:

<code class="python">fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(time, Swdown, '-', label = 'Swdown')
ax.plot(time, Rn, '-', label = 'Rn')
ax2 = ax.twinx()
ax2.plot(time, temp, '-r', label = 'temp')
ax.legend(loc=0)</code>

在本例中,图例仅显示标签“Swdown”和“Rn”。要包含辅助轴的标签“temp”,可以采用两种方法:

单独的图例

一种选择是专门为辅助轴创建第二个图例轴。这可以通过添加以下行来实现:

<code class="python">ax2.legend(loc=0)</code>

这将产生两个单独的图例,每个轴一个。

组合图例

对于单个组合图例,请使用以下步骤:

  1. 创建要在图例中显示的所有线(来自两个轴)的列表:
<code class="python">lns = lns1+lns2+lns3</code>
  1. 从每行中提取标签:
<code class="python">labs = [l.get_label() for l in lns]</code>
  1. 在主轴(ax)上使用 legend() 函数,传入组合行列表和标签列表:
<code class="python">ax.legend(lns, labs, loc=0)</code>

按照这些说明,您可以有效地在单个图例中显示所有线标签,无论它们属于主轴还是辅助轴。

以上是如何使用 TwinX 在图例中为主轴和辅助轴添加标签?的详细内容。更多信息请关注PHP中文网其他相关文章!

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