matplotlib.pyplot.hist #

matplotlib.pyplot。hist ( x , bins = None , range = None , density = False , weights = None ,累积= False , bottom = None , histt​​ype = 'bar' , align = 'mid' , orientation = 'vertical' , rwidth = None ,日志=颜色=标签=堆叠= *数据= ** kwargs [来源] #

计算并绘制直方图。

此方法用于对xnumpy.histogram中的数据进行 bin并计算每个 bin 中值的数量,然后将分布绘制为 a 或。范围密度和权 参数被转发到。BarContainerPolygonnumpy.histogram

如果数据已经被分箱和计数,使用barstairs绘制分布:

counts, bins = np.histogram(x)
plt.stairs(bins, counts)

hist()或者,通过将每个 bin 视为权重等于其计数的单个点来绘制预先计算的 bin 和计数:

plt.hist(bins[:-1], bins, weights=counts)

数据输入x可以是奇异数组、可能不同长度的数据集列表 ([ x0 , x1 , ...]) 或每列都是数据集的 2D ndarray。请注意,ndarray 形式相对于列表形式进行了转置。如果输入是一个数组,那么返回值是一个元组(nbinspatches);如果输入是一个数组序列,那么返回值是一个元组([ n0 , n1 , ...], bins , [ patch0 , patch1 , ...])。

不支持掩码数组。

参数
x (n,) 数组或 (n,) 数组序列

输入值,这需要单个数组或不需要具有相同长度的数组序列。

bins int or sequence or str, default: rcParams["hist.bins"](default: 10)

如果bins是整数,则它定义范围内等宽 bin 的数量。

如果bins是一个序列,则定义 bin 边缘,包括第一个 bin 的左边缘和最后一个 bin 的右边缘;在这种情况下,bin 的间距可能不相等。除了最后一个(最右边的)垃圾箱外,所有垃圾箱都是半开的。换句话说,如果bins是:

[1, 2, 3, 4]

那么第一个 bin 是(包括 1,但不包括 2)和第二个. 然而,最后一个 bin 是,其中 包括4。[1, 2)[2, 3)[3, 4]

如果bins是一个字符串,它是以下分箱策略之一numpy.histogram_bin_edges:'auto'、'fd'、'doane'、'scott'、'stone'、'rice'、'sturges' 或 'sqrt'。

范围元组或无,默认值:无

bin 的下限和上限范围。忽略上下异常值。如果未提供,则范围为. 如果bin是一个序列,则范围无效。(x.min(), x.max())

如果bins是一个序列或指定了范围,则自动缩放基于指定的 bin 范围而不是 x 的范围。

密度布尔值,默认值:False

如果True,则绘制并返回一个概率密度:每个 bin 将显示 bin 的原始计数除以计数总数和 bin 宽度 ( ),从而使直方图下的面积积分为 1 ( )。density = counts / (sum(counts) * np.diff(bins))np.sum(density * np.diff(bins)) == 1

如果stacked也是True,则直方图的总和归一化为 1。

weights (n,) 类数组或无,默认值:无

与x形状相同的权重数组。x中的每个值 仅将其相关权重贡献给 bin 计数(而不是 1)。如果密度True,则权重被归一化,因此密度在该范围内的积分保持为 1。

累积bool 或 -1,默认值:False

如果True,则计算直方图,其中每个 bin 给出该 bin 中的计数以及较小值的所有 bin。最后一个 bin 给出了数据点的总数。

如果密度也是True,那么直方图被归一化,使得最后一个 bin 等于 1。

如果累积是小于 0 的数字(例如 -1),则累积的方向相反。在这种情况下,如果密度也是 True,则对直方图进行归一化,使得第一个 bin 等于 1。

底部类数组,标量或无,默认值:无

每个箱子底部的位置,即。箱从 bottom到如果是标量,则每个箱的底部移动相同的量。如果是数组,则每个 bin 都会独立移动,并且底部的长度必须与 bin 的数量相匹配。如果没有,默认为 0。bottom + hist(x, bins)

histt​​ype {'bar', 'barstacked', 'step', 'stepfilled'},默认值:'bar'

要绘制的直方图类型。

  • 'bar' 是传统的条形直方图。如果给出多个数据,则条形图并排排列。

  • 'barstacked' 是一种条形直方图,其中多个数据堆叠在一起。

  • 'step' 生成默认未填充的线图。

  • 'stepfilled' 生成一个默认填充的线图。

对齐{'left', 'mid', 'right'},默认值:'mid'

直方图条的水平对齐方式。

  • 'left':条形图位于 bin 左侧边缘的中心。

  • 'mid':条在 bin 边缘之间居中。

  • 'right':条形图位于右侧 bin 边缘的中心。

方向{'垂直','水平'},默认值:'垂直'

如果“水平”,barh将用于条形直方图,底部kwarg 将是左边缘。

rwidth浮点数或无,默认值:无

条的相对宽度,作为 bin 宽度的一部分。如果 None,自动计算宽度。

如果histt​​ype是 'step' 或 'stepfilled' 则忽略。

日志布尔值,默认值:False

如果True,直方图轴将设置为对数刻度。

颜色颜色或类似颜色的数组或无,默认值:无

颜色或颜色序列,每个数据集一个。默认 ( None) 使用标准线条颜色序列。

标签str 或无,默认值:无

字符串或字符串序列以匹配多个数据集。条形图为每个数据集生成多个补丁,但只有第一个获得标签,因此legend可以按预期工作。

堆叠的布尔值,默认值:False

If True, 多个数据堆叠在一起 False如果 histt​​ype 为 'bar' 则多个数据并排排列,如果 histt​​ype 为 'step' 则彼此重叠

返回
n数组或数组列表

直方图 bin 的值。有关可能语义的描述,请参见密度权重。如果输入x是一个数组,那么这是一个长度为nbins的数组。如果输入是一个数组序列,那么这是一个数组列表,其中每个数组的直方图值以相同的顺序排列。即使不使用加权或归一化,数组n (或其元素数组)的 dtype 也将始终为 float。[data1, data2, ...]

阵列

垃圾箱的边缘。长度 nbins + 1(最后一个 bin 的 nbins 左边缘和右边缘)。即使传入多个数据集,也始终是单个数组。

补丁BarContainer或列表的单个Polygon或此类对象的列表

如果有多个输入数据集,则用于创建直方图或此类容器列表的单个艺术家的容器。

其他参数
数据可索引对象,可选

如果给定,以下参数也接受一个字符串s,它被解释为data[s](除非这引发异常):

x ,权重

**kwargs

Patch特性

也可以看看

hist2d

带有矩形箱的二维直方图

hexbin

带有六边形 bin 的 2D 直方图

笔记

对于大量 bin (>1000),如果histt​​ype设置为“step”或“stepfilled”而不是“bar”或“barstacked”,则绘图速度会明显加快。

使用#的示例matplotlib.pyplot.hist

Pyplot 文本

Pyplot 文本

Pyplot 文本
动画直方图

动画直方图

动画直方图
SVG 直方图

SVG 直方图

SVG 直方图
Pyplot 教程

Pyplot 教程

Pyplot 教程
图片教程

图片教程

图片教程