Main Content

polarbubblechart

极坐标气泡图

自 R2020b 起

  • Polar bubble chart

说明

向量和矩阵数据

polarbubblechart(theta,rho,sz) 在向量 thetarho 指定的位置显示彩色圆形标记(气泡)。气泡大小由 sz 指定。

  • 要绘制一组坐标,请将 thetarhosz 指定为等长向量。

  • 要在同一组坐标轴上绘制多组坐标,请将 thetarhosz 中的至少一个指定为矩阵。

示例

polarbubblechart(theta,rho,sz,c) 指定气泡的颜色。您可以为所有气泡指定一种颜色,也可以更改颜色。例如,您可以通过将 c 指定为 'red' 来绘制所有红色气泡。

示例

表数据

polarbubblechart(tbl,thetavar,rhovar,sizevar) 绘制表 tbl 中的变量 thetavarrhovar,并使用变量 sizevar 作为气泡大小。要绘制一个数据集,请为 thetavarrhovarsizevar 各指定一个变量。要绘制多个数据集,请为其中至少一个参量指定多个变量。对于指定多个变量的参量,指定的变量数目必须相同。

示例

polarbubblechart(tbl,thetavar,rhovar,sizevar,cvar) 使用在变量 cvar 中指定的颜色绘制表中指定的变量。要为多个数据集指定颜色,请将 cvar 指定为多个变量。变量数目必须与数据集的数目匹配。

示例

其他选项

polarbubblechart(pax,___) 在目标坐标区 pax 中显示气泡图。在指定所有其他输入参量之前指定坐标区。

示例

polarbubblechart(___,Name,Value) 使用一个或多个名称-值参量指定 BubbleChart 属性。在所有其他输入参量后指定属性。有关属性列表,请参阅 BubbleChart 属性

示例

bc = polarbubblechart(___) 返回 BubbleChart 对象。创建图后,使用 bc 修改图属性。有关属性列表,请参阅 BubbleChart 属性

示例

示例

全部折叠

将一组气泡坐标定义为向量 thr。将 sz 定义为气泡大小的向量。然后创建一个表示这些值的气泡图。

th = linspace(0,2*pi,10);
r = rand(1,10);
sz = rand(1,10);
polarbubblechart(th,r,sz);

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type bubblechart.

将一组气泡坐标定义为向量 thr。将 sz 定义为气泡大小的向量。然后创建一个气泡图,并将颜色指定为红色。默认情况下,气泡是部分透明的。

th = 1:10;
r = rand(1,10);
sz = rand(1,10);
polarbubblechart(th,r,sz,'red');

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type bubblechart.

对于自定义颜色,可以指定 RGB 三元组或十六进制颜色代码。例如,十六进制颜色代码 '#7031BB' 指定紫色。

polarbubblechart(th,r,sz,'#7031BB');

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type bubblechart.

您也可以为每个气泡指定一种不同颜色。例如,指定一个向量,以从图窗的颜色图中选择颜色。

c = 1:10;
polarbubblechart(th,r,sz,c)

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type bubblechart.

将一组气泡坐标定义为向量 thr。将 sz 定义为气泡大小的向量。然后创建一个气泡图。默认情况下,气泡 60% 不透明,边完全不透明,颜色相同。

th = linspace(0,2*pi,10);
r = rand(1,10);
sz = rand(1,10);
polarbubblechart(th,r,sz);

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type bubblechart.

您可以通过分别设置 MarkerFaceAlphaMarkerEdgeColor 属性来自定义不透明度和轮廓颜色。设置属性的一种方法是在创建图时指定名称-值对组参量。例如,您可以通过将 MarkerFaceAlpha 值设置为 0.20 来指定 20% 的不透明度。

bc = polarbubblechart(th,r,sz,'MarkerFaceAlpha',0.20);

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type bubblechart.

如果通过调用带返回参量的 polarbubblechart 函数来创建图,则可以在创建图后使用返回参量来设置图的属性。例如,您可以将轮廓颜色更改为紫色。

bc.MarkerEdgeColor = [0.5 0 0.5];

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type bubblechart.

定义一个数据集,该数据集显示某机场在某时间段内的驶入空中交通流量。

  • theta 定义为驶入飞机的渐进角的向量。

  • altitude 定义为高度的向量。

  • planesize 定义为飞机大小(以乘客数量衡量)的向量。

然后在气泡图中显示数据,气泡图的气泡图例显示气泡大小和飞机上乘客数量之间的关系。

theta = repmat([0 pi/2 7*pi/6],1,4) + 0.25*randn(1,12);
altitude = randi([13000 43000],1,12);
planesize = randi([75 500],[1 12]);
polarbubblechart(theta,altitude,planesize)
bubblelegend('Number of Passengers','Location','eastoutside')

Figure contains an axes object and an object of type bubblelegend. The polaraxes object contains an object of type bubblechart.

绘制表中数据的一种便捷方法是将表传递给 polarbubblechart 函数,并指定要绘制的变量。例如,创建一个包含四个变量的表。绘制 'Th''R1' 变量,气泡大小根据 'Sz' 变量而改变。

% Create a table of random numbers
Th = linspace(0,2*pi,10)';
R1 = randi([0 10],10,1);
R2 = randi([20 30],10,1);
Sz = rand(10,1);
tbl = table(Th,R1,R2,Sz);

% Create polar bubble chart
polarbubblechart(tbl,'Th','R1','Sz')

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type bubblechart.

您也可以同时绘制多个变量。例如,通过将 rhovar 参量指定为元胞数组 {'R1','R2'} 来绘制两组半径值。然后,添加一个图例。图例标签与变量名称匹配。

polarbubblechart(tbl,'Th',{'R1','R2'},'Sz')
legend

Figure contains an axes object with type polaraxes. The polaraxes object contains 2 objects of type bubblechart.

当您调用 polarbubblechart 函数时,可以通过指定 cvar 参量绘制表中数据并自定义颜色。

例如,创建一个包含四个随机数变量的表,并绘制 ThR 变量。气泡大小根据 Sz 变量而改变,颜色根据 Colors 变量而改变。

% Create a table of random numbers
Th = linspace(0,2*pi,10)';
R = randi([0 10],10,1);
Sz = rand(10,1);
Colors = rand(10,1);
tbl = table(Th,R,Sz,Colors);

% Create polar bubble chart
polarbubblechart(tbl,'Th','R','Sz','Colors')

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type bubblechart.

定义两个数据集,显示一段时间内两个不同机场的驶入空中交通流量。

  • theta1theta2 定义为包含驶入飞机的渐进角的向量。

  • planesize1planesize2 定义为飞机大小(以乘客数量衡量)的向量。

  • altitude1altitude2 定义为包含飞机高度的向量。

theta1 = repmat([0 pi/2 7*pi/6],1,4) + 0.25*randn(1,12);
theta2 = repmat([pi pi/6 3*pi/2],1,4) + 0.25*randn(1,12);
planesize1 = randi([75 500],[1 12]);
planesize2 = randi([1 50],[1 12]);
altitude1 = randi([13000 43000],1,12);
altitude2 = randi([13000 85000],1,12);

创建一个分块图布局,以便并排可视化数据。然后,在第一个图块中创建一个极坐标区对象,绘制第一个机场的数据,并添加标题。然后在第二个图块中对第二个机场重复上述过程。

t = tiledlayout(1,2);
pax1 = polaraxes(t);
polarbubblechart(pax1,theta1,altitude1,planesize1)
title('Airport A')

pax2 = polaraxes(t);
pax2.Layout.Tile = 2;
polarbubblechart(pax2,theta2,altitude2,planesize2);
title('Airport B')

Figure contains 2 axes objects. Polaraxes object 1 contains an object of type bubblechart. Polaraxes object 2 contains an object of type bubblechart.

缩小所有气泡大小,以便更容易看到所有气泡。在本例中,将直径范围更改为介于 520 磅之间。

bubblesize(pax1,[5 20])
bubblesize(pax2,[5 20])

Figure contains 2 axes objects. Polaraxes object 1 contains an object of type bubblechart. Polaraxes object 2 contains an object of type bubblechart.

A 机场的飞机通常比 B 机场的小得多,但在前面的图中,气泡的大小并没有反映此信息。这是因为最小和最大的气泡映射到每个坐标区中最小和最大的数据点。要以相同的缩放显示气泡,请定义名为 allsizes 的向量,其中包括两个机场的飞机大小。然后使用 bubblelim 函数重置两个图的缩放。

allsizes = [planesize1 planesize2];
newlims = [min(allsizes) max(allsizes)];
bubblelim(pax1,newlims)
bubblelim(pax2,newlims)

Figure contains 2 axes objects. Polaraxes object 1 contains an object of type bubblechart. Polaraxes object 2 contains an object of type bubblechart.

输入参数

全部折叠

theta 值,指定为标量、向量或矩阵。theta 的大小和形状取决于数据的形状。下表说明了最常见的情况。

气泡图的类型如何指定坐标
单个气泡

thetarhosz 指定为标量。例如:

polarbubblechart(pi/2,0.5,1)

一组气泡

指定 thetarhosz 为相同长度的行向量或列向量的任意组合。例如:

theta = [0 pi/4 pi/2];
rho = [1; 2; 3];
sz = [10 11 12];
polarbubblechart(theta,rho,sz)

不同颜色的多组气泡

如果所有数据集共享相同的 thetarho 值,请将共享坐标指定为一个向量,将其他坐标指定为一个矩阵。该向量的长度必须与该矩阵的维度之一相匹配。例如,绘制两个共享相同 thetasz 值的数据集。

theta = [0 pi/4 pi/2];
rho = [4 5 6; 7 8 9];
sz = [1 2 3];
polarbubblechart(theta,rho,sz)
如果矩阵为方阵,polarbubblechart 会为矩阵中的每一列绘制一组单独的气泡。

也可以指定 thetarhosz 为相同大小的矩阵。在本例中,polarbubblechart 绘制矩阵的列。例如,绘制三个数据集。

theta = [0 pi/6 pi/2; pi/8 pi/4 pi];
rho = [1 2 3; 4 5 6];
sz = [10 20 30; 40 50 60];
polarbubblechart(theta,rho,sz)

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

rho 值,指定为标量、向量或矩阵。rho 的大小和形状取决于数据的形状。下表说明了最常见的情况。

气泡图的类型如何指定坐标
单个气泡

thetarhosz 指定为标量。例如:

polarbubblechart(pi/2,0.5,1)

一组气泡

指定 thetarhosz 为相同长度的行向量或列向量的任意组合。例如:

theta = [0 pi/4 pi/2];
rho = [1; 2; 3];
sz = [10 11 12];
polarbubblechart(theta,rho,sz)

不同颜色的多组气泡

如果所有数据集共享相同的 thetarho 值,请将共享坐标指定为一个向量,将其他坐标指定为一个矩阵。该向量的长度必须与该矩阵的维度之一相匹配。例如,绘制两个共享相同 thetasz 值的数据集。

theta = [0 pi/4 pi/2];
rho = [4 5 6; 7 8 9];
sz = [1 2 3];
polarbubblechart(theta,rho,sz)
如果矩阵为方阵,polarbubblechart 会为矩阵中的每一列绘制一组单独的气泡。

也可以指定 thetarhosz 为相同大小的矩阵。在本例中,polarbubblechart 绘制矩阵的列。例如,绘制三个数据集。

theta = [0 pi/6 pi/2; pi/8 pi/4 pi];
rho = [1 2 3; 4 5 6];
sz = [10 20 30; 40 50 60];
polarbubblechart(theta,rho,sz)

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

气泡大小,指定为数值标量、向量或矩阵。指定大小的方式取决于您如何指定 thetarho,以及您所需的图外观。下表说明了最常见的情况。

气泡图的类型thetarho sz示例

一组气泡

相同长度的向量

thetarho 长度相同的向量

thetarhosz 指定为向量。

theta = [0 pi/4 pi/3 pi/2];
rho = [1 2 3 4];
sz = [10 20 30 40];
polarbubblechart(theta,rho,sz)

具有不同坐标和气泡大小的多组气泡

thetarho 中有至少一个是用于绘制多个数据集的矩阵

thetarho 矩阵大小相同的矩阵

theta 指定为向量,将 rhosz 指定为矩阵。

theta = [0 pi/4 pi/3 pi/2];
rho = [1 5; 2 6; 3 7; 4 8];
sz = [10 20; 30 40; 50 60; 70 80];
polarbubblechart(theta,rho,sz)

多组气泡,其中所有坐标均为共享坐标,但每组的大小不同

相同长度的向量

有至少一个维度与 thetarho 长度匹配的矩阵

thetarho 指定为向量,将 sz 指定为矩阵。

theta = [0 pi/4 pi/3 pi/2];
rho = [1 2 3 4];
sz = [10 20; 30 40; 50 60; 70 80];
polarbubblechart(theta,rho,sz)

多组气泡,其中坐标在至少一个维度上有不同,但数据集之间共用一组大小数据

thetarho 中有至少一个是用于绘制多个数据集的矩阵

其元素数与每个数据集中的气泡数相同的向量

theta 指定为向量,将 rho 指定为矩阵,将 sz 指定为向量。

theta = [0 pi/4 pi/3 pi/2];
rho = [1 5; 2 6; 3 7; 4 8];
sz = [10 20 30 40];
polarbubblechart(theta,rho,sz)

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

气泡颜色,指定为颜色名称、RGB 三元组、RGB 三元组矩阵或由颜色图索引组成的向量。

  • 颜色名称 - 颜色名称(如 "red")或短名称(如 "r")。

  • RGB 三元组 - 三元素行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。RGB 三元组对于创建自定义颜色很有用。

  • RGB 三元组矩阵 - 三列矩阵,其中的每一行均为一个 RGB 三元组。

  • 由颜色图索引组成的向量 - 数值向量,其长度与 thetarho 向量相同。

指定颜色的方式取决于所需的颜色方案以及是绘制一组气泡还是多组气泡。下表说明了最常见的情况。

颜色方案指定颜色的方式示例

对所有气泡使用一种颜色。

从下表中指定一种颜色名称或短名称,或指定一个 RGB 三元组。

显示一组气泡,并将颜色指定为 'red'

theta = [0 pi/4 pi/3 pi/2];
rho = [1 2 3 4];
sz = [10 20 30 40];
polarbubblechart(theta,rho,sz,'red')

显示两组气泡,并使用 RGB 三元组 [1 0 0] 将颜色指定为红色。

theta = [0 pi/4 pi/3 pi/2];
rho = [1 5; 2 6; 3 7; 4 8];
sz = [10 20; 30 40; 50 60; 70 80];
polarbubblechart(theta,rho,sz,[1 0 0])

使用颜色图为每个气泡指定不同颜色。

指定一个由数字组成的行向量或列向量。这些数字映射到当前颜色图数组中。最小值映射到颜色图中的第一行,最大值映射到最后一行。中间值线性映射到中间行。

如果您的图有三个气泡,请指定一个列向量,以确保这些值被解释为颜色图索引。

仅当 thetarhosz 均为向量时,才能使用此方法。

创建一个向量 c,它指定四个颜色图索引。使用当前颜色图中的颜色显示四个气泡。然后,将颜色图更改为 winter

c = [1 2 3 4];
theta = [0 pi/4 pi/3 pi/2];
rho = [1 2 3 4];
sz = [10 20 30 40];
polarbubblechart(theta,rho,sz,c)
colormap(gca,"winter")

为每个气泡创建一种自定义颜色。

指定一个由 RGB 三元组组成的 m×3 矩阵,其中 m 是气泡数。

仅当 thetarhosz 均为向量时,才能使用此方法。

创建一个矩阵 c,它为绿色、红色、灰色和紫色指定 RGB 三元组。然后使用这些颜色创建一个气泡图。

c = [0 1 0; 1 0 0; 0.5 0.5 0.5; 0.6 0 1];
theta = [0 pi/4 pi/3 pi/2];
rho = [1 2 3 4];
sz = [10 20 30 40];
polarbubblechart(theta,rho,sz,c)

为每个数据集创建一种不同颜色。

指定一个由 RGB 三元组组成的 n×3 矩阵,其中 n 为数据集个数。

仅当 thetarhosz 中有至少一个是矩阵时,才能使用此方法。

创建一个包含两个 RGB 三元组的矩阵 c。然后使用这些颜色显示两组气泡。

c = [1 0 0; 0.6 0 1];
theta = [0 pi/4 pi/3 pi/2];
rho = [1 5; 2 6; 3 7; 4 8];
sz = [10 20; 30 40; 50 60; 70 80];
polarbubblechart(theta,rho,sz,c)

常见颜色的颜色名称和 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

以下是 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

包含要绘制的数据的源表,指定为表或时间表。

包含 theta 值的表变量,指定为一个或多个表变量索引。

指定表索引

使用以下任一索引方案指定所需的一个或多个变量。

索引方案示例

变量名称:

  • 字符串、字符向量或元胞数组。

  • pattern 对象。

  • "A"'A' - 名为 A 的变量

  • ["A","B"]{'A','B'} - 两个名为 AB 的变量

  • "Var"+digitsPattern(1) - 变量名为 "Var" 后跟一个数字

变量索引:

  • 引用变量在表中位置的索引编号。

  • 由数字组成的向量。

  • 逻辑向量。通常,此向量的长度与变量的数目相同,但可以省略尾部的 0false 值。

  • 3 - 表中的第三个变量

  • [2 3] - 表中的第二个和第三个变量

  • [false false true] - 第三个变量

变量类型:

  • vartype 下标,用于选择指定类型的变量。

  • vartype("categorical") - 包含分类值的所有变量

绘制您的数据

您指定的表变量可以包含任何数值数据类型。

要绘制一个数据集,请为 thetavarrhovarsizevar 和(可选的)cvar 各指定一个变量。例如,创建一个包含四个变量的表。绘制 ThR1 变量,气泡大小根据 Sz 变量而改变。

% Create a table of random numbers
Th = linspace(0,2*pi,10)';
R1 = randi([0 10],10,1);
R2 = randi([20 30],10,1);
Sz = rand(10,1);
tbl = table(Th,R1,R2,Sz);

% Create polar bubble chart
polarbubblechart(tbl,'Th','R1','Sz')

要一起绘制多个数据集,请为 thetavarrhovarsizevarcvar 中的至少一个指定多个变量。如果为多个参量指定多个变量,则为每个参量指定的变量数目必须相同。

例如,在 theta 轴上绘制 Th 变量,在 r 轴上绘制 R1R2 变量。为气泡大小指定 Sz 变量。

polarbubblechart(tbl,'Th',{'R1','R2'},'Sz')

您还可以对表变量使用不同索引方案。例如,将 thetavar 指定为变量名称,将 rhovar 指定为索引编号,将 sizevar 指定为逻辑向量。

polarbubblechart(tbl,'Th',2,[false false true])

包含 rho 值的表变量,指定为一个或多个表变量索引。

指定表索引

使用以下任一索引方案指定所需的一个或多个变量。

索引方案示例

变量名称:

  • 字符串、字符向量或元胞数组。

  • pattern 对象。

  • "A"'A' - 名为 A 的变量

  • ["A","B"]{'A','B'} - 两个名为 AB 的变量

  • "Var"+digitsPattern(1) - 变量名为 "Var" 后跟一个数字

变量索引:

  • 引用变量在表中位置的索引编号。

  • 由数字组成的向量。

  • 逻辑向量。通常,此向量的长度与变量的数目相同,但可以省略尾部的 0false 值。

  • 3 - 表中的第三个变量

  • [2 3] - 表中的第二个和第三个变量

  • [false false true] - 第三个变量

变量类型:

  • vartype 下标,用于选择指定类型的变量。

  • vartype("categorical") - 包含分类值的所有变量

绘制您的数据

您指定的表变量可以包含任何数值数据类型。

要绘制一个数据集,请为 thetavarrhovarsizevar 和(可选的)cvar 各指定一个变量。例如,创建一个包含四个变量的表。绘制 ThR1 变量,气泡大小根据 Sz 变量而改变。

% Create a table of random numbers
Th = linspace(0,2*pi,10)';
R1 = randi([0 10],10,1);
R2 = randi([20 30],10,1);
Sz = rand(10,1);
tbl = table(Th,R1,R2,Sz);

% Create polar bubble chart
polarbubblechart(tbl,'Th','R1','Sz')

要一起绘制多个数据集,请为 thetavarrhovarsizevarcvar 中的至少一个指定多个变量。如果为多个参量指定多个变量,则为每个参量指定的变量数目必须相同。

例如,在 theta 轴上绘制 Th 变量,在 r 轴上绘制 R1R2 变量。为气泡大小指定 Sz 变量。

polarbubblechart(tbl,'Th',{'R1','R2'},'Sz')

您还可以对表变量使用不同索引方案。例如,将 thetavar 指定为变量名称,将 rhovar 指定为索引编号,将 sizevar 指定为逻辑向量。

polarbubblechart(tbl,'Th',2,[false false true])

包含气泡大小数据的表变量,指定为一个或多个表变量索引。

指定表索引

使用以下任一索引方案指定所需的一个或多个变量。

索引方案示例

变量名称:

  • 字符串、字符向量或元胞数组。

  • pattern 对象。

  • "A"'A' - 名为 A 的变量

  • ["A","B"]{'A','B'} - 两个名为 AB 的变量

  • "Var"+digitsPattern(1) - 变量名为 "Var" 后跟一个数字

变量索引:

  • 引用变量在表中位置的索引编号。

  • 由数字组成的向量。

  • 逻辑向量。通常,此向量的长度与变量的数目相同,但可以省略尾部的 0false 值。

  • 3 - 表中的第三个变量

  • [2 3] - 表中的第二个和第三个变量

  • [false false true] - 第三个变量

变量类型:

  • vartype 下标,用于选择指定类型的变量。

  • vartype("categorical") - 包含分类值的所有变量

绘制您的数据

您指定的表变量可以包含任何类型的数值。

如果要绘制一个数据集,请为 sizevar 指定一个变量。例如,创建一个包含四个变量的表。绘制 ThR 变量,气泡大小根据 Sz1 变量而改变。

% Create a table of random numbers
Th = linspace(0,2*pi,10)';
R = randi([0 10],10,1);
Sz1 = rand(10,1);
Sz2 = rand(10,1);
tbl = table(Th,R,Sz1,Sz2);

% Create polar bubble chart
polarbubblechart(tbl,'Th','R','Sz1')

如果要绘制多个数据集,可以为 thetavarrhovarsizevar 或可选的 cvar 中的至少一个指定多个变量。如果为多个参量指定多个变量,则为每个参量指定的变量数目必须相同。

例如,在 theta 轴上绘制 Th 变量,在 r 轴上绘制 R 变量。为气泡大小指定 Sz1Sz2 变量。生成的图显示两组气泡,其坐标相同但气泡大小不同。

polarbubblechart(tbl,'Th','R',{'Sz1','Sz2'})

包含气泡颜色数据的表变量,指定为一个或多个表变量索引。

指定表索引

使用以下任一索引方案指定所需的一个或多个变量。

索引方案示例

变量名称:

  • 字符串、字符向量或元胞数组。

  • pattern 对象。

  • "A"'A' - 名为 A 的变量

  • ["A","B"]{'A','B'} - 两个名为 AB 的变量

  • "Var"+digitsPattern(1) - 变量名为 "Var" 后跟一个数字

变量索引:

  • 引用变量在表中位置的索引编号。

  • 由数字组成的向量。

  • 逻辑向量。通常,此向量的长度与变量的数目相同,但可以省略尾部的 0false 值。

  • 3 - 表中的第三个变量

  • [2 3] - 表中的第二个和第三个变量

  • [false false true] - 第三个变量

变量类型:

  • vartype 下标,用于选择指定类型的变量。

  • vartype("categorical") - 包含分类值的所有变量

绘制您的数据

您指定的表变量可以包含任何数值类型的值。每个变量可以是:

  • 线性映射到当前颜色图中的一列数字。

  • 由 RGB 三元组组成的一个三列数组。RGB 三元组是包含三个元素的向量,其元素值指定特定颜色的红、绿和蓝分量的强度。强度必须处于范围 [0,1] 中。例如,[0.5 0.7 1] 指定浅蓝色。

如果要绘制一个数据集,请为 cvar 指定一个变量。例如,创建一个包含六个随机数变量的表。绘制 ThR1 变量。气泡大小根据 Sz 变量而改变,颜色根据 Color1 变量而改变。

% Create a table of random numbers
Th = linspace(0,2*pi,10)';
R1 = randi([0 10],10,1);
R2 = randi([20 30],10,1);
Sz = rand(10,1);
Color1 = rand(10,1);
Color2 = rand(10,1);
tbl = table(Th,R1,R2,Sz,Color1,Color2);

% Create polar bubble chart
polarbubblechart(tbl,'Th','R1','Sz','Color1')

如果要绘制多个数据集,可以为 thetavarrhovarsizevarcvar 中的至少一个指定多个变量。如果为多个参量指定多个变量,则为每个参量指定的变量数目必须相同。

例如,在 theta 轴上绘制 Th 变量,在 r 轴上绘制 R1R2 变量。气泡大小根据 Sz 变量而改变。为颜色指定 Color1Color2 变量。结果图显示两组气泡,它们具有相同的 theta 坐标和气泡大小,但具有不同的 r 坐标和颜色。

polarbubblechart(tbl,'Th',{'R1','R2'},'Sz',{'Color1','Color2'})

目标坐标区,指定为 PolarAxes 对象。如果未指定坐标区,则 MATLAB 将绘制到当前坐标区中;或如果不存在 PolarAxes 对象,则创建一个对象。

名称-值参数

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

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

示例: bubblechart([1 2 3],[4 10 9],[1 2 3],'MarkerFaceColor','red') 创建红色气泡。

注意

此处所列的属性只是一部分。有关完整列表,请参阅 BubbleChart 属性

标记轮廓颜色,指定为 "flat"、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 "flat" 将使用 CData 属性中的颜色。

对于自定义颜色,请指定 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

示例: [0.5 0.5 0.5]

示例: "blue"

示例: "#D2F9A7"

标记填充颜色,指定为 'flat''auto'、RGB 三元组、十六进制颜色代码、颜色名称或短名称。'flat' 选项使用 CData 值。'auto' 选项使用与坐标区的 Color 属性相同的颜色。

对于自定义颜色,请指定 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

示例: [0.3 0.2 0.1]

示例: 'green'

示例: '#D2F9A7'

标记边的宽度,指定为一个正值(以磅为单位)。

示例: 0.75

标记边的透明度,指定为 [0,1] 范围中的标量或 'flat'。值为 1 表示不透明,值为 0 表示完全透明。介于 0 和 1 之间的值表示半透明。

要为绘图中的每个点设置不同边透明度值,请将 AlphaData 属性设置为与 XData 属性大小相同的向量,并将 MarkerEdgeAlpha 属性设置为 'flat'

标记面透明度,指定为 [0,1] 范围中的标量或 'flat'。值为 1 表示不透明,值为 0 表示完全透明。介于 0 和 1 之间的值表示部分透明。

要为每个点设置一个不同的标记面透明度值,请将 AlphaData 属性设置为与 XData 属性大小相同的向量,并将 MarkerFaceAlpha 属性设置为 'flat'

版本历史记录

在 R2020b 中推出

全部展开