python设置两个子图共用一个横色标
时间: 2024-09-12 12:12:15 浏览: 38
在Python中,特别是在使用matplotlib库创建图形时,如果你想让两个子图共享同一个x轴,你可以使用`sharex()`函数结合`subplots()`或`twinx()`方法来实现。这里是一个简单的例子:
```python
import matplotlib.pyplot as plt
# 创建主图并添加第一个子图
fig, ax1 = plt.subplots()
# 绘制第一条线
ax1.plot(x_data, y1_data, label='Line 1')
# 创建第二个子图,并使其沿x轴共享数据
ax2 = ax1.twinx()
# 绘制第二条线,颜色可能需要指定,比如 'tab:red'
ax2.plot(x_data, y2_data, color='tab:red', label='Line 2')
# 设置共同的x轴标签
ax1.set_xlabel('X-axis Label')
# 共享x轴的范围和刻度
ax1.set_xlim([min(x_data), max(x_data)])
ax2.set_xlim(ax1.get_xlim())
# 显示图例和调整子图间距
ax1.legend(loc='upper left')
ax2.legend(loc='lower right')
plt.tight_layout() # 避免子图之间有额外的空间
# 显示图像
plt.show()
```
在这个例子中,`twinx()`函数用于在同一坐标系中添加第二个y轴,使得两个子图共享x轴。如果你想要两个独立的子图,但共享x轴,可以先创建一个,然后通过`add_subplot`再添加一个。