多线条共用x轴,python代码
时间: 2023-04-11 21:01:38 浏览: 213
你好,我可以回答这个问题。在Python中,可以使用matplotlib库中的subplot函数来实现多线条共用x轴的效果。具体实现方法可以参考以下代码:
```
import matplotlib.pyplot as plt
# 创建一个figure对象
fig = plt.figure()
# 创建两个子图,共用x轴
ax1 = fig.add_subplot(2, 1, 1)
ax2 = fig.add_subplot(2, 1, 2, sharex=ax1)
# 绘制两条线条
ax1.plot([1, 2, 3], [4, 5, 6])
ax2.plot([1, 2, 3], [2, 4, 6])
# 显示图像
plt.show()
```
这段代码中,我们首先创建了一个figure对象,然后使用add_subplot函数创建了两个子图,其中第二个子图使用了sharex参数来共用第一个子图的x轴。最后,我们在两个子图中分别绘制了一条线条,并使用plt.show()函数显示图像。
相关问题
matplotlib多线条共用x轴
可以使用plt.subplots()函数创建多个子图,每个子图都共用同一个x轴,然后在每个子图中分别绘制不同的线条。具体代码如下:
```python
import matplotlib.pyplot as plt
# 创建两个子图,共用同一个x轴
fig, ax = plt.subplots(2, 1, sharex=True)
# 在第一个子图中绘制线条1
ax[0].plot([1, 2, 3], [4, 5, 6], label='Line 1')
# 在第二个子图中绘制线条2
ax[1].plot([1, 2, 3], [2, 4, 6], label='Line 2')
# 添加图例和标签
ax[0].legend()
ax[1].legend()
ax[1].set_xlabel('X Label')
ax[0].set_ylabel('Y Label 1')
ax[1].set_ylabel('Y Label 2')
# 显示图形
plt.show()
```
这段代码会创建两个子图,分别绘制线条1和线条2,两个子图共用同一个x轴。最后添加图例和标签,并显示图形。
matplotlib 子图共用x轴
要让 matplotlib 子图共用 x 轴,可以使用 `sharex` 参数。具体的实现步骤如下:
1. 导入 matplotlib 库
```python
import matplotlib.pyplot as plt
```
2. 创建子图
```python
fig, axs = plt.subplots(nrows=2, ncols=1, sharex=True)
```
其中,`nrows` 和 `ncols` 分别表示行数和列数,`sharex=True` 表示这些子图都共用同一个 x 轴。
3. 绘制数据
```python
axs[0].plot(x, y1)
axs[1].plot(x, y2)
```
其中,`axs[0]` 和 `axs[1]` 分别表示第一个子图和第二个子图。
4. 显示图像
```python
plt.show()
```
完整的代码示例:
```python
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]
fig, axs = plt.subplots(nrows=2, ncols=1, sharex=True)
axs[0].plot(x, y1)
axs[1].plot(x, y2)
plt.show()
```
阅读全文