matplotlib双y轴折线图绘制
时间: 2024-09-06 07:07:52 浏览: 60
在Python的matplotlib库中,绘制双y轴折线图是通过使用`plt.twinx()`函数来实现的,这个函数会在当前的Axes对象上创建一个新的y轴,共享x轴。下面是一个简单的例子来说明如何创建一个带有两个y轴的折线图:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.arange(0, 10, 0.2)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建第一个y轴上的图表,设置线型、颜色等
ax1 = plt.subplot(111)
ax1.plot(x, y1, 'b-') # 蓝色线,实线
ax1.set_xlabel('X axis')
ax1.set_ylabel('Y1 axis', color='b')
ax1.tick_params('y', colors='b')
# 创建第二个y轴,并与第一个x轴共享
ax2 = ax1.twinx()
ax2.plot(x, y2, 'r.') # 红色点线
ax2.set_ylabel('Y2 axis', color='r')
ax2.tick_params('y', colors='r')
# 显示图表
plt.show()
```
在这个例子中,我们首先创建了一组数据x,以及两个相关的y值序列y1和y2,分别对应正弦和余弦函数。接着,我们使用`plt.subplot()`创建了一个图表,使用`ax1.plot()`绘制了第一个y轴上的数据,并设置了相应的标签和颜色。然后,我们通过调用`ax1.twinx()`创建了一个共享x轴的新y轴,并使用`ax2.plot()`在新的y轴上绘制第二个数据序列。最后,通过`plt.show()`显示了最终的图表。
阅读全文