设置左右两边坐标轴,并设置legend在图像下面
时间: 2024-03-25 22:40:49 浏览: 104
好的,以下是一个简单的示例,用于演示如何设置左右两边坐标轴,并设置legend在图像下面:
```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, ax = plt.subplots()
# 绘制图形
ax.plot(x, y1, label='sin(x)')
ax.set_ylabel('sin(x)')
ax.set_xlabel('x')
# 设置左边坐标轴的legend
ax.legend(loc='upper left')
# 创建第二个坐标轴对象
ax2 = ax.twinx()
ax2.plot(x, y2, color='r', label='cos(x)')
ax2.set_ylabel('cos(x)')
# 设置右边坐标轴的legend
ax2.legend(loc='upper right')
# 调整图像布局
fig.tight_layout()
# 将legend放在图像下面
plt.legend(loc='upper center', bbox_to_anchor=(0.5, -0.15), ncol=2)
# 显示图形
plt.show()
```
在这个示例中,我们首先创建了一个图形对象和一个子图对象。然后,我们使用`ax.plot()`方法绘制了sin曲线,并使用`ax.set_ylabel()`和`ax.set_xlabel()`方法设置了左边坐标轴的标签。接下来,我们使用`ax.legend()`方法设置了左边坐标轴的legend。
接着,我们使用`ax.twinx()`方法创建了一个新的坐标轴对象。我们使用`ax2.plot()`方法绘制了cos曲线,并使用`ax2.set_ylabel()`方法设置了右边坐标轴的标签。最后,我们使用`ax2.legend()`方法设置了右边坐标轴的legend。
然后,我们使用`fig.tight_layout()`方法调整了图像布局,以便在图像下方留出足够的空间。接着,我们使用`plt.legend()`方法将legend放在图像下面。
最后,我们使用`plt.show()`方法显示了图形。
阅读全文