python plt.scatter 显示图例
时间: 2023-07-09 08:24:08 浏览: 177
要在 matplotlib 的 scatter 图中添加图例,可以使用 `label` 参数为每个数据组添加标签,然后使用 `legend()` 方法创建图例。以下是一个简单的例子:
```python
import matplotlib.pyplot as plt
# 准备数据
x1 = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
x2 = [1, 2, 3, 4, 5]
y2 = [1, 3, 5, 7, 9]
# 绘制 scatter 图
plt.scatter(x1, y1, label="Group 1")
plt.scatter(x2, y2, label="Group 2")
# 添加图例
plt.legend()
# 显示图形
plt.show()
```
在这个例子中,我们使用 `label` 参数为两个数据组分别添加了标签 “Group 1” 和 “Group 2”,然后使用 `legend()` 方法创建图例并将其添加到图形中。
相关问题
python中plt.scatter的图例
在Python中,使用plt.scatter函数绘制散点图时,可以通过添加图例来表示不同数据点的分类。为了添加图例,需要在绘图代码中使用plt.legend()函数,并在函数的参数中传入相应的标签。这些标签可以通过设置label参数来指定,并且需要与每个数据点所对应的分类一致。
例如,可以参考引用中的代码,使用plt.scatter函数绘制花瓣宽度与长度的散点图,并根据数据集中的分类信息添加图例。具体的代码如下所示:
import matplotlib.pyplot as plt
import pandas as pd
# 读入数据
iris = pd.read_csv(r'iris.csv')
# 获取不同分类的数据
setosa = iris[iris['Species'] == 'setosa']
versicolor = iris[iris['Species'] == 'versicolor']
virginica = iris[iris['Species'] == 'virginica']
# 绘制散点图
plt.scatter(setosa['Petal_Width'], setosa['Petal_Length'], label='setosa')
plt.scatter(versicolor['Petal_Width'], versicolor['Petal_Length'], label='versicolor')
plt.scatter(virginica['Petal_Width'], virginica['Petal_Length'], label='virginica')
# 添加图例
plt.legend()
# 设置x轴和y轴标签
plt.xlabel('花瓣宽度')
plt.ylabel('花瓣长度')
# 显示图形
plt.show()
在上述代码中,根据数据集中的分类信息,将不同分类的数据点分别绘制为散点图,并使用label参数为每个数据点所对应的分类指定标签。然后,使用plt.legend()函数将标签添加到图例中。最后,设置x轴和y轴的标签,并显示图形。这样就可以在散点图上添加图例,以便更好地展示数据的分类信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [python scatter散点图用循环分类法加图例](https://download.csdn.net/download/weixin_38721811/14874933)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Python数据可视化的例子——散点图(scatter)](https://blog.csdn.net/weixin_48615832/article/details/108474356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
plt.scatter添加图例
在使用plt.scatter添加图例时,可以使用plt.legend()函数来实现。具体步骤如下:
1.首先,需要在plt.scatter()函数中设置label参数,用于指定每个点的标签。
2.然后,使用plt.legend()函数来添加图例。其中,handles参数用于指定图例中的标记,可以通过scatter.legend_elements()方法获取;labels参数用于指定每个标记对应的标签;title参数用于指定图例的标题。
下面是一个示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.random.rand(50)
y = np.random.rand(50)
c = np.random.randint(0, 5, 50)
# 绘制散点图
scatter = plt.scatter(x, y, c=c, cmap=plt.cm.plasma, label=c)
# 添加图例
plt.legend(handles=scatter.legend_elements()[0], labels=["0", "1", "2", "3", "4"], title="Classes")
# 显示图形
plt.show()
```
在这个例子中,我们使用了随机生成的数据,其中c数组用于指定每个点的标签。然后,我们使用plt.scatter()函数绘制散点图,并将cmap参数设置为plt.cm.plasma,用于指定颜色映射。接着,我们使用plt.legend()函数添加图例,其中handles参数使用scatter.legend_elements()方法获取,labels参数指定每个标记对应的标签,title参数指定图例的标题。最后,使用plt.show()函数显示图形。
阅读全文