首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python中2 y轴的图例问题

在Python中,绘制具有两个y轴的图表时,可能会遇到图例问题。图例是用于标识不同数据系列的标签,以便读者可以理解图表中各个元素的含义。

解决这个问题的方法是使用matplotlib库中的twiny()函数来创建第二个y轴,并使用legend()函数来添加图例。下面是一个完整的示例代码:

代码语言:python
复制
import matplotlib.pyplot as plt

# 创建图表对象
fig, ax1 = plt.subplots()

# 绘制第一个y轴的数据
x = [1, 2, 3, 4, 5]
y1 = [10, 20, 15, 25, 30]
ax1.plot(x, y1, 'r-', label='Data 1')
ax1.set_xlabel('X')
ax1.set_ylabel('Y1')

# 创建第二个y轴
ax2 = ax1.twinx()

# 绘制第二个y轴的数据
y2 = [50, 40, 30, 20, 10]
ax2.plot(x, y2, 'b-', label='Data 2')
ax2.set_ylabel('Y2')

# 添加图例
lines, labels = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines + lines2, labels + labels2, loc='upper right')

# 显示图表
plt.show()

在这个示例中,我们首先创建了一个图表对象fig和一个主要的y轴对象ax1。然后,我们使用plot()函数绘制了第一个y轴的数据,并使用set_xlabel()set_ylabel()函数设置x轴和第一个y轴的标签。

接下来,我们使用twiny()函数创建了第二个y轴对象ax2,并使用plot()函数绘制了第二个y轴的数据,并使用set_ylabel()函数设置第二个y轴的标签。

最后,我们使用get_legend_handles_labels()函数获取两个y轴的图例对象,并使用legend()函数将它们合并并添加到图表中。

这样,我们就解决了在Python中绘制具有两个y轴的图表时的图例问题。

推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)和腾讯云云数据库MySQL(https://cloud.tencent.com/product/cdb_mysql)。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券