Main Content

bubblechart3

三维气泡图

自 R2020b 起

  • 3-D bubble chart

说明

向量和矩阵数据

示例

bubblechart3(x,y,z,sz)xyz 指定的位置显示彩色圆形标记(气泡),气泡大小由 sz 指定。

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

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

示例

bubblechart3(x,y,z,sz,c) 指定气泡的颜色。您可以为所有气泡指定一种颜色,也可以更改颜色。例如,您可以通过将 c 指定为 "red" 来绘制所有红色气泡。

表数据

示例

bubblechart3(tbl,xvar,yvar,zvar,sizevar) 绘制表 tbl 中的变量 xvaryvarzvar,并将变量 sizevar 用于气泡大小。要绘制一个数据集,请为 xvaryvarzvarsizevar 各指定一个变量。要绘制多个数据集,请为其中至少一个参量指定多个变量。对于指定多个变量的参量,指定的变量数目必须相同。

示例

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

其他选项

示例

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

示例

bubblechart3(___,Name,Value) 使用一个或多个名称-值参量指定 BubbleChart 属性。在所有其他输入参量后指定属性。例如,bubblechart3(x,y,z,'LineWidth',2) 创建一个气泡轮廓线宽为两磅的气泡图。有关属性列表,请参阅 BubbleChart 属性

示例

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

示例

全部折叠

将一组气泡坐标定义为向量 xyz。将 sz 定义为指定气泡大小的向量。然后创建一个由 xyz 定义的气泡图。

x = rand(1,20);
y = rand(1,20);
z = rand(1,20);
sz = rand(1,20);
bubblechart3(x,y,z,sz);

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

x = rand(1,20);
y = rand(1,20);
z = rand(1,20);
sz = rand(1,20);
bubblechart3(x,y,z,sz,'red');

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

bubblechart3(x,y,z,sz,'#7031BB');

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

c = 1:20;
bubblechart3(x,y,z,sz,c)

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

x = rand(1,20);
y = rand(1,20);
z = rand(1,20);
sz = rand(1,20);
bubblechart3(x,y,z,sz);

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

bc = bubblechart3(x,y,z,sz,'MarkerFaceAlpha',0.20);

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

bc.MarkerEdgeColor = [0.5 0 0.5];

定义一个数据集,它显示某大都市地区不同城镇中某种毒素的污染水平。

  • towns 定义为城镇的人口数。

  • nsites 定义为对应城镇中工业场地的数量。

  • nregulated 定义为符合当地环境法规的工业场地的数量。

  • levels 定义为城镇中的污染水平。

towns = randi([25000 500000],[1 30]);
nsites = randi(10,1,30);
nregulated = (-3 * nsites) + (5 * randn(1,30) + 20);
levels = (3 * nsites) + (7 * randn(1,30) + 20);

在气泡图中显示数据。使用 xlabelylabelzlabel 函数创建轴标签。使用 bubblesize 函数将所有气泡的直径设为 5 到 30 磅之间。然后添加气泡图例,显示气泡大小和人口数之间的关系。

bubblechart3(nsites,nregulated,levels,towns)
xlabel('Industrial Sites')
ylabel('Regulated Sites')
zlabel('Contamination Level')

bubblesize([5 30])
bubblelegend('Town Population','Location','eastoutside')

绘制表中数据的一种便捷方法是将表传递给 bubblechart3 函数,并指定要绘制的变量。例如,创建一个包含五个随机数变量的表。通过将表作为第一个参量传递给 bubblechart3 函数并后跟变量名称,绘制 X1YZSz 变量。默认情况下,轴标签与变量名称匹配。

tbl = table(randn(15,1)-10,randn(15,1)+10,rand(15,1), ...
  rand(15,1),rand(15,1), ...
  'VariableNames',{'X1','X2','Y','Z','Sz'});

bubblechart3(tbl,'X1','Y','Z','Sz')

您也可以同时绘制多个变量。例如,通过将 xvar 参量指定为元胞数组 {'X1','X2'},在 x 轴上绘制 X1X2。然后,添加一个图例。图例标签与变量名称匹配。

bubblechart3(tbl,{'X1','X2'},'Y','Z','Sz')
legend

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

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

tbl = table(randn(15,1)-10,randn(15,1)+10,rand(15,1), ...
  rand(15,1),rand(15,1), ...
  'VariableNames',{'X','Y','Z','Sz','Colors'});

bubblechart3(tbl,'X','Y','Z','Sz','Colors');

定义两个数据集,它们显示某大都市地区东西两侧不同城镇中某种毒素的污染水平。

  • towns1towns2 定义为城镇的人口数。

  • nsites1nsites2 定义为对应城镇中工业场地的数量。

  • nregulated1nregulated2 定义为符合当地环境法规的工业场地的数量。

  • levels1levels2 定义为城镇中的污染水平。

towns1 = randi([25000 500000],[1 30]);
towns2 = towns1/3;
nsites1 = randi(10,1,30);
nsites2 = randi(10,1,30);
nregulated1 = (-3 * nsites1) + (5 * randn(1,30) + 20);
nregulated2 = (-2 * nsites2) + (5 * randn(1,30) + 20);
levels1 = (3 * nsites1) + (7 * randn(1,30) + 20);
levels2 = (5 * nsites2) + (7 * randn(1,30) + 20);

创建一个分块图布局,以便并排可视化数据。然后在第一个图块中创建一个坐标区对象,并绘制城市东侧的数据。添加标题和轴标签。然后,在第二个图块中重复以上过程来绘制西侧数据。

tiledlayout(2,1,'TileSpacing','compact')
ax1 = nexttile;

% East side
bubblechart3(ax1,nsites1,nregulated1,levels1,towns1);
title('East Side')
xlabel('Industrial Sites')
ylabel('Regulated Sites')
zlabel('Contamination Level')

% West side
ax2 = nexttile;
bubblechart3(ax2,nsites2,nregulated2,levels2,towns2);
title('West Side')
xlabel('Industrial Sites')
ylabel('Regulated Sites')
zlabel('Contamination Level')

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

bubblesize(ax1,[5 20])
bubblesize(ax2,[5 20])

东区城镇的规模是西区城镇的三倍,但在前面的图中,气泡的大小并没有反映此信息。这是因为最小和最大的气泡映射到每个坐标区中最小和最大的数据点。要以相同的比例显示气泡,请定义名为 alltowns 的向量,其中包括城市两侧各自的人口数。使用 bubblelim 函数重置两个图的缩放。

alltowns = [towns1 towns2];
newlims = [min(alltowns) max(alltowns)];
bubblelim(ax1,newlims)
bubblelim(ax2,newlims)

输入参数

全部折叠

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

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

xyzsz 指定为标量。例如:

bubblechart3(1,2,3,10)

一组气泡

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

x = [1 2 3 4];
y = [4; 5; 6; 7];
z = [8 9 10 11];
sz = [12 13 14 15];
bubblechart3(x,y,z,sz)

多组气泡

如果所有数据集在一个或多个维度上共用坐标,请将共用坐标指定为向量,将其他坐标指定为矩阵。该向量的长度必须与这些矩阵的维度之一相匹配。例如,绘制两个共用相同 x 坐标和大小值的数据集。

x = [1 2 3 4];
y = [4 5 6 7; 7 8 9 10];
z = [10 11 12 13; 14 15 16 17];
sz = [1 2 3 4];
bubblechart3(x,y,z,sz)
如果矩阵为方阵,bubblechart3 会为矩阵中的每列绘制一组单独的气泡。

也可以指定 xyzsz 为相同大小的矩阵。在本例中,bubblechart3 绘制矩阵的列。例如,绘制以下两个数据集。

x = [1 1; 2 2; 3 3; 4 4];
y = [4 7; 5 8; 6 9; 7 10];
z = [10 14; 11 15; 12 16; 13 17];
sz = [1 1; 2 2; 3 3; 4 4];
bubblechart3(x,y,z,sz)

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

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

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

xyzsz 指定为标量。例如:

bubblechart3(1,2,3,10)

一组气泡

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

x = [1 2 3 4];
y = [4; 5; 6; 7];
z = [8 9 10 11];
sz = [12 13 14 15];
bubblechart3(x,y,z,sz)

多组气泡

如果所有数据集在一个或多个维度上共用坐标,请将共用坐标指定为向量,将其他坐标指定为矩阵。该向量的长度必须与这些矩阵的维度之一相匹配。例如,绘制两个共用相同 x 坐标和大小值的数据集。

x = [1 2 3 4];
y = [4 5 6 7; 7 8 9 10];
z = [10 11 12 13; 14 15 16 17];
sz = [1 2 3 4];
bubblechart3(x,y,z,sz)
如果矩阵为方阵,bubblechart3 会为矩阵中的每列绘制一组单独的气泡。

也可以指定 xyzsz 为相同大小的矩阵。在本例中,bubblechart3 绘制矩阵的列。例如,绘制以下两个数据集。

x = [1 1; 2 2; 3 3; 4 4];
y = [4 7; 5 8; 6 9; 7 10];
z = [10 14; 11 15; 12 16; 13 17];
sz = [1 1; 2 2; 3 3; 4 4];
bubblechart3(x,y,z,sz)

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

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

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

xyzsz 指定为标量。例如:

bubblechart3(1,2,3,10)

一组气泡

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

x = [1 2 3 4];
y = [4; 5; 6; 7];
z = [8 9 10 11];
sz = [12 13 14 15];
bubblechart3(x,y,z,sz)

多组气泡

如果所有数据集在一个或多个维度上共用坐标,请将共用坐标指定为向量,将其他坐标指定为矩阵。该向量的长度必须与这些矩阵的维度之一相匹配。例如,绘制两个共用相同 x 坐标和大小值的数据集。

x = [1 2 3 4];
y = [4 5 6 7; 7 8 9 10];
z = [10 11 12 13; 14 15 16 17];
sz = [1 2 3 4];
bubblechart3(x,y,z,sz)
如果矩阵为方阵,bubblechart3 会为矩阵中的每一列绘制一组单独的气泡。

也可以指定 xyzsz 为相同大小的矩阵。在本例中,bubblechart3 绘制矩阵的列。例如,绘制以下两个数据集。

x = [1 1; 2 2; 3 3; 4 4];
y = [4 7; 5 8; 6 9; 7 10];
z = [10 14; 11 15; 12 16; 13 17];
sz = [1 1; 2 2; 3 3; 4 4];
bubblechart3(x,y,z,sz)

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

相对气泡大小,指定为数值标量、向量或矩阵。

sz 值控制气泡大小的相对分布。默认情况下,bubblechart3 依据坐标区中所有气泡图的 sz 值范围线性映射所有气泡面积范围。如果要进一步控制绝对气泡大小以及它们如何在 sz 值范围内映射,请参阅 bubblesizebubblelim

您是否将 sz 指定为标量、向量或矩阵取决于您如何指定 xyz 以及您所需的图外观。下表说明了最常见的情况。

气泡图的类型xyz sz示例

一组气泡

相同长度的向量

xyz 长度相同的向量

xyzsz 指定为向量。

x = [1 2 3 4];
y = [4 5 6 7];
z = [8 9 10 11];
sz = [80 150 700 50];
bubblechart3(x,y,z,sz)

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

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

xyz 矩阵大小相同的矩阵

x 指定为向量,将 yzsz 指定为矩阵。

x = [1 2 3 4];
y = [1 6; 3 8; 2 7; 4 9];
z = [10 11; 12 13; 14 15; 16 17];
sz = [80 30; 150 900; 50 2000; 200 350];
bubblechart3(x,y,z,sz)

多组气泡,它们共用相同的坐标,但每个数据集的大小不同

相同长度的向量

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

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

x = [1 2 3 4];
y = [5 6 7 8];
z = [9 10 11 12];
sz = [80 30; 150 900; 50 500; 200 350];
bubblechart3(x,y,z,sz)

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

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

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

x 指定为向量,将 yz 指定为矩阵,将 sz 指定为向量。

x = [1 2 3 4];
y = [1 6; 3 8; 2 7; 4 9];
z = [2 8; 3 10; 4 7; 4 12];
sz = [80 150 200 350];
bubblechart3(x,y,z,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 三元组。

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

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

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

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

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

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

x = [1 2 3 4];
y = [2 5 3 6];
z = [10 6 4 7];
sz = [1 2 3 4];
bubblechart3(x,y,z,sz,"red")

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

x = [1 2 3 4];
y = [2 5 3 6];
z = [2 5; 1 2; 8 4; 7 9];
sz = [1 2; 3 4; 5 6; 7 8];
bubblechart3(x,y,z,sz,[1 0 0])

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

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

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

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

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

c = [1 2 3 4];
x = [1 2 3 4];
y = [5 6 7 8];
z = [7 8 9 10];
sz = [1 2 3 4];
bubblechart3(x,y,z,sz,c)
colormap(gca,"winter")

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

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

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

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

c = [0 1 0; 1 0 0; 0.5 0.5 0.5; 0.6 0 1];
x = [1 2 3 4];
y = [5 6 7 8];
z = [7 8 9 10];
sz = [1 2 3 4];
bubblechart3(x,y,z,sz,c)

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

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

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

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

c = [1 0 0; 0.6 0 1];
x = [1 2 3 4];
y = [5 6 7 8];
z = [2 5; 1 2; 8 4; 11 9];
sz = [1 1; 2 2; 3 3; 4 4];
bubblechart3(x,y,z,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

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

包含 x 坐标的表变量,指定为一个或多个表变量索引。

指定表索引

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

索引方案示例

变量名称:

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

  • pattern 对象。

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

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

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

变量索引:

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

  • 由数字组成的向量。

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

  • 3 - 表中的第三个变量

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

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

变量类型:

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

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

绘制您的数据

您指定的表变量可以包含数值、分类、日期时间或持续时间值。

要绘制一个数据集,请为 xvaryvarzvarsizevar 和(可选的)cvar 各指定一个变量。例如,将 Patients.xls 读入表 tbl 中。绘制 HeightWeightDiastolic 变量,气泡大小根据 Age 变量而改变。

tbl = readtable('Patients.xls');
bubblechart3(tbl,'Height','Weight','Diastolic','Age')

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

例如,在 x 轴上绘制 Weight 变量,在 y 轴上绘制 Height 变量,在 z 轴上绘制 SystolicDiastolic 变量。为气泡大小指定 Age 变量。

bubblechart3(tbl,'Weight','Height',{'Systolic','Diastolic'},'Age')

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

bubblechart3(tbl,'Height','Weight',9,[false false true])

包含 y 坐标的表变量,指定为一个或多个表变量索引。

指定表索引

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

索引方案示例

变量名称:

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

  • pattern 对象。

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

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

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

变量索引:

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

  • 由数字组成的向量。

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

  • 3 - 表中的第三个变量

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

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

变量类型:

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

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

绘制您的数据

您指定的表变量可以包含数值、分类、日期时间或持续时间值。

要绘制一个数据集,请为 xvaryvarzvarsizevar 和(可选的)cvar 各指定一个变量。例如,将 Patients.xls 读入表 tbl 中。绘制 HeightWeightDiastolic 变量,气泡大小根据 Age 变量而改变。

tbl = readtable('Patients.xls');
bubblechart3(tbl,'Height','Weight','Diastolic','Age')

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

例如,在 x 轴上绘制 Weight 变量,在 y 轴上绘制 Height 变量,在 z 轴上绘制 SystolicDiastolic 变量。为气泡大小指定 Age 变量。

bubblechart3(tbl,'Weight','Height',{'Systolic','Diastolic'},'Age')

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

bubblechart3(tbl,'Height','Weight',9,[false false true])

包含 z 坐标的表变量,指定为一个或多个表变量索引。

指定表索引

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

索引方案示例

变量名称:

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

  • pattern 对象。

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

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

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

变量索引:

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

  • 由数字组成的向量。

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

  • 3 - 表中的第三个变量

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

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

变量类型:

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

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

绘制您的数据

您指定的表变量可以包含数值、分类、日期时间或持续时间值。

要绘制一个数据集,请为 xvaryvarzvarsizevar 和(可选的)cvar 各指定一个变量。例如,将 Patients.xls 读入表 tbl 中。绘制 HeightWeightDiastolic 变量,气泡大小根据 Age 变量而改变。

tbl = readtable('Patients.xls');
bubblechart3(tbl,'Height','Weight','Diastolic','Age')

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

例如,在 x 轴上绘制 Weight 变量,在 y 轴上绘制 Height 变量,在 z 轴上绘制 SystolicDiastolic 变量。为气泡大小指定 Age 变量。

bubblechart3(tbl,'Weight','Height',{'Systolic','Diastolic'},'Age')

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

bubblechart3(tbl,'Height','Weight',9,[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 指定一个变量。例如,将 Patients.xls 读入表 tbl 中。绘制 HeightWeightDiastolic 变量,气泡大小根据 Age 变量而改变。

tbl = readtable('Patients.xls');
bubblechart3(tbl,'Height','Weight','Diastolic','Age')

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

例如,在 x 轴上绘制 Weight 变量,在 y 轴上绘制 Height 变量,在 z 轴上绘制 Age 变量。为气泡大小指定 SystolicDiastolic 变量。生成的图显示两组气泡,其坐标相同但气泡大小不同。

bubblechart3(tbl,'Weight','Height','Age',{'Systolic','Diastolic'})

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

指定表索引

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

索引方案示例

变量名称:

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

  • 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 指定一个变量。例如,创建一个包含七个随机数变量的表。绘制 X1YZ 变量。气泡大小根据 SZ 变量而改变,颜色根据 Color1 变量而改变。

tbl = table(randn(50,1)-10,randn(50,1)+10,rand(50,1), ...
  rand(50,1),rand(50,1),rand(50,1),rand(50,1),...
  'VariableNames',{'X1','X2','Y','Z','SZ','Color1','Color2'});

bubblechart3(tbl,'X1','Y','Z','SZ','Color1')

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

例如,在 x 轴上绘制 X1X2 变量,在 y 轴上绘制 Y 变量,在 z 轴上绘制 Z 变量。气泡大小根据 SZ 变量而改变。为颜色指定 Color1Color2 变量。结果图显示两组气泡,它们具有相同的 y 坐标、z 坐标和气泡大小,但具有不同的 x 坐标和颜色。

bubblechart3(tbl,{'X1','X2'},'Y','Z','SZ',{'Color1','Color2'})

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

名称-值参数

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

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

示例: bubblechart3([2 1 5],[4 10 9],[1 2 3],[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 中推出

全部展开