polarhistogram
极坐标中的直方图
语法
说明
polarhistogram(___,
使用一个或多个名称-值对组参量指定其他选项。例如,您可以指定 Name,Value
)'FaceAlpha'
和一个介于 0 和 1 之间的标量值,从而使用半透明条形。
polarhistogram(
将在 pax
,___)pax
指定的极坐标区(而不是当前坐标区)中绘制图形。
返回 h
= polarhistogram(___)Histogram
对象。在创建直方图之后可使用 h
对其进行修改。有关属性列表,请参阅 Histogram 属性。
示例
在极坐标中创建直方图
创建由介于 0 和 之间的值组成的向量。创建一个直方图,该直方图显示划分为六个 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)
修改刻度标签。
为极坐标直方图指定 bin 数
使用介于 和 之间的 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';
输入参数
theta
— 要分布到各 bin 的数据
向量 | 矩阵
要分配到各个 bin 的数据,指定为向量或矩阵。无论您指定向量还是矩阵,polarhistogram
都会创建一个直方图。指定弧度值。要将度转换为弧度,请使用 deg2rad
。
对应于同一角度方向的值之间刚好相差 2π,并划分到同一个 bin。polarhistogram
不会将 NaN
、Inf
和 -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
nbins
— bin 数量
正整数
bin 数量,指定为正整数。如果不指定 nbins
,则 polarhistogram
基于 theta
中的值自动计算将使用多少个 bin。
示例: nbins = 15;
edges
— bin 边界
向量
bin 边界,指定为向量。最小和最大边缘值之差必须小于或等于 2π。
示例: polarhistogram('BinEdges',[0 pi/3 pi 3*pi/2 2*pi],'BinCounts',[5 3 4 6])
counts
— bin 计数
向量
bin 计数,指定为向量。如果您单独执行 bin 计数计算,而不想让 polarhistogram
执行任何数据分 bin,可以使用此选项。
示例: polarhistogram('BinEdges',[0 pi/3 pi 3*pi/2 2*pi],'BinCounts',[5 3 4 6])
pax
— PolarAxes
对象
PolarAxes
对象
PolarAxes
对象。如果您不指定极坐标区,polarhistogram
将使用当前坐标区。polarhistogram
不支持在笛卡尔坐标区中绘图。
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: polarhistogram(theta,'FaceAlpha',0.3)
创建一个具有半透明条形的直方图。
此处所列的直方图属性只是子集。有关完整列表,请参阅 Histogram 属性。
BinLimits
— bin 范围
二元素向量
bin 范围,指定为 [bmin,bmax]
形式的二元素向量,其中 bmin
小于 bmax
。
此选项使用介于 bmin
和 bmax
(含)之间的输入数组值绘制直方图。即 theta(theta>=bmin & theta<=bmax)
。
示例: polarhistogram(theta,'BinLimits',[-pi/2 pi/2])
仅使用 theta
中介于 -pi/2
和 pi/2
(含二者)之间的值绘制直方图。
BinWidth
— bin 顶部的宽度
小于 2π 的标量
bin 顶部的宽度,指定为小于 2π 的标量。
polarhistogram
使用的 bin 数量最多为 65,536 个(即 216)。如果指定的 bin 宽度需要更多 bin,polarhistogram
将使用最大数目的 bin 并相应地调整 bin 宽度。
示例: polarhistogram(theta,'BinWidth',pi)
使用宽度为 π 的 bin。
Normalization
— 归一化类型
'count'
(默认) | 'probability'
| 'countdensity'
| 'pdf'
| 'cumcount'
| 'cdf'
归一化类型,指定为此表中的一个值。
值 | 描述 |
---|---|
'count' | 默认的归一化方案。每个条形的高度是每个 bin 中累积的观测值数量。条形高度的总和是 |
'probability' | 每个条形的高度是相对的观测值数量。每个高度的计算方法为:(bin 内的观测值数量/观测值总数量)。条形高度的总和是 |
'countdensity' | 每个条形的高度等于 bin 内的观测值数量/bin 宽度。 |
'pdf' | 概率密度函数的估计值。每个条形的高度等于(bin 内的观测值数量)/(观测值总数量 * bin 宽度)。每个条形的面积是相对的观测值数量。条形面积的总和是 |
'cumcount' | 每个条形的高度是每个 bin 及以前的所有 bin 中累积的观测值数量。最后一个条形的高度是 |
'cdf' | 累积分布函数估算值。每个条形的高度等于该 bin 及以前的所有 bin 中累积的相对观测值数量。最后一个条形的高度是 |
示例: polarhistogram(theta,'Normalization','pdf')
绘制 theta
的概率密度函数估算值。
DisplayStyle
— 直方图的显示样式
'bar'
(默认) | 'stairs'
直方图显示样式,指定为下列值之一:
'stairs'
- 仅显示直方图轮廓。'bar'
- 显示每个条形和填充的内部区域。
示例: polarhistogram(theta,'DisplayStyle','stairs')
绘制直方图的轮廓。
FaceAlpha
— 直方图条形的透明度
0.6
(默认) | 介于 0
和 1
(包括二者)之间的标量值
直方图条形的透明度,指定为介于 0
和 1
(包括二者)之间的标量值。polarhistogram
对所有的直方图条形使用相同的透明度。值 1
表示完全不透明,0
则表示完全透明(不可见)。
示例: polarhistogram(theta,'FaceAlpha',.5)
创建一个具有半透明条形的直方图。
FaceColor
— 直方图的条形颜色
'auto'
(默认) | RGB 三元组 | 十六进制颜色代码 | 'r'
| 'g'
| 'b'
| ...
直方图的条形颜色,指定为 'auto'
、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 'auto'
将由直方图选择颜色。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符串标量或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#FF8800"
与"#ff8800"
、"#F80"
与"#f80"
是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | 不适用 | 不适用 | 不适用 | 无颜色 |
以下是 MATLAB® 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
如果将 DisplayStyle
指定为 'stairs'
,则 polarhistogram
不使用 FaceColor
属性。
示例: polarhistogram(theta,'FaceColor','g')
创建一个带绿色条形的直方图。
局限性
polarhistogram
不支持在极坐标区中创建分类数据直方图。
版本历史记录
在 R2016b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)