matplotlib中fig添加图例
时间: 2023-07-12 15:22:24 浏览: 105
要在matplotlib中添加图例,可以使用`plt.legend()`函数。首先,在`plot()`函数中给每个曲线添加一个`label`属性:
```python
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y1 = [1, 4, 9, 16]
y2 = [2, 4, 6, 8]
plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')
```
然后,在绘制完成后,调用`plt.legend()`函数即可添加图例:
```python
plt.legend()
plt.show()
```
此时,将在图像中自动添加一个图例。如果需要指定图例的位置,可以在`legend()`函数中传递`loc`参数。例如,将图例放置在右上角:
```python
plt.legend(loc='upper right')
plt.show()
```
更多有关`plt.legend()`函数的用法,请参考matplotlib官方文档。
相关问题
matplotlib给子图ax添加图例
在使用matplotlib给子图(ax)添加图例时,可以通过以下几个步骤完成:
1. 首先,确保在创建子图(ax)对象时,为每个子图设置一个标签(label)。这可以通过在绘制子图时传递一个label参数来完成。
2. 然后,在每个子图的plot函数中调用legend方法,将创建一个图例。可以通过plt.legend()函数调用,将默认的图例放置在最佳位置上,或者通过传递一些参数来进一步控制图例的位置和样式。
3. 如果希望在图例中显示特定的标签和样式,可以使用handles参数来指定要在图例中显示的对象以及相应的标签。
下面是一个简单的代码示例:
```
import matplotlib.pyplot as plt
# 创建一个包含两个子图的画布
fig, (ax1, ax2) = plt.subplots(2)
# 在第一个子图中绘制数据并设置标签
ax1.plot([1, 2, 3], [4, 5, 6], label='Line 1')
# 在第二个子图中绘制数据并设置标签
ax2.scatter([1, 2, 3], [4, 5, 6], label='Points')
# 在每个子图中添加图例
ax1.legend()
ax2.legend()
# 显示图形
plt.show()
```
在这个例子中,我们创建了一个包含两个子图的画布。在每个子图中,我们都给绘制的数据设置了一个标签。然后,通过调用legend方法在每个子图上创建图例。最后,我们使用plt.show()函数显示图形,并看到子图中的数据和相应的图例。
matplotlib绘图气泡图图例
Matplotlib是一个广泛使用的Python数据可视化库,其中创建气泡图(Bubble Plot)可以帮助我们展示三个或四个变量的关系。在气泡图中,每个点代表一个观测值,点的位置由两个数值变量决定,而点的大小(泡泡的大小)和颜色通常用来表示第三个或第四个变量。
为了创建一个带有图例的气泡图,你需要首先安装matplotlib,然后使用`plt.scatter()`函数绘制数据,并用`plt.scatter()`的`c`参数指定颜色编码的变量。对于大小,可以使用`s`参数。至于图例,你可以通过`plt.legend()`添加,并为图例中的不同大小或颜色类别提供标签。
以下是一个简单的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 假设我们有三个变量:x, y, size 和 color
x = np.random.rand(100)
y = np.random.rand(100)
size = np.random.rand(100) * 50 # 泡泡的大小范围
color = np.random.rand(100) # 泡泡的颜色
fig, ax = plt.subplots()
ax.scatter(x, y, s=size, c=color, alpha=0.5) # alpha设置透明度
# 添加图例
bubble_legend = {
'size_label': 'Bubble Size', # 大小的标签
'color_label': 'Color Code' # 颜色的标签
}
plt.colorbar(label=bubble_legend['size_label']) # 添加大小的色彩条
legend_elements = [plt.Line2D(, , color=color, lw=0, label=bubble_legend['color_label'])]
ax.legend(handles=legend_elements)
# 显示图例
plt.title("Bubble Plot with Size and Color Legend")
plt.show()
```