怎么在matplotlib绘图时图像右侧增加一条y轴
时间: 2024-10-10 14:17:35 浏览: 35
在Matplotlib中,为了在现有图表的右侧添加一个y轴(通常用于显示副标题或者额外的数据),你可以使用`twinx()`函数创建一个新的坐标轴,然后用`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() # 主图 y 轴
ax1.plot(x, y1, 'r', label='sin')
ax1.set_ylabel('main y-axis', color='r') # 设置主轴标签
# 在右侧添加副轴
ax2 = ax1.twinx() # 使用twinx创建新轴
ax2.plot(x, y2, 'b', label='cos')
ax2.set_ylabel('secondary y-axis', color='b') # 设置副轴标签
ax2.tick_params(axis='y', labelcolor='b') # 更新副轴刻度的颜色
# 添加网格和图例
ax1.grid(True, linestyle='-.')
ax1.legend()
# 显示图形
plt.show()
```
在这个例子中,`twinx()`创建了一个新的坐标系,并将两条线分别绘制在两个不同的y轴上。记得调整`set_ylabel`、`tick_params`等函数以便适应你的需求。
阅读全文