scatter = plt.scatter标注每种颜色对应的类别
时间: 2023-10-06 15:11:49 浏览: 181
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
要标注每种颜色对应的类别,可以使用Matplotlib库中的`scatter()`函数和`legend()`函数来实现。以下是一个示例:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 创建示例的DataFrame
data = {'x': [1, 2, 3, 4, 5],
'y': [2, 4, 6, 8, 10],
'color_column': ['A', 'B', 'A', 'B', 'A']}
df = pd.DataFrame(data)
# 获取唯一的颜色和类别
unique_colors = df['color_column'].unique()
category_labels = ['Category ' + color for color in unique_colors]
# 绘制散点图
scatter = plt.scatter(df['x'], df['y'], c=df['color_column'], cmap='viridis', s=100)
# 添加颜色标定和标签
plt.colorbar(scatter, label='Color Column')
plt.clim(min(df['color_column']), max(df['color_column']))
# 标注每种颜色对应的类别
for color, label in zip(unique_colors, category_labels):
plt.scatter([], [], c=color, label=label)
# 设置图表标题和坐标轴标签
plt.title('Scatter Plot')
plt.xlabel('x')
plt.ylabel('y')
# 显示图例
plt.legend()
# 展示图表
plt.show()
```
在这个示例中,我们首先获取DataFrame中颜色列的唯一值和对应的类别标签。然后,我们使用`scatter()`函数绘制散点图,并通过指定`c`参数为`df['color_column']`,将颜色标定为DataFrame中颜色列的值。使用`cmap`参数可以选择颜色映射,这里使用的是'viridis'。通过设置`s`参数来调整散点的大小,这里使用的是100。接下来,我们使用`colorbar()`函数添加颜色标定,并使用`label`参数设置标签。通过`clim()`函数设置颜色标定的范围,这里使用了DataFrame列中的最小值和最大值。然后,使用`scatter()`函数绘制一个不可见的散点图来创建每种颜色对应的标签。通过遍历唯一的颜色和类别标签,并将其传递给`scatter()`函数,我们可以在图例中显示每种颜色对应的类别标签。最后,设置标题、坐标轴标签,并通过`legend()`函数显示图例。使用`show()`函数展示图表。
阅读全文