plt.scatter 画不同颜色并画图例
时间: 2023-07-09 08:16:14 浏览: 130
要使用不同颜色绘制散点图并画图例,可以根据数据点的类别或属性来设置不同的颜色,并使用`legend`函数添加图例。具体实现可以按以下步骤进行:
1. 首先,根据数据点的类别或属性,将它们分成不同的组,可以使用`groupby`函数或其他方法实现。
2. 然后,对于每个组,设置不同的颜色,可以使用`c`参数来指定颜色,也可以使用`colormap`函数来生成颜色映射。
3. 在绘制散点图时,需要将每个组的数据点分别传递给`scatter`函数,并指定相应的颜色。
4. 最后,使用`legend`函数添加图例,指定每个组对应的标签即可。
以下是一个示例代码,假设数据点已经被分成了不同的组,并存储在`groups`列表中,每个组对应一个标签:
```python
import matplotlib.pyplot as plt
import numpy as np
# 假设数据点已经被分成了不同的组,存储在 groups 列表中
groups = [np.random.normal(size=10), np.random.normal(size=10), np.random.normal(size=10)]
labels = ['Group 1', 'Group 2', 'Group 3']
# 为每个组设置不同的颜色,可以使用 colormap 函数生成颜色映射
cmap = plt.cm.get_cmap('viridis')
colors = [cmap(i) for i in np.linspace(0, 1, len(groups))]
# 分别绘制每个组的散点图,并指定相应的颜色和标签
for i, group in enumerate(groups):
plt.scatter(range(len(group)), group, c=colors[i], label=labels[i])
# 添加图例
plt.legend()
plt.show()
```
在这个例子中,我们使用了`viridis`颜色映射来生成不同的颜色,每个组对应一个标签。最终得到的图形将包含三个组的散点图,并显示相应的图例。
阅读全文