后续对每个子图设置legend 应该用plt.legend还是ax1.legend
时间: 2023-07-22 15:47:26 浏览: 67
如果使用plt.plot绘制图形,则使用plt.legend函数来设置图例;如果使用ax1.plot绘制图形,则使用ax1.legend函数来设置图例。
plt.legend函数是用来为全局figure设置图例的,它会在当前的figure上查找所有的已命名图形对象,并自动为它们创建图例。而ax1.legend函数则是用来为指定的子图对象设置图例的,它只会在指定的子图上查找已命名的图形对象,并创建图例。
如果你想为整个图形设置一个图例,可以使用plt.legend函数,如果你想为每个子图设置不同的图例,可以使用ax1.legend函数。但是需要注意的是,如果在使用ax1.plot绘制图形时已经为每个子图对象设置了名称,那么在使用plt.legend函数时也会自动为每个子图对象创建相应的图例。
相关问题
ax.legend()和plt.legend()有什么区别
在使用Matplotlib绘制图形时,有两种方式添加图例:
1. `ax.legend()` : 通过给Axes对象添加图例,可以在同一图中添加多个子图。
2. `plt.legend()` : 通过给整个图添加图例,适用于只有一个子图的情况。
具体来说,`ax.legend()`是在某个Axes对象上添加图例,而`plt.legend()`是在当前活动的图上添加图例。
例如,如果我们有两个子图,我们可以使用`ax1.legend()`和`ax2.legend()`来分别为它们添加图例,但如果我们只有一个子图,我们只需要使用`plt.legend()`即可。
fig, ax1 = plt.subplots(
fig, ax1 = plt.subplots()是用于创建一个包含一个子图的Figure对象和一个Axes对象的函数[^1]。其中,Figure对象代表整个图形窗口,而Axes对象则代表一个具体的绘图区域。
下面是一个示例,演示了如何使用fig, ax1 = plt.subplots()创建一个包含两个子图的图形窗口,并在每个子图中绘制不同的数据[^2]:
```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, 'b', lw=1.5, label='1st')
ax1.plot(x, y1, 'ro')
ax1.grid(True)
ax1.legend(loc=0)
ax1.set_xlabel('index')
ax1.set_ylabel('value 1st')
ax1.set_title('A Simplot plot')
# 创建第二个子图
ax2 = ax1.twinx()
# 在第二个子图中绘制数据
ax2.plot(x, y2, 'g', lw=1.5, label='2nd')
ax2.plot(x, y2, 'ro')
ax2.legend(loc=0)
ax2.set_ylabel('value 2nd')
# 显示图形
plt.show()
```
这段代码会创建一个包含两个子图的图形窗口,其中第一个子图绘制了y1的数据,第二个子图绘制了y2的数据。每个子图都有自己的y轴,但共享x轴。在绘制完数据后,使用plt.show()函数显示图形。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)