📜  绘图-直方图

📅  最后修改于: 2020-11-29 07:06:34             🧑  作者: Mango


卡尔·皮尔森(Karl Pearson)引入的直方图是数字数据分布的精确表示,它是对连续变量(CORAL)的概率分布的估计。它看起来类似于条形图,但是条形图涉及两个变量,而直方图仅涉及一个变量。

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

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

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

以下代码生成一个简单的直方图,显示班级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 ,它指定用于此直方图跟踪的规范化类型。默认值为“”,每个条形图的跨度对应于出现的次数(即位于箱内的数据点的数量)。如果指定为“百分比” /“概率” ,则每个条形的跨度对应于相对于采样点总数的出现百分比/分数。如果等于“ density ”,则每个条形图的跨度对应于bin中出现的次数除以bin间隔的大小。

还有一个histfunc参数,其默认值为count 。结果,箱上的矩形的高度对应于数据点的数量。可以将其设置为求和,平均,最小值或最大值。

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

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

输出如下所示-

累积性质