import plotly.express as px
= px.data.tips()
df = px.histogram(df, x="total_bill")
fig fig.show()
直方图
Python
可视化
直方图(histogram)以矩形的面积表示每组数值的次数或百分比,是一种对数据分布情况的二维统计图表。直方图的两个坐标分别是统计样本和该样本对应的某个属性的度量,以长条(bar)的形式具体表現。直方图的长度及宽度可以表示数量上的变化,所以直方图可用于解读数值之间的差异。这一术语由英国统计学家卡尔·皮尔逊于1895年创立。
绘制要点
- 要绘制直方图,首先需要确定组距范围(bin),即将整个值范围划分为一系列区间,然后计算每个区间中有多少值。bin值通常指定为变量的连续、非重叠间隔。条柱(间隔)必须相邻,并且通常(但不要求)大小相等。
- 将数据按照bin值范围分组后,在x轴上用矩形的宽度表示组距,在y轴上用矩形的高度表示这个组中的频数或密度,多个矩形并列在一起就是直方图。
适用数据类型
数值变量
用途
- 利用直方图的形状,可以观察数据分布的特征。如观察变量分布是否符合正态分布,分布的峰度、偏度等。
- 观察数据中的极端值。
案例
直方图有时会与条形图混淆。直方图用于连续数值变量的描述统计,其中条柱表示数据范围,而条形图是分类变量图。一些作者建议条形图在矩形之间留有间隙以阐明区别。
使用 Plotly 绘制直方图
基础直方图
默认情况下,使用组距中的频次作为矩形的高度。
还可以指定以百分比作为矩形的高度。通过参数histnorm
指定。
= px.data.tips()
df = px.histogram(df, x="total_bill", histnorm='probability density')
fig fig.show()
设置直方图组距
在 Plotly Express 中设置直方图的组距(也称为 bin size),可以通过 nbins
参数或者更详细的 histfunc
和 barmode
参数来实现。nbins
指定了直方图中 bin(箱子)的数量,而 histfunc
和barmode
提供了关于如何计算和显示直方图的更多控制。
= px.histogram(df, x="total_bill", nbins=10)
fig fig.show()