”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用 TwinX 在图例中为主轴和辅助轴添加标签?

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

发布于2024-11-08
浏览:809

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

TwinX 中的辅助轴图例显示

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

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

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)

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

单独的图例

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

ax2.legend(loc=0)

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

组合图例

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

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

通过遵循这些说明,您可以在单个图例中有效地显示所有线标签,无论是它们属于主轴或次轴。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3