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 . 返回值是一个元组( n , bins , 补片 (或) [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类似数组、标量或无,默认值:无
每个箱子底部的位置,即从
bottom
到bottom + 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
,柱状图轴将设置为对数刻度。如果 log 是True
和 x 是一个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
)