python实现双坐标绘图且自定义刻度范围
时间: 2023-07-12 07:34:05 浏览: 153
好的,可以使用Matplotlib库来实现双坐标绘图,并且自定义刻度范围。以下是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
# 创建figure对象和两个axes对象
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
# 在第一个axes上绘制数据
ax1.plot([1, 2, 3], [4, 5, 6], 'r-', label='Data 1')
ax1.set_xlabel('X Label')
ax1.set_ylabel('Data 1', color='r')
ax1.tick_params('y', colors='r')
# 在第二个axes上绘制数据
ax2.plot([1, 2, 3], [10, 20, 30], 'b-', label='Data 2')
ax2.set_ylabel('Data 2', color='b')
ax2.tick_params('y', colors='b')
# 设置刻度范围
ax1.set_xlim([0, 4])
ax1.set_ylim([0, 7])
ax2.set_ylim([0, 35])
# 添加图例
lines1, labels1 = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines1 + lines2, labels1 + labels2, loc='best')
# 显示图形
plt.show()
```
在这个代码中,我们使用了`plt.subplots()`来创建一个包含两个axes对象的figure对象,然后在第一个axes上绘制了红色的曲线,设置了x轴和y轴的标签和刻度颜色,并且设置了y轴的刻度范围为0到7;在第二个axes上绘制了蓝色的曲线,设置了y轴的标签和刻度颜色,并且设置了y轴的刻度范围为0到35;最后通过`ax1.set_xlim()`来设置x轴的刻度范围,并且通过`ax1.legend()`来添加图例。运行代码后,会显示一个包含双坐标的图形窗口。
阅读全文