plotly.graph_objects绘制散点图,散点有很多个类,如何显示每个类别的图例
时间: 2024-10-05 15:03:44 浏览: 0
在Plotly.graph_objects库中,绘制散点图并添加类别图例通常涉及以下几个步骤:
1. 首先,你需要创建一个`Scattergl`、`Scatter`或其他散点图类型的对象,例如`go.Scattergl`,用于表示数据的不同类别。
```python
import plotly.graph_objs as go
# 假设你有如下数据,包含两个列 'x', 'y' 和一个分类列 'category'
data = {'x': [...], 'y': [...], 'category': [...]}
```
2. 使用`go.Scattergl`创建一个散点图,同时指定`marker.color`为类别,并传递`categories`作为`hovertemplate`的一部分,这样鼠标悬停时会显示出类别信息。
```python
scatter = go.Scattergl(
x=data['x'],
y=data['y'],
mode='markers',
name='Data Points',
marker={
'color': data['category'], # 类别颜色
'colorscale': 'Viridis', # 调色盘选择
'showlegend': True, # 显示图例
'symbolsize': 8 # 点的大小
},
hovertemplate="Category: %{category}<extra></extra>"
)
```
3. 添加图例到图形中。由于类别已经包含在标记颜色中,Plotly会自动识别它们并在图例中展示。如果需要手动控制图例,可以使用`layout.legend`属性。
```python
fig = go.Figure(data=[scatter])
fig.update_layout(
legend=dict(title='Categories', orientation="h"), # 图例标题和方向
showlegend=True # 显示图例
)
```