主要内容

柱状图

直方图的阴谋

描述

直方图是一种条形图,用于将数据分组到容器中。在创建柱状图对象时,可以通过更改其属性值来修改直方图的各个方面。这对于快速修改容器的属性或更改显示特别有用。

创建

描述

例子

柱状图(X创建的直方图X.的柱状图函数使用自动分类算法返回具有统一宽度的容器,选择该宽度的容器覆盖元素的范围X并揭示其分布的基本形状。柱状图将容器显示为矩形,以便每个矩形的高度表明容器中元素的数量。

例子

柱状图(Xnbins使用标量指定的容器数量,nbins

例子

柱状图(X边缘排序X进入箱子,箱子边由向量指定,边缘.每个箱子包括左边的边,但不包括右边的边,除了最后一个箱子,它包括了两边的边。

直方图(“BinEdges”,边缘“BinCounts”,计数手动指定容器边和相关的容器计数。柱状图绘制指定的bin计数图,不进行任何数据分类。

例子

柱状图(C,在那里C是一个分类数组,绘制一个直方图与一个条形为每个类别C

柱状图(C类别仅绘制指定类别的子集类别

直方图(“类别”,类别“BinCounts”,计数手动指定类别和关联的bin计数。柱状图绘制指定的bin计数图,不进行任何数据分类。

例子

柱状图(___名称,值指定一个或多个附加选项名称,值使用任何前面的语法对参数进行配对。例如,可以指定“BinWidth”和一个标量来调整箱子的宽度,或者“归一化”使用有效选项(“数”“概率”“countdensity”“pdf”“cumcount”,或“提供”)来使用不同类型的规范化。有关属性列表,请参见直方图特性

柱状图(斧头___绘制到指定的轴线上斧头而不是当前轴(gca).的选项斧头可以放在前面语法中的任何输入参数组合的前面。

例子

h=直方图(___返回一个柱状图对象。使用它来检查和调整直方图的属性。有关属性列表,请参见直方图特性

输入参数

全部展开

分布在容器中的数据,指定为向量、矩阵或多维数组。如果X不是向量吗柱状图把它看成一个单列向量,X (:),绘制一个直方图。

柱状图忽略所有NaT值。同样的,柱状图忽略了值,除非容器边明确指定作为仓边。虽然NaT,值通常不绘制,它们仍然包含在包括数据元素总数的标准化计算中,例如“概率”

请注意

如果X包含类型为int64uint64flintmax,则建议您显式指定直方图bin边。柱状图自动使用双精度分类输入数据,对于大于的数字缺乏整数精度flintmax

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|datetime|持续时间

分类数据,指定为分类数组。柱状图不绘制未定义的分类值。然而,未定义的分类值仍然包含在包括数据元素总数的标准化计算中,例如“概率”

数据类型:分类

箱的数量,指定为正整数。如果没有指定nbins,然后柱状图根据里面的值自动计算要使用多少个箱子X

例子:直方图(X, 15)创建一个有15个箱子的直方图。

Bin边,指定为向量。边(1)是第一个箱子的左边缘,和边(结束)是最后一个箱子的右边。

的值X(我)是在kth本如果边(k)X(我)<边(k + 1).最后一个仓还包括右仓边,以便它包含X(我)如果边(end-1)X(我)边(结束)

对于datetime和duration数据,边缘必须是按单调递增顺序排列的日期时间或持续时间向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|datetime|持续时间

请注意

此选项仅适用于分类直方图。

直方图中包含的类别,指定为字符向量单元数组、类别数组或字符串数组。

  • 如果指定输入分类数组C,则默认情况下,柱状图中的每个类别绘制一个条形图C.在这种情况下,使用类别来指定类别的唯一子集。

  • 如果指定bin计数,则类别指定直方图的关联类别名称。

例子:h =直方图(C,{“大”、“小”})仅绘制类别中的类别数据“大”“小”

例子:直方图(“类别”,{‘是的’,‘不’,‘也许’},“BinCounts”,[22 18 3])绘制一个柱状图,其中包含三个类别和相关的bin计数。

例子:h.Categories查询直方图对象中的类别h

数据类型:细胞|分类|字符串

Bin计数,指定为向量。使用此输入将容器计数传递给柱状图当容器计数计算被单独执行时,您不希望柱状图进行任何数据分类。

的长度计数必须等于箱子的数量。

  • 对于数值直方图,箱子的数量为长度(边缘)1

  • 对于分类直方图,箱子的数量等于类别的数量。

例子:柱状图('BinEdges',-2:2,'BinCounts',[5 8 15 9])

例子:直方图(“类别”,{‘是的’,‘不’,‘也许’},“BinCounts”,[22 18 3])

目标轴,指定为对象或一个PolarAxes对象。如果你没有指定坐标轴,并且当前的坐标轴是笛卡尔坐标轴,那么柱状图函数使用当前轴(gca).要绘制成极轴,请指定PolarAxes对象作为第一个输入参数,或使用polarhistogram函数。

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:直方图(X, BinWidth, 5)

这里列出的直方图属性只是一个子集。有关完整列表,请参见直方图特性

请注意

此选项仅适用于类别数据的直方图。

分类条的相对宽度,指定为范围内的标量值[0, 1].使用此属性可控制直方图内分类条的分隔。默认值为0.9,这意味着条形图的宽度是前一条条形图到下一条条形图空间的90%,两边各占5%。

如果将此属性设置为1,然后相邻的棒子互相接触。

例子:0.5

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

Bin极限,指定为二元向量,[bmin, bmax].该选项使用输入数组中的值绘制一个直方图,X介于两者之间bminbmax包容性。也就是说,X (X > = bmin & < = bmax)

此选项不适用于类别数据的直方图。

例子:直方图(X,“BinLimits”,[1,10])仅使用中的值绘制直方图X之间的是110包容性。

仓限制的选择模式,指定为“汽车”“手动”.默认值为“汽车”,使仓限自动调整到数据。

如果您明确指定其中之一BinLimitsBinEdges,然后BinLimitsMode自动设置为“手动”.在这种情况下,指定BinLimitsMode作为“汽车”将容器限制重新缩放到数据。

此选项不适用于类别数据的直方图。

bining算法,指定为该表中的一个值。

价值

描述

“汽车”

默认的“汽车”算法选择一个仓宽来覆盖数据范围,并揭示底层分布的形状。

“斯科特。”

如果数据接近正态分布,斯科特规则是最优的。这个规则也适用于大多数其他发行版。它的箱宽为3.5 *性病(X(:)) *元素个数(X) ^ (1/3)

“fd”

Freedman-Diaconis规则对数据中的异常值不太敏感,可能更适合于重尾分布的数据。它的箱宽为2 *差(X(:)) *元素个数(X) ^ (1/3),在那里位差的四分位范围是X

“整数”

整数规则对于整数数据很有用,因为它为每个整数创建一个bin。它使用的仓宽为1,并将仓边放在整数中间。为了避免意外创建过多的容器,可以使用此规则创建65536个容器(216).如果数据范围大于65536,那么整数规则将使用更宽的容器。

请注意

“整数”不支持dateti金宝appme或duration数据。

斯特奇斯的

斯特奇斯的规则因其简单而广受欢迎。它选择箱子的数量装天花板(1 + log2(元素个数(X)))

“√”

平方根规则在其他软件包中也被广泛使用。它选择箱子的数量装天花板(√元素个数(X)))

柱状图并不总是使用这些精确的公式来选择箱子的数量。有时会稍微调整桶的数量,使桶的边缘落在“好的”数字上。

对于datetime数据,bin方法可以是以下时间单位之一:

“第二” “月”
“一分钟” “季”
“小时” “年”
“天” “十年”
“周” “世纪”

对于持续时间数据,bin方法可以是以下时间单位之一:

“第二” “天”
“一分钟” “年”
“小时”

如果您指定BinMethod然后使用datetime或duration数据柱状图可以使用最多65,536个垃圾桶(或216).如果指定的容器持续时间需要更多的容器,则柱状图使用与最大箱数相对应的较大箱宽。

此选项不适用于类别数据的直方图。

请注意

如果你设置BinLimitsNumBinsBinEdges,或BinWidth财产,那么BinMethod属性设置为“手动”

例子:直方图(X,“BinMethod”、“整数”)创建一个柱状图,容器以整数为中心。

容器的宽度,指定为标量。当你指定BinWidth,然后柱状图可以使用最多65,536个垃圾桶(或216).如果指定的容器宽度需要更多的容器,则柱状图使用与最大箱数相对应的较大箱宽。

对于datetime和duration数据,取值为“BinWidth”可以是标量持续时间或日历持续时间。

此选项不适用于类别数据的直方图。

例子:直方图(X, BinWidth, 5)使用宽度为5的箱子。

类别显示顺序,指定为“提升”“下”,或“数据”.与“提升”“下”,直方图显示增加或减少条高。默认的“数据”值使用输入数据中的类别顺序,C

此选项仅适用于分类数据。

直方图显示样式,指定为“酒吧”“楼梯”.指定“楼梯”显示一个阶梯图,它显示直方图的轮廓而不填充内部。

的默认值“酒吧”显示直方图条形图。

例子:直方图(X,“DisplayStyle”、“楼梯”)绘制直方图的轮廓。

直方图条边缘的透明度,指定为之间的标量值01包容性。的值1意味着完全不透明0意思是完全透明(看不见)。

例子:直方图(X, EdgeAlpha, 0.5)创建具有半透明条形边的直方图。

直方图边缘颜色,指定为以下值之一:

  • “没有”-没有绘制边。

  • “汽车”-自动选择每条边的颜色。

  • RGB三元组、十六进制颜色代码或颜色名称-边缘使用指定的颜色。

    RGB三联体和十六进制颜色代码在指定自定义颜色时很有用。

    • RGB三元组是一个由三个元素组成的行向量,其元素指定颜色的红色、绿色和蓝色组件的强度。强度必须在这个范围内[0, 1];例如,(0.4 0.6 0.7)

    • 十六进制颜色代码是以哈希符号开头的字符向量或字符串标量(),然后是3个或6个十六进制数字,其范围可以是0F.这些值不区分大小写。因此,颜色是代码“# FF8800”“# ff8800”“# F80”,“# f80”是等价的。

    或者,您可以通过名称指定一些常见的颜色。该表列出了已命名的颜色选项、等价的RGB三联体和十六进制颜色代码。

    颜色名称 短名称 RGB值 十六进制颜色代码 外观
    “红色” “r” (1 0 0) “# FF0000”

    样品的颜色为红色

    “绿色” ‘g’ (0 1 0) “# 00 ff00”

    样品的颜色为绿色

    “蓝” “b” (0 0 1) “# 0000 ff”

    样品的颜色是蓝色的

    “青色” “c” (0 1 1) “# 00飞行符”

    样品的颜色为青色

    “红色” “米” (1 0 1) “#就”

    样品的颜色为洋红色

    “黄色” “y” (1 1 0) “# FFFF00”

    样品的颜色为黄色

    “黑” “k” (0 0 0) # 000000的

    样品的颜色为黑色

    “白色” ' w ' (1 1 1) “# FFFFFF”

    样品的颜色为白色

    这里是RGB三联体和十六进制颜色代码的默认颜色MATLAB®用于许多类型的情节。

    RGB值 十六进制颜色代码 外观
    [0 0.4470 - 0.7410) “# 0072 bd”

    RGB三元组样本[0 0.4470 0.7410],呈现深蓝色

    (0.8500 0.3250 0.0980) “# D95319”

    RGB三元组样本[0.8500 0.3250 0.0980],呈暗橙色

    (0.9290 0.6940 0.1250) “# EDB120”

    RGB三元组样本[0.9290 0.6940 0.1250],呈暗黄色

    (0.4940 0.1840 0.5560) “# 7 e2f8e”

    样品RGB三片[0.4940 0.1840 0.5560],呈深紫色

    (0.4660 0.6740 0.1880) “# 77 ac30”

    样品RGB三联体[0.4660 0.6740 0.1880],呈中绿色

    (0.3010 0.7450 0.9330) “# 4 dbeee”

    样品RGB三片[0.3010 0.7450 0.9330],显示为浅蓝色

    (0.6350 0.0780 0.1840) “# A2142F”

    RGB三元组样本[0.6350 0.0780 0.1840],呈暗红色

例子:直方图(X,‘EdgeColor’,‘r’)创建具有红色条边的直方图。

直方图条的透明度,指定为之间的标量值01包容性。柱状图对直方图的所有条使用相同的透明度。的值1意味着完全不透明0意思是完全透明(看不见)。

例子:直方图(X ' FaceAlpha ', 1)创建一个完全不透明的柱状图。

直方图的颜色,指定为以下值之一:

  • “没有”—酒吧没有被填满。

  • “汽车”-直方图条颜色自动选择(默认)。

  • RGB三元组、十六进制颜色代码或颜色名称-条形图用指定的颜色填充。

    RGB三联体和十六进制颜色代码在指定自定义颜色时很有用。

    • RGB三元组是一个由三个元素组成的行向量,其元素指定颜色的红色、绿色和蓝色组件的强度。强度必须在这个范围内[0, 1];例如,(0.4 0.6 0.7)

    • 十六进制颜色代码是以哈希符号开头的字符向量或字符串标量(),然后是3个或6个十六进制数字,其范围可以是0F.这些值不区分大小写。因此,颜色是代码“# FF8800”“# ff8800”“# F80”,“# f80”是等价的。

    或者,您可以通过名称指定一些常见的颜色。该表列出了已命名的颜色选项、等价的RGB三联体和十六进制颜色代码。

    颜色名称 短名称 RGB值 十六进制颜色代码 外观
    “红色” “r” (1 0 0) “# FF0000”

    样品的颜色为红色

    “绿色” ‘g’ (0 1 0) “# 00 ff00”

    样品的颜色为绿色

    “蓝” “b” (0 0 1) “# 0000 ff”

    样品的颜色是蓝色的

    “青色” “c” (0 1 1) “# 00飞行符”

    样品的颜色为青色

    “红色” “米” (1 0 1) “#就”

    样品的颜色为洋红色

    “黄色” “y” (1 1 0) “# FFFF00”

    样品的颜色为黄色

    “黑” “k” (0 0 0) # 000000的

    样品的颜色为黑色

    “白色” ' w ' (1 1 1) “# FFFFFF”

    样品的颜色为白色

    以下是MATLAB在许多类型的绘图中使用的默认颜色的RGB三联体和十六进制颜色代码。

    RGB值 十六进制颜色代码 外观
    [0 0.4470 - 0.7410) “# 0072 bd”

    RGB三元组样本[0 0.4470 0.7410],呈现深蓝色

    (0.8500 0.3250 0.0980) “# D95319”

    RGB三元组样本[0.8500 0.3250 0.0980],呈暗橙色

    (0.9290 0.6940 0.1250) “# EDB120”

    RGB三元组样本[0.9290 0.6940 0.1250],呈暗黄色

    (0.4940 0.1840 0.5560) “# 7 e2f8e”

    样品RGB三片[0.4940 0.1840 0.5560],呈深紫色

    (0.4660 0.6740 0.1880) “# 77 ac30”

    样品RGB三联体[0.4660 0.6740 0.1880],呈中绿色

    (0.3010 0.7450 0.9330) “# 4 dbeee”

    样品RGB三片[0.3010 0.7450 0.9330],显示为浅蓝色

    (0.6350 0.0780 0.1840) “# A2142F”

    RGB三元组样本[0.6350 0.0780 0.1840],呈暗红色

如果您指定DisplayStyle作为“楼梯”,然后柱状图不使用FaceColor财产。

例子:直方图(X,‘FaceColor’,‘g’)创建一个带有绿色条的直方图。

行样式,指定为该表中列出的选项之一。

线条样式 描述 产生的线
“- - -” 实线

实线样本

“——” 虚线

虚线样本

“:” 虚线

虚线样本

“-”。 Dash-dotted线

虚线的样本,带有交替的虚线和点

“没有” 没有线 没有线

条形轮廓的宽度,以点为单位指定为正值。一点等于1/72英寸。

例子:1.5

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

规格化的类型,指定为该表中的一个值。对于每一个本

  • v 为bin值。

  • c 是容器中元素的数量。

  • w 是容器的宽度。

  • N 是输入数据中元素的数量。如果数据包含,该值可以大于被装箱的数据NaT,或<定义>值,或者如果某些数据位于容器限制之外。

价值 本值 笔记
“数”(默认)

v c

  • 计数或观察的频率。

  • 箱值之和小于或等于元素个数(X).总和小于元素个数(X)仅当一些输入数据没有包含在容器中时。

  • 对于分类数据,bin值之和小于或等于其中之一元素个数(X)sum (ismember (X(:),类别))

“countdensity”

v c w

  • 计数或频率按料仓宽度缩放。

  • 每条条的面积(高*宽)是在箱子里观察到的数量。棒状区域的总和小于或等于元素个数(X)

  • 对于分类直方图,这与“数”

请注意

“countdensity”不支持dateti金宝appme或duration数据。

“cumcount”

v j 1 c j

  • 累计计数。每个箱子的值是该箱子和之前所有箱子中观察到的累计数量。

  • 最后一栏的高度小于或等于元素个数(X)

  • 对于分类直方图,最后一根柱的高度小于或等于元素个数(X)sum (ismember (X(:),类别))

“概率”

v c N

  • 相对概率。

  • 杆高之和小于或等于1

“pdf”

v c N w

  • 概率密度函数估计。

  • 每条杆的面积是观测值的相对数量。棒状区域的总和小于或等于1

  • 对于分类直方图,这与“概率”

请注意

“pdf”不支持dateti金宝appme或duration数据。

“提供”

v j 1 c j N

  • 累积密度函数估计。

  • 每个竖条的高度等于在箱子和之前所有箱子中观察到的累积相对数量。最后一栏的高度小于或等于1

  • 对于分类数据,每个条形图的高度等于每个类别和之前所有类别的观测值的累积相对数量。

例子:直方图(X,“正常化”,“pdf”)图的概率密度函数的估计X

要显示的类别数目,指定为标量。属性可以更改柱状图中显示的类别的顺序“DisplayOrder”选择。

此选项仅适用于分类数据。

条的方向,指定为“垂直”“水平”

例子:直方图(X,“定位”,“水平”)创建具有水平条的直方图。

切换属于未显示类别的数据的摘要显示,指定为“上”“关闭”,或数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

将此选项设置为“上”在直方图中显示带有名称的附加条“别人”.这个额外的条数不属于直方图中显示的类别的所有元素。

属性可以更改柱状图中显示的类别数量以及它们的顺序“NumDisplayBins”“DisplayOrder”选项。

此选项仅适用于分类数据。

输出参数

全部展开

柱状图,作为对象返回。有关更多信息,请参见直方图特性

属性

直方图特性 直方图外观和行为

对象的功能

morebins 增加直方图容器的数量
fewerbins 减少直方图箱子的数量

例子

全部折叠

生成10,000个随机数并创建一个直方图。的柱状图函数自动选择适当数量的容器来覆盖中值的范围x并显示出潜在分布的形状。

x = randn (10000 1);h =直方图(x)

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

数据:[10000x1 double]值:[2 21 6 7 17 29 57 86 133 193 271 331 421 540 613…NumBins: 37 BinEdges:[-3.8000 -3.6000 -3.4000 -3.2000 -3 -2.8000 -2.6000…BinWidth: 0.2000 BinLimits:[-3.8000 3.6000]正常化:'count' FaceColor: 'auto' EdgeColor:[0 00]显示所有属性

的输出参数时柱状图函数时,它返回一个直方图对象。您可以使用这个对象来检查直方图的属性,例如箱子的数量或箱子的宽度。

找到直方图容器的数量。

nbins = h.NumBins
nbins = 37

绘制一个直方图,1000个随机数字被分成25个等间距的箱子。

x = randn (1000 1);nbins = 25;h =直方图(x, nbins)

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

数据:[1000x1 double]值:[1 3 0 6 14 19 31 54 74 80 92 122 104 115 88 80 38 32…NumBins: 25 BinEdges:[-3.4000 -3.1200 -2.8400 -2.5600 -2.2800 -2 -1.7200…BinWidth: 0.2800 BinLimits:[-3.4000 3.6000]正常化:'count' FaceColor: 'auto' EdgeColor:[0 00]显示所有属性

找到垃圾箱算数。

数量= h.Values
数=1×251 3 0 6 14 19 31 54 74 80 92 122 104 115 88 80 38 32 21 9 5 5 5 0

生成1000个随机数并创建一个直方图。

X = randn (1000 1);h =直方图(X)

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

数据:[1000x1 double]值:[3 12 15 17 27 53 79 85 101 127 110 124 95 67 32 27…NumBins: 23 BinEdges:[-3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000…BinWidth: 0.3000 BinLimits:[-3.3000 3.6000]正常化:'count' FaceColor: 'auto' EdgeColor:[0 00]显示所有属性

使用morebins函数粗略地调整容器的数量。

Nbins = morebins (h);Nbins = morebins (h)

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

Nbins = 29

通过显式设置容器的数量,在细粒度级别上调整容器。

h.NumBins = 31;

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

生成1000个随机数并创建一个直方图。指定容器边缘为直方图边缘上带有宽容器的向量,以捕获不满足要求的离群值 | x | < 2 .第一个向量元素是第一个箱子的左边缘,最后一个向量元素是最后一个箱子的右边缘。

x = randn (1000 1);Edges = [-10 -2:0.25:2 10];h =直方图(x,边);

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

指定归一化财产“countdensity”把含有异常值的箱子弄平。现在,区域每个箱体(而不是高度)表示该间隔内观测的频率。

h.Normalization =“countdensity”

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

创建一个表示投票的绝对向量。向量中的类别是“是的”“不”,或“决定”

A = [0 0 1 1 0 0 0 0 NaN 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1];C = categorical(A,[10 0 NaN],{“是的”“不”“决定”})
C =1 x27分类列1到9不是的是的是的不不不不列10到16决定决定是的不不不列17到25没有是的是的不不不是的是的列26日至27日是的是的

绘制投票的分类直方图,使用相对条宽0.5

h =直方图(C,“BarWidth”, 0.5)

图中包含一个轴对象。axis对象包含一个类别直方图类型的对象。

h = Histogram with properties: Data: [no no yes yes yes no…]值:[11 14 2]NumDisplayBins: 3 Categories: {'yes' 'no' 'undecided'} DisplayOrder: 'data' Normalization: 'count' DisplayStyle: 'bar' FaceColor: 'auto' EdgeColor:[0 0 0]显示所有属性

生成1,000个随机数,并使用“概率”规范化。

x = randn (1000 1);h =直方图(x),“归一化”“概率”

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

数据:[1000x1 double]值:[0.0030 1.0000e-03 0.0020 0.0150 0.0170 0.0270 0.0530…NumBins: 23 BinEdges:[-3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000…[-3.3000 3.6000]正常化:'probability' FaceColor: 'auto' EdgeColor:[0 00]显示所有属性

计算杆高的总和。通过这种归一化,每个竖条的高度等于在这个bin区间内选择一个观测值的概率,所有竖条的高度和为1。

S =总和(h.Values)
S = 1

生成两个随机数字向量,并在同一图中绘制每个向量的直方图。

x = randn (2000 1);Y = 1 + randn(5000,1);h1 =直方图(x);持有h2 =直方图(y);

图中包含一个轴对象。坐标轴对象包含两个直方图类型的对象。

由于直方图的样本量和箱宽不同,很难进行比较。对直方图进行归一化,使所有的柱高加为1,并使用统一的仓宽。

h1。N或malization =“概率”;h1。BinWidth = 0.25;h2。N或malization =“概率”;h2。BinWidth = 0.25;

图中包含一个轴对象。坐标轴对象包含两个直方图类型的对象。

生成1000个随机数并创建一个直方图。返回直方图对象以调整直方图的属性,而不重新创建整个图。

x = randn (1000 1);h =直方图(x)

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

数据:[1000x1 double]值:[3 12 15 17 27 53 79 85 101 127 110 124 95 67 32 27…NumBins: 23 BinEdges:[-3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000…BinWidth: 0.3000 BinLimits:[-3.3000 3.6000]正常化:'count' FaceColor: 'auto' EdgeColor:[0 00]显示所有属性

确切地指定要使用多少容器。

h.NumBins = 15;

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

用向量指定箱子的边。向量中的第一个值是第一个箱子的左边缘。最后一个值是最后一个箱子的右边。

h.BinEdges =(三3);

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

改变柱状图的颜色。

h.FaceColor = [0 0.5 0.5];h.EdgeColor =“r”

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

生成5,000个正态分布的随机数,均值为5,标准差为2。绘制一个直方图归一化设置为“pdf”得到概率密度函数的估计。

X = 2*randn(5000,1) + 5;直方图(x,“归一化”“pdf”

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

在本例中,正态分布数据的底层分布是已知的。但是,你可以使用“pdf”通过与已知的概率密度函数进行比较,确定数据的潜在概率分布的直方图。

均值正态分布的概率密度函数 μ ,标准偏差 σ 和方差 σ 2

f x μ σ 1 σ 2 π 经验值 - x - μ 2 2 σ 2

叠加一个均值为5、标准差为2的正态分布的概率密度函数图。

持有y = 5:0.1:15;μ= 5;σ= 2;(f = exp () - yμ。^ 2. /(2 *σ^ 2))。/σ*√(2 *π));情节(y, f,“线宽”, 1.5)

图中包含一个轴对象。坐标轴对象包含两个直方图、直线类型的对象。

使用savefig函数保存柱状图数字

直方图(randn (10));savefig (“histogram.fig”);关闭gcf

使用openfig将直方图加载回MATLAB。openfig也返回图形的句柄,h

h = openfig (“histogram.fig”);

图中包含一个轴对象。坐标轴对象包含一个直方图类型的对象。

使用findobj函数从图形句柄定位正确的对象句柄。这允许您继续操作用于生成图形的原始直方图对象。

y = findobj (h,“类型”“直方图”
y = Histogram with properties: Data: [10x10 double] Values: [2 17 28 32 16 32] NumBins: 7 BinEdges: [-3 -2 -1 0 1 2 3 4] BinWidth: 1 BinLimits: [-3 4] Normalization: 'count' FaceColor: 'auto' EdgeColor:[0 0 0]显示所有属性

提示

  • 使用创建的直方图图柱状图在绘图编辑模式下有一个上下文菜单,可以在图形窗口中进行交互操作。例如,您可以使用上下文菜单交互式地更改容器的数量、对齐多个直方图或更改显示顺序。

  • 当您向直方图添加数据提示时,它们会显示箱边和箱数。

扩展功能

介绍了R2014b