matplotlib.pyplot.hist #
- matplotlib.pyplot。hist ( x , bins = None , range = None , density = False , weights = None ,累积= False , bottom = None , histtype = 'bar' , align = 'mid' , orientation = 'vertical' , rwidth = None ,日志=假,颜色=无,标签=无,堆叠=假, *,数据=无, ** kwargs) [来源] #
计算并绘制直方图。
此方法用于对x
numpy.histogram
中的数据进行 bin并计算每个 bin 中值的数量,然后将分布绘制为 a 或。箱、范围、密度和权 重参数被转发到。BarContainer
Polygon
numpy.histogram
如果数据已经被分箱和计数,使用
bar
或stairs
绘制分布: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 形式相对于列表形式进行了转置。如果输入是一个数组,那么返回值是一个元组(n、bins、patches);如果输入是一个数组序列,那么返回值是一个元组([ 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)
- histtype {'bar', 'barstacked', 'step', 'stepfilled'},默认值:'bar'
要绘制的直方图类型。
'bar' 是传统的条形直方图。如果给出多个数据,则条形图并排排列。
'barstacked' 是一种条形直方图,其中多个数据堆叠在一起。
'step' 生成默认未填充的线图。
'stepfilled' 生成一个默认填充的线图。
- 对齐{'left', 'mid', 'right'},默认值:'mid'
直方图条的水平对齐方式。
'left':条形图位于 bin 左侧边缘的中心。
'mid':条在 bin 边缘之间居中。
'right':条形图位于右侧 bin 边缘的中心。
- 方向{'垂直','水平'},默认值:'垂直'
如果“水平”,
barh
将用于条形直方图,底部kwarg 将是左边缘。- rwidth浮点数或无,默认值:无
条的相对宽度,作为 bin 宽度的一部分。如果
None
,自动计算宽度。如果histtype是 'step' 或 'stepfilled' 则忽略。
- 日志布尔值,默认值:False
如果
True
,直方图轴将设置为对数刻度。- 颜色颜色或类似颜色的数组或无,默认值:无
颜色或颜色序列,每个数据集一个。默认 (
None
) 使用标准线条颜色序列。- 标签str 或无,默认值:无
字符串或字符串序列以匹配多个数据集。条形图为每个数据集生成多个补丁,但只有第一个获得标签,因此
legend
可以按预期工作。- 堆叠的布尔值,默认值:False
If
True
, 多个数据堆叠在一起False
如果 histtype 为 'bar' 则多个数据并排排列,如果 histtype 为 'step' 则彼此重叠
- 返回:
- n数组或数组列表
直方图 bin 的值。有关可能语义的描述,请参见密度和权重。如果输入x是一个数组,那么这是一个长度为nbins的数组。如果输入是一个数组序列,那么这是一个数组列表,其中每个数组的直方图值以相同的顺序排列。即使不使用加权或归一化,数组n (或其元素数组)的 dtype 也将始终为 float。
[data1, data2, ...]
- 箱阵列
垃圾箱的边缘。长度 nbins + 1(最后一个 bin 的 nbins 左边缘和右边缘)。即使传入多个数据集,也始终是单个数组。
- 补丁
BarContainer
或列表的单个Polygon
或此类对象的列表 如果有多个输入数据集,则用于创建直方图或此类容器列表的单个艺术家的容器。
- 其他参数:
- 数据可索引对象,可选
如果给定,以下参数也接受一个字符串
s
,它被解释为data[s]
(除非这引发异常):x ,权重
- **kwargs
Patch
特性
笔记
对于大量 bin (>1000),如果histtype设置为“step”或“stepfilled”而不是“bar”或“barstacked”,则绘图速度会明显加快。