plt 设置公用一个x轴的两个y轴的坐标
时间: 2024-12-06 15:24:24 浏览: 44
在Matplotlib库中,如果你想要在一个图表上设置两个互相垂直的y轴,并共享同一个x轴,可以使用`twinx()`函数创建第二个y轴,然后通过`spines`属性来管理它们的显示。下面是一个简单的示例:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax1 = plt.subplots() # 主图
ax1.plot(x, y1, 'r', label='sin(x)')
ax1.set_ylabel('First Y-axis', color='tab:red') # 第一个y轴标签
# 在现有图上添加第二个y轴
ax2 = ax1.twinx()
ax2.plot(x, y2, 'b', label='cos(x)')
ax2.set_ylabel('Second Y-axis', color='tab:blue') # 第二个y轴标签
ax2.tick_params(axis='y', colors='tab:blue') # 设置第二轴颜色
# 给两个轴添加网格线和标题
ax1.grid(True)
ax1.title.set_text('Plot with Dual Y Axes')
# 显示legend
ax1.legend()
# 显示图形
plt.show()
```
在这个例子中,`ax1`和`ax2`分别代表主轴和附加轴,它们共享了相同的x轴。你可以调整每个轴的标签、线条颜色等属性。
阅读全文