在matpoltlib中绘制横坐标不同的图
时间: 2024-05-20 17:17:02 浏览: 67
在matplotlib中绘制横坐标不同的图可以使用两个方法:subplot和twinx。
1. subplot方法
subplot方法可以在一个图中绘制多个子图,每个子图的横坐标可以不同。
示例代码:
```python
import matplotlib.pyplot as plt
# 创建一个2x1的subplot布局
fig, (ax1, ax2) = plt.subplots(2, 1)
# 绘制第一个子图
x1 = [1, 2, 3]
y1 = [4, 5, 6]
ax1.plot(x1, y1)
ax1.set_xlabel('x1')
ax1.set_ylabel('y1')
# 绘制第二个子图
x2 = [2.5, 3.5, 4.5]
y2 = [7, 8, 9]
ax2.plot(x2, y2)
ax2.set_xlabel('x2')
ax2.set_ylabel('y2')
plt.show()
```
运行结果:
![subplot方法绘制横坐标不同的图](https://cdn.jsdelivr.net/gh/1078040421/CDN/blog/images/subplot方法绘制横坐标不同的图.png)
2. twinx方法
twinx方法可以在一个图中绘制两个y轴,每个y轴对应的横坐标可以不同。
示例代码:
```python
import matplotlib.pyplot as plt
# 创建一个figure对象和两个Axes对象
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
# 绘制第一个曲线
x1 = [1, 2, 3]
y1 = [4, 5, 6]
ax1.plot(x1, y1, 'r')
ax1.set_xlabel('x1')
ax1.set_ylabel('y1')
# 绘制第二个曲线
x2 = [2.5, 3.5, 4.5]
y2 = [7, 8, 9]
ax2.plot(x2, y2, 'g')
ax2.set_xlabel('x2')
ax2.set_ylabel('y2')
plt.show()
```
运行结果:
![twinx方法绘制横坐标不同的图](https://cdn.jsdelivr.net/gh/1078040421/CDN/blog/images/twinx方法绘制横坐标不同的图.png)
阅读全文