怎样用plotly的箱线图显示500个人的身高数据,并且在箱线图显示每个人的名字?
时间: 2023-05-25 12:05:30 浏览: 86
下面是一个使用plotly绘制500个人的身高数据的箱线图,并在图表中显示每个人的名称的例子:
```python
import plotly.graph_objs as go
import numpy as np
# 生成500个随机的身高数据
heights = np.random.normal(170, 10, 500)
# 生成随机的人名
names = ['Person ' + str(i+1) for i in range(500)]
# 使用go.Box创建箱线图对象,并在数据中添加每个人的名字
box = go.Box(y=heights, name='Height', hovertext=names, jitter=0.3, pointpos=-1.8)
# 在数据列表中创建go.Figure对象,将箱线图对象添加到其中
fig = go.Figure(data=[box])
# 添加x和y轴标签
fig.update_layout(xaxis=dict(title='Person'), yaxis=dict(title='Height'))
# 显示绘制的箱线图
fig.show()
```
在上述代码中,`go.Box`函数中的参数`hovertext`可以用来为每个数据点添加悬停文本,这里我们将其设置为人名的列表。使用`jitter`和`pointpos`参数可以添加一些随机噪声来避免数据点重叠在一起,并改变它们的位置。最后,使用`update_layout`函数来添加x轴和y轴标签。
阅读全文