Main Content

polarhistogram

极坐标中的直方图

  • Polar histogram

说明

示例

polarhistogram(theta) 通过将 theta 中的值分为等间距的 bin,在极坐标中创建一个直方图。指定弧度值。

示例

polarhistogram(theta,nbins) 使用正整数 nbins 指定的 bin 数目。

polarhistogram(theta,edges)theta 划分为由向量 edges 指定 bin 边界的 bin。所有 bin 都有左边界,但只有最后一个 bin 有右边界。换言之,最后一个 bin 有两个边界。

polarhistogram('BinEdges',edges,'BinCounts',counts) 使用手动指定的 bin 边界和关联的 bin 计数。polarhistogram 函数不执行任何数据分 bin。

示例

polarhistogram(___,Name,Value) 使用一个或多个名称-值对组参量指定其他选项。例如,您可以指定 'FaceAlpha' 和一个介于 0 和 1 之间的标量值,从而使用半透明条形。

polarhistogram(pax,___) 将在 pax 指定的极坐标区(而不是当前坐标区)中绘制图形。

示例

h = polarhistogram(___) 返回 Histogram 对象。在创建直方图之后可使用 h 对其进行修改。有关属性列表,请参阅 Histogram 属性

示例

全部折叠

创建由介于 0 和 2π 之间的值组成的向量。创建一个直方图,该直方图显示划分为六个 bin 的数据。

theta = [0.1 1.1 5.4 3.4 2.3 4.5 3.2 3.4 5.6 2.3 2.1 3.5 0.6 6.1];
polarhistogram(theta,6)

在 R2022a 之前,默认情况下极坐标区不包括度符号。要添加度符号,请使用 pax = gca 获取极坐标区。然后使用 pax.ThetaTickLabel = string(pax.ThetaTickLabel) + char(176) 修改刻度标签。

使用介于 -ππ 之间的 100,000 个值创建一个直方图,然后将数据划分到 25 个 bin 中。

theta = atan2(rand(100000,1)-0.5,2*(rand(100000,1)-0.5));
polarhistogram(theta,25);

在极坐标中创建一个直方图,然后更改其外观。通过将 FaceColor 属性设置为颜色名称字符向量(例如 'red')或 RGB 三元组,指定条形的颜色。通过将 FaceAlpha 属性设置为介于 0 和 1 之间的值,指定透明度。

theta = atan2(rand(100000,1)-0.5,2*(rand(100000,1)-0.5));
polarhistogram(theta,25,'FaceColor','red','FaceAlpha',.3);

在极坐标中创建一个直方图。将直方图对象赋给变量 h

theta = atan2(rand(100000,1)-0.5,2*(rand(100000,1)-0.5));
h = polarhistogram(theta,25)

h = 
  Histogram with properties:

             Data: [100000x1 double]
           Values: [6232 7236 4699 2717 1908 1641 1622 1755 2207 3463 6471 6806 6429 6741 6380 3422 2233 1777 1570 1633 1899 2768 4755 7273 6363]
          NumBins: 25
         BinEdges: [-3.1416 -2.8903 -2.6389 -2.3876 -2.1363 -1.8850 -1.6336 -1.3823 -1.1310 -0.8796 -0.6283 -0.3770 -0.1257 0.1257 0.3770 0.6283 0.8796 1.1310 1.3823 1.6336 1.8850 2.1363 2.3876 2.6389 2.8903 3.1416]
         BinWidth: 0.2513
        BinLimits: [-3.1416 3.1416]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0 0 0]

  Use GET to show all properties

在创建直方图对象之后可使用 h 访问并修改其属性。例如,通过设置直方图对象的 DisplayStyle 属性,仅显示直方图的轮廓。

h.DisplayStyle = 'stairs';

输入参数

全部折叠

要分配到各个 bin 的数据,指定为向量或矩阵。无论您指定向量还是矩阵,polarhistogram 都会创建一个直方图。指定弧度值。要将度转换为弧度,请使用 deg2rad

对应于同一角度方向的值之间刚好相差 2π,并划分到同一个 bin。polarhistogram 不会将 NaNInf-Inf 值划分到任何 bin。

示例: theta = [0 0.4 0.5 0.7 2.3 3.0 1.7 0.3];

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

bin 数量,指定为正整数。如果不指定 nbins,则 polarhistogram 基于 theta 中的值自动计算将使用多少个 bin。

示例: nbins = 15;

bin 边界,指定为向量。最小和最大边缘值之差必须小于或等于 2π。

示例: polarhistogram('BinEdges',[0 pi/3 pi 3*pi/2 2*pi],'BinCounts',[5 3 4 6])

bin 计数,指定为向量。如果您单独执行 bin 计数计算,而不想让 polarhistogram 执行任何数据分 bin,可以使用此选项。

示例: polarhistogram('BinEdges',[0 pi/3 pi 3*pi/2 2*pi],'BinCounts',[5 3 4 6])

PolarAxes 对象。如果您不指定极坐标区,polarhistogram 将使用当前坐标区。polarhistogram 不支持在笛卡尔坐标区中绘图。

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: polarhistogram(theta,'FaceAlpha',0.3) 创建一个具有半透明条形的直方图。

此处所列的直方图属性只是子集。有关完整列表,请参阅 Histogram 属性

bin 范围,指定为 [bmin,bmax] 形式的二元素向量,其中 bmin 小于 bmax

此选项使用介于 bminbmax(含)之间的输入数组值绘制直方图。即 theta(theta>=bmin & theta<=bmax)

示例: polarhistogram(theta,'BinLimits',[-pi/2 pi/2]) 仅使用 theta 中介于 -pi/2pi/2(含二者)之间的值绘制直方图。

bin 顶部的宽度,指定为小于 2π 的标量。

polarhistogram 使用的 bin 数量最多为 65,536 个(即 216)。如果指定的 bin 宽度需要更多 bin,polarhistogram 将使用最大数目的 bin 并相应地调整 bin 宽度。

示例: polarhistogram(theta,'BinWidth',pi) 使用宽度为 π 的 bin。

归一化类型,指定为此表中的一个值。

描述
'count'

默认的归一化方案。每个条形的高度是每个 bin 中累积的观测值数量。条形高度的总和是 numel(theta)

'probability'

每个条形的高度是相对的观测值数量。每个高度的计算方法为:(bin 内的观测值数量/观测值总数量)。条形高度的总和是 1

'countdensity'

每个条形的高度等于 bin 内的观测值数量/bin 宽度。

'pdf'

概率密度函数的估计值。每个条形的高度等于(bin 内的观测值数量)/(观测值总数量 * bin 宽度)。每个条形的面积是相对的观测值数量。条形面积的总和是 1

'cumcount'

每个条形的高度是每个 bin 及以前的所有 bin 中累积的观测值数量。最后一个条形的高度是 numel(theta)

'cdf'

累积分布函数估算值。每个条形的高度等于该 bin 及以前的所有 bin 中累积的相对观测值数量。最后一个条形的高度是 1

示例: polarhistogram(theta,'Normalization','pdf') 绘制 theta 的概率密度函数估算值。

直方图显示样式,指定为下列值之一:

  • 'stairs' - 仅显示直方图轮廓。

  • 'bar' - 显示每个条形和填充的内部区域。

示例: polarhistogram(theta,'DisplayStyle','stairs') 绘制直方图的轮廓。

直方图条形的透明度,指定为介于 01(包括二者)之间的标量值。polarhistogram 对所有的直方图条形使用相同的透明度。值 1 表示完全不透明,0 则表示完全透明(不可见)。

示例: polarhistogram(theta,'FaceAlpha',.5) 创建一个具有半透明条形的直方图。

直方图的条形颜色,指定为 'auto'、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 'auto' 将由直方图选择颜色。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符串标量或字符向量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 "#FF8800""#ff8800""#F80""#f80" 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"不适用不适用不适用无颜色

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

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

如果将 DisplayStyle 指定为 'stairs',则 polarhistogram 不使用 FaceColor 属性。

示例: polarhistogram(theta,'FaceColor','g') 创建一个带绿色条形的直方图。

局限性

  • polarhistogram 不支持在极坐标区中创建分类数据直方图。

版本历史记录

在 R2016b 中推出