📅  最后修改于: 2023-12-03 15:07:56.263000             🧑  作者: Mango
小提琴图是一种可视化数据分布的图表,与箱线图类似,它可以显示数据的中位数、四分位数、最大最小值和异常值。与箱线图不同的是,小提琴图可以表示数据的核密度估计,更直观地展示数据分布情况。
Plotly 是一款交互式的数据可视化库,支持多种图表类型,包括小提琴图。本文将介绍如何在 Python 中使用 Plotly 绘制小提琴图。
在开始绘制小提琴图前,需要先安装 Plotly 库。可以使用以下命令在命令行中安装 Plotly:
pip install plotly
在开始绘制小提琴图前,需要导入必要的库和用于绘图的数据。以下是一个示例数据:
import plotly.express as px
# 导入数据
df = px.data.tips()
# 查看数据前几行
print(df.head())
输出结果:
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
这是一个包含消费账单、小费、性别、是否吸烟、日期、就餐时间和餐桌大小的数据集。
使用 px.violin
函数绘制小提琴图,指定 x 轴和 y 轴的列名即可。例如,如果我们想绘制吸烟者和非吸烟者的小费金额分布情况,可以使用以下代码:
fig = px.violin(df, x="smoker", y="tip")
# 显示图表
fig.show()
输出结果:
可以看到,吸烟者和非吸烟者的小费金额分布情况有一定区别。这个小提琴图也支持交互式功能,例如放大、缩小、查看数值等等。
可以使用 points
参数来显示每个数据点,使用 box
参数来显示箱线图,使用 meanline
参数来显示均值线。以下代码演示了如何同时显示小提琴图、箱线图和均值线:
fig = px.violin(df, x="smoker", y="tip", box=True, points="all", meanline=True, hover_data=['sex'])
# 显示图表
fig.show()
输出结果:
可以看到,数据点、箱线图和均值线都被同时显示了出来,可以更加清晰地了解数据分布情况。
使用 Plotly 绘制小提琴图非常简单,在指定列名后就可以轻松地绘制出小提琴图。可以通过添加参数来改进小提琴图的显示,例如增加数据点、箱线图和均值线等。