MATLAB 帮助中心
(不推荐)直方图
不推荐使用 hist。请改用 histogram。
hist
histogram
有关详细信息(包括有关更新代码的建议),请参阅替换不建议使用的 hist 和 histc 实例。
hist(x)
hist(x,nbins)
hist(x,xbins)
hist(ax,___)
counts = hist(___)
[counts,centers] = hist(___)
hist(x) 基于向量 x 中的元素创建直方图条形图。x 中的元素有序划分入 x 轴上介于 x 的最小值和最大值间的 10 个等间距 bin 中。hist 将 bin 显示为矩形,这样每个矩形的高度就表示 bin 中的元素数量。
x
如果输入是多列数组,则 hist 为每列 x 创建直方图并将它们叠加到一个绘图上。
如果输入为 categorical 数据类型,则每个 bin 是一个 x 类别。
categorical
示例
hist(x,nbins) 将 x 有序划分入标量 nbins 所指定数量的 bin 中。
nbins
hist(x,xbins) 使用由向量 xbins 确定的间隔或类别将 x 有序划分入 bin 中。
xbins
如果 xbins 是一个包含等间距值的向量,则 hist 将使用这些值作为直方图中心。
如果 xbins 是一个包含非等间距值的向量,则 hist 将使用连续值之间的中点作为 bin 边界。
如果 x 的数据类型为 categorical,则 xbins 必须是用于指定类别的分类向量或字符向量元胞数组。hist 仅为这些类别绘制条形图。
向量 xbins 的长度等于 bin 的数量。
hist(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。选项 ax 可以位于上述语法中的任何输入参量组合之前。
ax
gca
counts = hist(___) 返回一个行向量 counts,指示每个 bin 中的元素数目。
counts
[counts,centers] = hist(___) 返回一个附加行向量 centers,指示 x 轴上每个 bin 中心的位置。
centers
全部折叠
x = [0 2 9 2 5 8 7 3 1 9 4 3 5 8 10 0 1 2 9 5 10]; hist(x)
hist 将 x 中的值有序划分入介于向量中最小值和最大值间的 10 个等间距 bin 中,在本例中,最小值是 0,最大值是 10。
生成由 1,000 个随机数组成的三列并绘制三列叠加的直方图。
x = randn(1000,3); hist(x)
x 中的值将有序划分入介于最小值和最大值间的 10 个等间距 bin 中。hist 分别对 x 的各列排序、存储,并使用不同的颜色绘制每列。
对分类为 50 个等距 bin 的 1,000 个随机数绘制直方图。
x = randn(1000,1); nbins = 50; hist(x,nbins)
生成 1,000 个随机数。计算 10 个等间距 bin 的每一个中有多少个数字。返回 bin 计数和 bin 中心。
x = randn(1000,1); [counts,centers] = hist(x)
counts = 1×10 4 27 88 190 270 243 123 38 13 4
centers = 1×10 -2.8915 -2.2105 -1.5294 -0.8484 -0.1673 0.5137 1.1947 1.8758 2.5568 3.2379
使用 bar 绘制直方图。
bar
bar(centers,counts)
生成 1,000 个随机数并创建直方图。
data = randn(1000,1); hist(data)
获取用于创建直方图的补片对象的句柄。
h = findobj(gca,'Type','patch');
将已绘制条形的面颜色设置为 RGB 三元值 [0 0.5 0.5]。将边颜色设置为白色。
[0 0.5 0.5]
h.FaceColor = [0 0.5 0.5]; h.EdgeColor = 'w';
输入向量或矩阵。
如果 x 是向量,hist 创建一个直方图。
如果 x 为矩阵,则 hist 为每列创建一个单独的直方图并使用不同的颜色绘制直方图。
如果输入数组包含 NaN 或未定义的分类值,则 hist 不将这些值计入 bin 计数内。
NaN
如果输入数组包含无限值 -Inf 或 Inf,则 hist 会将 -Inf 有序划分入第一个 bin,将 Inf 有序划分入最后一个 bin。如果未指定 bin 间隔,则 hist 仅使用输入数组中的有限值计算 bin 间隔。
-Inf
Inf
数据类型: single|double|logical|categorical
single|double|logical|categorical
bin 数量。输入 x 必须是数值,不是分类数组。
数据类型: single|double|int8|int16|int32|int64|uint8|uint16|uint32|uint64
single|double|int8|int16|int32|int64|uint8|uint16|uint32|uint64
bin 位置或类别,指定为向量。
如果 x 为数值或逻辑值,则 xbins 必须属于 single 或 double 类型。
single
double
如果 xbins 中的元素是等间距的,则这些元素是 bin 的中心。
如果 xbins 中的元素不是等间距的,则这些元素由 x 轴上的标记指示,但并不是实际 bin 中心。相反,hist 将 bin 边界计算为向量 xbins 中各连续元素之间的中点。要直接指定 bin 边界,请使用 histc。
histc
xbins 必须仅包含有限值。第一个和最后一个 bin 的展开范围包括了 x 中的最小值和最大值。
如果 x 为分类数据,则 xbins 必须是用于指定类别的分类向量或字符向量元胞数组。hist 仅为 xbins 指定的那些类别绘制条形图。
坐标区对象。使用 ax 在特定的坐标区而不是当前坐标区 (gca) 中绘制该直方图。
每个 bin 中的元素计数,以行向量形式返回。
bin 中心或类别,以向量的形式返回。如果和语法 [counts,centers] = hist(x,xbins) 一起使用,则 centers 输出具有与 xbins 输入相同的元素。
[counts,centers] = hist(x,xbins)
如果 x 为数值或逻辑值,则 centers 为数值行向量。
如果 x 为分类数据,则 centers 为字符向量元胞数组。
全部展开
用法说明和限制:
代码生成不支持创建直方图条形图。调用 hist 时使用至少一个输出参量。
不支持 ax 输入参量。
如果使用 nbins 参量,它在代码生成时必须为常量。
对于输入参量 xbins:
您必须在代码生成时将输入向量指定为固定大小或可变长度的向量。向量的第一个或第二个维度可以是可变大小。所有其他维度必须具有固定大小 1。
输入数组 x 中的值必须为实数。
生成代码输出的向量的方向可能与 MATLAB® 输出的向量的方向不匹配。
如果 x 在代码生成时为可变大小矩阵,则 x 在运行时不能为行向量。为避免此错误,请将 x 指定为固定大小或可变长度行向量。
hist 函数支持 GPU 数组输入,但有以下用法说明和限制:
此函数接受 GPU 数组,但不在 GPU 上运行。
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数在分布式数组上运行,但在客户端 MATLAB 中执行。
有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2006a 之前推出
bar | histc | mode | patch | rose | stairs | histogram | histcounts
mode
patch
rose
stairs
histcounts
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处