主要内容

histogram2

二元直方图的阴谋

描述

二元直方图是一种用于数值数据的条形图,它将数据分组到二维箱子中。创建一个Histogram2对象,则可以通过更改其属性值来修改直方图的各个方面。这对于快速修改箱子的属性或更改显示非常有用。

创建

描述

例子

直方图2(X, Y创建一个双变量直方图图XY.的histogram2函数使用自动排放算法,返回带均匀区域的箱,选择覆盖元素范围XY并揭示了分布的潜在形态。histogram2将箱子显示为3d矩形条,每个条的高度表示箱子中的元素数量。

例子

直方图2(X, Ynbins指定要在直方图的每个维度中使用的箱子数量。

例子

直方图2(X, Yxedges.Yedges使用向量指定每个维度中箱子的边缘xedges.Yedges

histogram2(“XBinEdges”,xedges.,'ybinedges',Yedges“BinCounts”,手动指定bin计数。histogram2绘制指定的垃圾箱数,并且没有任何数据搭档。

例子

直方图2(___名称,值指定一个或多个附加选项名称,值使用以前的任何语法对参数。例如,您可以指定'binwidth'还有一个二元向量用来调整每个维度中箱子的宽度,或者'正常化'使用有效选项('数数'“概率”'校长'“pdf”'cumcount', 或者'CDF')来使用不同类型的标准化。有关属性列表,请参见直方图2属性

直方图2(斧头___绘制到指定的轴上斧头而不是进入当前的轴(GCA.).的选项斧头可以在先前语法中之前在任何输入参数组合之前。

例子

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

输入参数

展开全部

要分布在各个箱子中的数据,指定为向量、矩阵或多维数组的单独参数。XY必须是相同的大小。如果XY那么,不是向量吗histogram2将它们视为单一列向量,X(:)y(:),并绘制单个直方图。

对应的元素XY指定xy2-D数据点的坐标,[X (k), Y (k)].的数据类型XY可以不同,但​​是histogram2将这些输入连接为单个输入N——- - - - - -2主导数据类型的矩阵。

histogram2忽略所有价值观。相似地,histogram2忽略了值,除非箱边缘明确指定或者作为一个宾边缘。虽然, 和通常未绘制值,它们仍包含在归一化计算中,包括数据元素的总数,例如“概率”

请注意

如果X或者Y包含整数类型INT64.或者UINT64大于flintmax,然后建议您显式指定直方图箱边缘。histogram2使用双精度自动吹入输入数据,这缺少大于数字的整数精度flintmax

数据类型:单身的|双倍的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64|逻辑

每个维度中的箱数,指定为正整数的正标量整数或两个元素向量。如果您未指定nbins,然后histogram2根据中的值自动计算要使用多少个箱子XY

  • 如果nbins是标量吗histogram2使用每个维度中的许多垃圾箱。

  • 如果nbins是矢量吗nbins (1)控件中容器的数量x尺寸和nbins (2)控件中容器的数量y维度。

例子:直方图2(x,y,20)每个维度使用20个箱子。

例子:直方图2(x,y,[10 20])使用10个箱子x-尺寸和20个箱子在y维度。

bin边缘x-维,指定为向量。Xedges (1)是第一个垃圾箱的第一边x- 努力和Xedges(结束)是最后一个垃圾桶的外缘。

价值[X (k), Y (k)]在里面(I,J)如果Xedges(我)≤.X (k)<Xedges(I + 1)Yedges (j)≤.Y (k)<Yedges (j + 1).每个维度的最后一个箱还包括最后一个(外)边缘。例如,[X (k), Y (k)]落入如果在最后一行Xedges(结束-1)≤.X (k)≤.Xedges(结束)Yedges(我)≤.Y (k)<Yedges (i + 1)

数据类型:单身的|双倍的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64|逻辑

bin边缘y-维,指定为向量。yedges(1)是第一个垃圾箱的第一边y- 努力和yedges(结束)是最后一个垃圾桶的外缘。

价值[X (k), Y (k)]在里面(I,J)如果Xedges(我)≤.X (k)<Xedges(I + 1)Yedges (j)≤.Y (k)<Yedges (j + 1).每个维度的最后一个箱还包括最后一个(外)边缘。例如,[X (k), Y (k)]落入如果在最后一行Xedges(结束-1)≤.X (k)≤.Xedges(结束)Yedges(我)≤.Y (k)<Yedges (i + 1)

数据类型:单身的|双倍的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64|逻辑

bin计数,指定为矩阵。使用此输入将箱数传递给histogram2当您不希望单独执行bin计数计算时histogram2做任何数据搭档。

一定是大小相同的矩阵[长度(XBinEdges) 1 (YBinEdges) 1]这样它为每个箱子指定一个箱子数。

例子:直方图2('xbineges', - 1:1,'ybineges', - 2:2,'bincounts',[1 2 3 4; 5 6 7 8])

轴对象。如果您没有指定轴,那么histogram2功能使用当前轴(GCA.).

名称-值对的观点

指定可选的逗号分隔对名称,值参数。名称参数名和价值是相应的价值。名称必须出现在引号内。您可以按如下顺序指定几个名称和值对参数Name1, Value1,…,的家

例子:histogram2 (X, Y, BinWidth, 10 [5])

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

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

价值 描述
“汽车”

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

“斯科特。”

斯科特的规则是最佳的,如果数据接近是共同正常分布的。此规则也适用于大多数其他分布。它使用了一个箱的大小[3.5 * std(x(:))* numel(x)^( - 1/4),3.5 * std(y(:))* numel(y)^( - 1/4)]

'FD'

Freedman-Diaconis规则对数据中的异常值不敏感,可能更适合于具有重尾分布的数据。它使用了一个箱的大小[2 *差(X(:)) *元素个数(X) ^(1/4), 2 *差(Y(:)) *元素个数(Y) ^ (1/4), 在哪里位差是四分位数范围。

'整数'

整数规则对整数数据很有用,因为它会在成对的整数上创建符合子。它为每个维度使用1的1个宽度,并将箱边的半区中的中途分开。

为了避免意外地创建太多的箱子,你可以使用这个规则来创建1024个箱子的限制(210.).如果维度的数据范围大于1024,则整数规则使用更宽的频率。

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

请注意

如果你设置了麻木XBinEdgesYBinEdges百宽Xbinlimits., 或者ybinlimits.属性,那么Binmethod.属性设置为'手动的'

例子:histogram2 (X, Y,“BinMethod”、“整数”)创建一对等级直方图,其中距离整数成对为中心。

每个维度中箱子的宽度,指定为一个正整数的二元向量,[xwidth ywidth]

如果您指定百宽,然后histogram2最多可以使用1024个箱子(210.)沿每个维度。如果指定的箱子宽度需要更多的箱子,那么histogram2使用与最大箱子数量对应的更大的箱子宽度。

例子:histogram2 (X, Y, BinWidth, 10 [5])使用有大小的箱子5x尺寸和大小10.y维度。

直方图显示样式,指定为'bar3'或者'瓦'.指定'瓦'将直方图显示为矩形块阵列,颜色指示仓位值。

的默认值'bar3'使用3d柱状图显示直方图。

例子:直方图2(x,y,'displaystyle','瓷砖')将直方图绘制成一个矩形的瓷砖阵列。

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

例子:histogram2 (X, Y, 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] '#00ffff'

    “红色” “米” [1 0 1] '#ff00ff'

    '黄色的' “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”

    (0.8500 0.3250 0.0980) “# D95319”

    (0.9290 0.6940 0.1250) '#edb120'

    (0.4940 0.1840 0.5560) “# 7 e2f8e”

    (0.4660 0.6740 0.1880) “# 77 ac30”

    (0.3010 0.7450 0.9330) “# 4 dbeee”

    [0.6350 0.0780 0.1840] “# A2142F”

例子:histogram2 (X, Y,‘EdgeColor’,‘r’)创建一个带有红色条边的三维直方图。

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

例子:histogram2 (X, Y, FaceAlpha, 0.5)使用半透明条创建一条双透明直方图绘图。

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

  • “没有”- 没有填充酒吧。

  • “平”-条颜色随高度变化。不同高度的条有不同的颜色。颜色是从图形或轴颜色图中选择的。

  • “汽车”-酒吧颜色是自动选择(默认)。

  • RGB Triplet,十六进制颜色代码或颜色名称 - 栏填充了指定的颜色。

    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] '#00ffff'

    “红色” “米” [1 0 1] '#ff00ff'

    '黄色的' “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”

    (0.8500 0.3250 0.0980) “# D95319”

    (0.9290 0.6940 0.1250) '#edb120'

    (0.4940 0.1840 0.5560) “# 7 e2f8e”

    (0.4660 0.6740 0.1880) “# 77 ac30”

    (0.3010 0.7450 0.9330) “# 4 dbeee”

    [0.6350 0.0780 0.1840] “# A2142F”

如果您指定显示器作为'楼梯',然后histogram2不使用FaceColor.财产。

例子:histogram2 (X, Y,‘FaceColor’,‘g’)使用绿杆创建一个三-D直方图图。

对直方图栏的照明效果,指定为此表中的值之一。

价值 描述
'点燃'

柱状图显示了一种伪照明效果,柱状图的边缘相对于顶部使用了更深的颜色。这些棒不受轴上其他光源的影响。

这是时的默认值显示器'bar3'

“平”

直方图不是自动点亮的。在有其他光线物体的情况下,灯光效果是均匀的。

“没有”

直方图不会自动点亮,灯光不会影响直方图。

facelighting.只能“没有”什么时候显示器'瓦'

例子:直方图2(x,y,'facelighting','none')关闭直方图的照明。

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

线条样式 描述 结果线
'-' 实线

“——” 虚线

':' 虚线

“-”。 Dash-dotted线

“没有” 没有线 没有线

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

例子:1.5

数据类型:单身的|双倍的|INT8.|int16|int32|INT64.|uint8.|uint16|UINT32|UINT64

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

  • v 是bin值。

  • c 是垃圾箱中的元素数。

  • 一个 w x w y 是每个垃圾箱的区域,计算使用的xy本宽度。

  • N 是输入数据中的元素数量。如果数据包含,则该值可以大于已装箱数据值,或者某些数据位于bin限制之外。

价值 本值 笔记
'数数'(默认)

v c

  • 计数或观测频率。

  • bin值之和小于或等于元素个数(X)元素个数(y).和小于元素个数(X)元素个数(y)只有在箱中不包含一些输入数据时。

'校长'

v c 一个

  • 由箱区域缩小的计数或频率。

  • 每条条的体积(高度*面积)是在箱子里观察到的数量。杆体体积之和小于或等于元素个数(X)元素个数(y)

'cumcount'

v σ. j 1 c j

  • 累计计数。每个bin值是每个bin和前两个bin的累计观测数xy方面。

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

“概率”

v c N

  • 相对概率。

  • 条形高度之和小于或等于1

“pdf”

v c N 一个

  • 概率密度函数估计。

  • 每个杆的体积是相对观察的数量。杆体体积之和小于或等于1

'CDF'

v σ. j 1 c j N

  • 累积密度函数估计。

  • 每个杆的高度等于每个箱中的每个箱中的累积相对观察数和所有先前的垃圾箱xy方面。最后一条栏的高度小于或等于1

例子:histogram2 (X, Y,“正常化”,“pdf”)绘制概率密度函数的估计值XY

切换空箱子的显示,指定为其中之一“关闭”或者“上”.默认值为“关闭”

例子:histogram2 (X, Y,“ShowEmptyBins”,“上”)打开空箱子的显示。

垃圾箱限制x维,指定为一个二元向量,[xbmin,xbmax].对象中的第一个和最后一个bin边缘x维度。

histogram2只有包含在箱内限制内落在BIN限制的数据,数据(数据(:,1)> = xbmin和数据(:,1)<= xbmax)

选择模式为仓限x维度,指定为“汽车”或者'手动的'.默认值为“汽车”,使箱子限制自动调整到沿x轴的数据。

如果您显式指定其中之一Xbinlimits.或者XBinEdges,然后XBinLimitsMode自动设置为'手动的'.在这种情况下,指定XBinLimitsMode作为“汽车”要重新调整容器对数据的限制。

垃圾箱限制y维,指定为一个二元向量,[YBMIN,YBMAX].对象中的第一个和最后一个bin边缘y维度。

histogram2只有包含在箱内限制内落在BIN限制的数据,数据(数据(:,2)> = ybmin&data(:,2)<= ybmax)

选择模式为仓限y维度,指定为“汽车”或者'手动的'.默认值为“汽车”,使BIN限制自动沿Y轴调整到数据。

如果您显式指定其中之一ybinlimits.或者YBinEdges,然后YBinLimitsMode自动设置为'手动的'.在这种情况下,指定YBinLimitsMode作为“汽车”要重新调整容器对数据的限制。

输出参数

展开全部

二元直方图,作为对象返回。有关更多信息,请参阅直方图2属性

特性

直方图2属性 直方图2外观和行为

对象的功能

morebins 增加直方图垃圾箱数量
fewerbins 减少直方图箱的数量

例子

全部折叠

生成10,000对随机数并创建一对直方图。的histogram2函数自动选择适当数量的箱子来覆盖其中的值范围xy并显示潜在分布的形状。

x = randn (10000 1);y = randn (10000 1);h = histogram2 (x, y)
h = histgram2 with properties: Data: [10000x2 double] Values: [25x28 double] NumBins: [25 28] XBinEdges: [1x26 double] YBinEdges: [1x29 double] BinWidth:[0.3000 0.3000]归一化:'count' FaceColor: 'auto' EdgeColor:[0.1500 0.1500 0.1500]显示所有属性
包含(“x”)ylabel(“y”

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

对象的输出参数时histogram2函数,它返回一个直方图2对象。您可以使用此对象检查直方图的属性,例如箱数或距离的宽度。

找到每个维度中的直方图箱数。

nXnY = h.NumBins
nXnY =1×225 28

将1,000对随机数的双方随机数绘制成25个等间隔的箱,在每个维度中使用5个箱。

x = randn (1000 1);y = randn (1000 1);nbins = 5;h = histogram2 (x, y, nbins)

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

h = histgram2 with properties: Data: [1000x2 double] Values: [5x5 double] NumBins: [5 5] XBinEdges: [-4 -2.4000 -0.8000 0.8000 2.4000 4] YBinEdges: [-4 -2.4000 -0.8000 0.8000 2.4000 4] BinWidth:[1.6000 1.6000]归一化:'count' FaceColor: 'auto' EdgeColor:[0.1500 0.1500 0.1500]显示所有属性

找到产生的垃圾箱计数。

数量= h.Values
counts =5×511 2 3 10 2 40 124 47 41 119 341 109 10 1 32 117 33 10 4 8 10 0

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

x = randn (1000 1);y = randn (1000 1);h = histogram2 (x, y)

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

h = histgram2 with properties: Data: [1000x2 double] Values: [15x15 double] NumBins: [15 15] XBinEdges: [1x16 double] YBinEdges: [1x16 double] BinWidth:[0.5000 0.5000]归一化:'count' FaceColor: 'auto' EdgeColor:[0.1500 0.1500]显示所有属性

使用morebins粗略地调整垃圾箱数量的功能x尺寸。

nbins = morebins (h,“x”);nbins = morebins (h,“x”

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

nbins =1×219 15.

使用fewerbins调整垃圾箱数量的功能y尺寸。

nbins = freebins(h,“y”);nbins = freebins(h,“y”

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

nbins =1×219 11.

通过显式设置箱子的数量来在细粒度级别上调整箱子的数量。

H.Numbins = [20 10];

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

使用1,000个通常分布的随机数在每个维度中使用12个垃圾箱创建一团直方图。指定FaceColor.作为“平”根据高度给直方图柱着色。

H = (randn(1000,1),randn(1000,1),[12 12],“FaceColor”“平”);colorbar

图包含轴。轴包含类型直方图2的对象。

生成随机数据并绘制一个二元平铺直方图。通过指定显示空容器ShowEmptyBins作为“上”

x = 2 * randn (1000 1) + 2;y = 5 * randn (1000 1) + 3;h = histogram2 (x, y,“DisplayStyle”'瓦'“ShowEmptyBins”“上”);

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

生成1000对随机数并创建一个二元直方图。使用两个向量指定箱边缘,在直方图的边界上具有无限宽的箱,以捕获不满足的所有异常值 | x | < 2

x = randn (1000 1);y = randn (1000 1);Xedges = [-inf -2:0.4:2 inf];yedges = [-inf -2:0.4:2 inf];h =直方图2(x,y,xedges,yedges)

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

H = Histogram2具有属性:数据:[1000x2双]值:[12×12双] NumBins:[12 12] XBinEdges:[1x13双] YBinEdges:[1x13双] BinWidth: '非均匀' 归一化: '计数' FaceColor:“自动'Edgecolor:[0.1500 0.1500 0.1500]显示所有属性

当库边是无穷大时,histogram2将每个离群值的箱子(沿直方图的边界)显示为旁边箱子宽度的两倍。

指定归一化财产'校长'删除包含异常值的箱子。现在体积每个bin代表该区间内的观测频率。

h.Normalization ='校长'

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

生成1,000对随机数,并使用“概率”正常化。

x = randn (1000 1);y = randn (1000 1);h = histogram2 (x, y,'正常化'“概率”

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

h =具有属性的直方图2:数据:[1000x2双]值:[15x15双] Numbins:[15 15] Xbineges:[1x16双] ybineges:[1x16双] Binwidth:[0.5000 0.5000]标准化:'概率'面部:'Auto'Edgecolor:[0.1500 0.1500 0.1500]显示所有属性

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

s = sum(h.values(:))
S = 1

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

x = randn (1000 1);y = randn (1000 1);h = histogram2 (x, y)

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

h = histgram2 with properties: Data: [1000x2 double] Values: [15x15 double] NumBins: [15 15] XBinEdges: [1x16 double] YBinEdges: [1x16 double] BinWidth:[0.5000 0.5000]归一化:'count' FaceColor: 'auto' EdgeColor:[0.1500 0.1500]显示所有属性

用高度彩色直方图。

h.FaceColor =“平”

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

改变每个方向上的箱子数量。

h.NumBins = [10 25];

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

将直方图显示为平铺图。

h.DisplayStyle ='瓦';查看(2)

图包含轴。轴包含类型直方图2的对象。此对象表示y与x。

使用Savefig保存一个功能histogram2数字

直方图2(Randn(100,1),Randn(100,1));Savefig('timogram2.fig');关闭GCF.

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

h = OpenFig('timogram2.fig');

图包含轴。轴包含类型直方图2的对象。

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

y = findobj (h,“类型”'直方图2'
y =具有属性的直方图2:数据:[100x2双]值:[7x6双] Numbins:[7 6] Xbineges:[-3 -2 -1 0 1 2 3 4] ybinedges:[-3 -2 -1 0 12 3] BinWidth:[1 1]归一化:'Count'FaceColor:'Auto'Edgecolor:[0.1500 0.1500 0.1500]显示所有属性

提示

  • 使用的直方图图histogram2在绘图编辑模式中有一个上下文菜单,它允许在图形窗口中进行交互操作。例如,可以使用上下文菜单交互式地更改箱子的数量、对齐多个直方图或更改显示顺序。

扩展能力

在R2015B中介绍