python画双轴坐标图的代码
时间: 2023-08-29 10:07:14 浏览: 156
以下是使用matplotlib库绘制双轴坐标图的Python代码示例:
```python
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y1 = [10, 8, 6, 4, 2]
y2 = [20, 16, 12, 8, 4]
# 创建画布和子图对象
fig, ax1 = plt.subplots()
# 设置第一个y轴及其标签
ax1.plot(x, y1, 'b-', label='y1')
ax1.set_xlabel('x')
ax1.set_ylabel('y1', color='b')
ax1.tick_params('y', colors='b')
# 创建第二个y轴对象,并设置其标签
ax2 = ax1.twinx()
ax2.plot(x, y2, 'r--', label='y2')
ax2.set_ylabel('y2', color='r')
ax2.tick_params('y', colors='r')
# 添加图例
lines, labels = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines + lines2, labels + labels2, loc='best')
# 显示图像
plt.show()
```
上述代码中,我们首先定义了两组数据y1和y2,它们分别对应于两个y轴。然后,我们创建了一个画布对象和一个子图对象ax1,并通过plot方法绘制了第一个y轴的数据,并设置了其标签、颜色和刻度。接下来,我们创建了第二个y轴对象ax2,并通过twinx方法将其绑定到ax1上,然后绘制了第二个y轴的数据,并设置了其标签、颜色和刻度。最后,我们通过legend方法添加了图例,并通过show方法显示图像。
阅读全文