Plotly - 直方图


由 Karl Pearson 提出,直方图是数值数据分布的准确表示,是连续变量 (CORAL) 概率分布的估计。它看起来与条形图类似,但是条形图涉及两个变量,而直方图仅涉及一个变量。

直方图需要bin(或bucket),它将整个值范围划分为一系列间隔,然后计算每个间隔内有多少值。bin 通常被指定为变量的连续、不重叠的间隔。垃圾箱必须相邻,并且通常大小相同。在垃圾箱上方竖立一个矩形,其高度与频率(每个垃圾箱中的箱数)成正比。

直方图跟踪对象由go.Histogram()函数返回。它的定制是通过各种参数或属性来完成的。一个重要参数是将 x 或 y 设置为要分布在 bin 中的列表、numpy 数组Pandas 数据框对象。

默认情况下,Plotly 将数据点分布在自动调整大小的箱中。但是,您可以定义自定义 bin 大小。为此,您需要将 autobins 设置为 false,指定nbins(bin 数量)、其开始值和结束值以及大小。

以下代码生成一个简单的直方图,显示班级 inbins 中学生的分数分布(自动调整大小) -

import numpy as np
x1 = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
data = [go.Histogram(x = x1)]
fig = go.Figure(data)
iplot(fig)

输出如下所示 -

组织范数

go.Histogram ()函数接受histnorm,它指定用于此直方图跟踪的标准化类型。默认值为“”,每个条形的跨度对应于出现次数(即位于箱内的数据点的数量)。如果指定“百分比”/“概率”,则每个条形的跨度对应于相对于样本点总数的出现百分比/分数。如果它等于“密度”,则每个条的跨度对应于箱中出现的次数除以箱间隔的大小。

还有histfunc参数,其默认值为count。因此,箱上方矩形的高度对应于数据点的计数。它可以设置为总和、平均值、最小值或最大值。

histogram ()函数可以设置为显示连续箱中值的累积分布。为此,您需要将累积属性设置为启用。结果如下 -

data=[go.Histogram(x = x1, cumulative_enabled = True)]
fig = go.Figure(data)
iplot(fig)

输出如下 -

累计财产