matplotlib.pyplot.hist

matplotlib.pyplot.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, *, data=None, **kwargs)[源代码]

绘制柱状图。

计算并绘制 x . 返回值是一个元组( nbins补片 (或) [n0, n1, ...] , bins , [patches0, patches1, ...] )如果输入包含多个数据。请参阅 砝码 参数绘制已装箱数据的直方图。

可以通过以下方式提供多个数据: x 作为可能长度不同的数据集列表( [x0, x1, ...] ,或者作为二维数据数组,其中每个列都是一个数据集。请注意,ndarray形式相对于列表形式进行了转置。

不支持掩码数组。

这个 bins范围砝码密度 参数的行为与 numpy.histogram .

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

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

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

如果 bins 它定义了宽度相等的整数。

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

[1, 2, 3, 4]

那么第一个箱子是 [1, 2) (包括1个,但不包括2个)和第二个 [2, 3) . 不过,最后一个垃圾箱是 [3, 4] 哪一个 包括 4。

如果 bins 是一个字符串,它是binning策略中支持的一个 numpy.histogram_bin_edges :“auto”、“fd”、“doane”、“scott”、“stone”、“rice”、“sturges”或“sqrt”。

rangetuple或None,默认值:None

料仓的上下范围。忽略较低和较高的异常值。如果没有提供, 范围(x.min(), x.max()) . 范围在以下情况下无效: bins 是一个序列。

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

densitybool,默认值:False

If True, draw and return a probability density: each bin will display the bin's raw count divided by the total number of counts and the bin width (density = counts / (sum(counts) * np.diff(bins))), so that the area under the histogram integrates to 1 (np.sum(density * np.diff(bins)) == 1).

如果 堆叠的 也是 True ,将柱状图的和归一化为1。

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

重量数组,形状与 x . 每一个值 x 仅将其关联的重量贡献给肥料箱计数(而不是1)。如果 密度True ,将权重归一化,使该范围内的密度积分保持为1。

此参数可用于绘制已装箱数据的柱状图,例如使用 numpy.histogram (通过将每个垃圾箱视为一个重量等于其计数的点)::

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

(或者您也可以使用 bar()

cumulativebool或-1,默认值:False

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

如果 密度 也是 True 然后将直方图标准化,使最后一个bin等于1。

如果 累积的 是一个小于0的数字(例如-1),则累加方向相反。在这种情况下,如果 密度 也是 True ,然后将柱状图归一化,使第一个bin等于1。

bottom类似数组、标量或无,默认值:无

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

histtype{'bar','barstacked','step','stepfilled'},默认值:'bar'

要绘制的柱状图类型。

  • “条形图”是传统的条形柱状图。如果提供了多个数据,则条形图将并排排列。
  • “BarStacked”是一种条形柱状图,其中多个数据相互叠加。
  • “step”生成默认未填充的线条图。
  • “stepfilled”生成一个默认情况下已填充的线条图。
align{'left','mid','right'},默认值:'mid'

直方图条的水平对齐。

  • “Left”:条形图位于左侧纸槽边缘的中心。
  • “Mid”:条形图在纸槽边缘之间居中。
  • “右”:条形图位于右纸槽边缘的中心。
orientation{'vertical','horizontal'},默认值:'vertical'

如果“水平”, barh 将用于条形柱状图和 底部 Kwarg将是左边缘。

rwidth浮动或无,默认值:无

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

忽略如果 组织型 是“step”还是“stepFilled”。

logbool,默认值:False

如果 True ,柱状图轴将设置为对数刻度。如果 logTruex 是一个1d数组,空的容器将被过滤掉,只有非空的 (n, bins, patches) 将被退回。

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

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

labelstr或None,默认值:None

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

stackedbool,默认值:False

如果 True ,如果 False 如果histtype为“bar”,则多个数据并排排列;如果histtype为“step”,则多个数据并排排列。

返回:
n数组或数组列表

柱状图箱的值。见 密度砝码 可能的语义描述。中频输入 x 是一个数组,那么这是一个长度数组 梯度方向数 . 如果输入是一系列数组 [data1, data2, ...] ,则这是一个数组列表,其中每个数组的直方图值按相同的顺序排列。数组的数据类型 n (或其元素数组的)将始终是浮动的,即使没有使用加权或规范化。

bins数组

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

补片BarContainer 或者一张单子的清单 Polygon 或这些物体的清单单个多边形的容器或列表或此类对象的列表

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

其他参数:
**kwargs

Patch 性质

参见

hist2d
二维直方图

笔记

对于大量料仓(>1000),“step”和“stepfilled”可能比“bar”和“barstacked”快得多。

注解

除了上述参数外,此函数还可以 data 关键字参数。如果这样的话 data 参数,下列参数也可以是字符串 s ,解释为 data[s] (除非引起例外): x砝码 .

作为传递的对象 data 必须支持项目访问 (data[s] )和会员资格测试 (s in data

使用实例 matplotlib.pyplot.hist