Python中绘制双坐标
时间: 2023-11-05 18:09:08 浏览: 89
在Python中绘制双坐标轴,可以使用Matplotlib库中的twinx()函数来实现。该函数可以在同一图形中绘制两个不同的y轴,分别左右显示。
下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
# 创建一个Figure对象和一个Axes对象
fig, ax1 = plt.subplots()
# 在ax1上绘制曲线
x = [1, 2, 3, 4, 5]
y1 = [1, 3, 5, 7, 9]
ax1.plot(x, y1, 'r-', label='y1')
# 设置ax1的y轴标签和标题
ax1.set_ylabel('y1')
ax1.set_title('Double Y-axis')
# 创建一个新的Axes对象,并共享x轴
ax2 = ax1.twinx()
# 在ax2上绘制曲线
y2 = [2, 4, 6, 8, 10]
ax2.plot(x, y2, 'b-', label='y2')
# 设置ax2的y轴标签
ax2.set_ylabel('y2')
# 显示图例
ax1.legend(loc=2)
ax2.legend(loc=1)
plt.show()
```
运行结果如下图所示:
![双坐标轴](双坐标轴.png)
在这个例子中,我们首先创建一个Figure对象和一个Axes对象,然后在Axes对象上绘制第一个曲线。接着,我们创建一个新的Axes对象,并通过twinx()函数将它与第一个Axes对象共享x轴。在第二个Axes对象上绘制第二个曲线,并设置y轴标签。最后,我们通过legend()函数在图形中显示图例。
需要注意的是,两个y轴的刻度范围是不同的,因此需要分别设置。可以使用set_ylim()函数来设置y轴的刻度范围。
阅读全文