在matplotlib中,可以使用twinx()函数创建一个共享x轴但具有不同y轴的双轴图。如果需要在双轴图中控制绘图元素的层次顺序,可以使用zorder参数。
具体操作步骤如下:
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
# 绘制第一个数据集
ax1.plot(x1, y1, color='red', label='Dataset 1', zorder=2)
# 绘制第二个数据集
ax2.plot(x2, y2, color='blue', label='Dataset 2', zorder=1)
# 添加图例
ax1.legend(loc='upper left')
ax2.legend(loc='upper right')
# 添加标签
ax1.set_xlabel('X Label')
ax1.set_ylabel('Y1 Label')
ax2.set_ylabel('Y2 Label')
完整的代码示例:
import matplotlib.pyplot as plt
# 数据集1
x1 = [1, 2, 3, 4, 5]
y1 = [10, 8, 6, 4, 2]
# 数据集2
x2 = [1, 2, 3, 4, 5]
y2 = [1, 4, 9, 16, 25]
# 创建Figure和Axes对象
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
# 绘制第一个数据集
ax1.plot(x1, y1, color='red', label='Dataset 1', zorder=2)
# 绘制第二个数据集
ax2.plot(x2, y2, color='blue', label='Dataset 2', zorder=1)
# 添加图例
ax1.legend(loc='upper left')
ax2.legend(loc='upper right')
# 添加标签
ax1.set_xlabel('X Label')
ax1.set_ylabel('Y1 Label')
ax2.set_ylabel('Y2 Label')
plt.show()
这样就可以在matplotlib中使用twinx()函数创建双轴图,并使用zorder参数控制绘图元素的层次顺序。对于更多关于matplotlib的信息,可以参考腾讯云的相关产品和文档:
领取专属 10元无门槛券
手把手带您无忧上云