绘制直方图


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

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

直方图跟踪对象由返回 go.Histogram() 功能。它的定制是由各种参数或属性完成的。一个基本参数是将 x 或 y 设置为列表, numpy 数组 or 熊猫数据框对象 这将被分发到垃圾箱中。

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

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

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)

输出如下图:

Histnorm

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

还有 histfunc 参数,其默认值为 count .因此,bin 上矩形的高度对应于数据点的计数。它可以设置为 sum、avg、min 或 max。

The 直方图() 可以设置函数以显示连续 bin 中值的累积分布。为此,你需要设置 累积财产 启用。结果如下图所示:

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

输出如下:

Cumulative Property