Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

bubblechart3

三维气泡图

    说明

    示例

    bubblechart3(x,y,z,sz) 在向量 xyz 指定的位置显示彩色圆形标记(气泡)。将气泡大小指定为向量 sz。向量 xyzsz 的长度必须相同。

    示例

    bubblechart3(x,y,z,sz,c) 指定气泡的颜色。

    • 要对所有气泡使用一种颜色,请指定颜色名称、十六进制颜色代码或 RGB 三元组。

    • 要为每个气泡指定一种不同颜色,请指定与 xyz 长度相同的向量。您也可以指定一个由 RGB 三元组组成的三列矩阵。矩阵中的行数必须与 xyz 的长度相匹配。

    示例

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

    示例

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

    示例

    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);

    Figure contains an axes. The axes contains an object of type 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,'red');

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

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

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

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

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

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

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

    将一组气泡坐标定义为向量 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);

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

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

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

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

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

    bc.MarkerEdgeColor = [0.5 0 0.5];

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

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

    • 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')

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

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

    • 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')

    Figure contains 2 axes. Axes 1 with title East Side contains an object of type bubblechart. Axes 2 with title West Side contains an object of type bubblechart.

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

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

    Figure contains 2 axes. Axes 1 with title East Side contains an object of type bubblechart. Axes 2 with title West Side contains an object of type bubblechart.

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

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

    Figure contains 2 axes. Axes 1 with title East Side contains an object of type bubblechart. Axes 2 with title West Side contains an object of type bubblechart.

    输入参数

    全部折叠

    x 坐标,指定为与 yz 长度相同的数值标量或向量。

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

    y 坐标,指定为与 xz 长度相同的数值标量或向量。

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

    z 坐标,指定为与 xy 长度相同的数值标量或向量。

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

    气泡大小,指定为与 xyz 长度相同的数值标量或向量。

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

    气泡颜色,指定为 RGB 三元组、颜色名称、十六进制颜色代码、RGB 三元组矩阵或颜色图索引向量。您可以用相同的颜色显示所有气泡,也可以用不同的颜色显示每个气泡。默认情况下,气泡用部分透明的颜色填充,气泡的边不透明。

    用相同的颜色显示气泡

    指定下列值之一以使用相同颜色显示所有气泡:

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

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

    • 颜色名称或短名称 - 下表中的颜色名称或短名称。

    颜色名称短名称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'

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

    用不同的颜色显示气泡

    指定下列值之一,为每个气泡指定不同颜色:

    • RGB 三元组组成的三列矩阵 - 矩阵的每行为对应的气泡指定一种 RGB 三元组颜色。每行中的值指定颜色中红、绿、蓝分量的强度。强度必须处于范围 [0,1] 中。行数必须等于坐标向量的长度。

    • 颜色图索引向量 - 由对当前颜色图进行索引的数字组成的 m×1 向量。向量中的值涵盖颜色图的完整范围。c 的长度必须等于坐标向量的长度。要更改坐标区的颜色图,请使用 colormap 函数。

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

    名称-值对组参数

    指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。

    示例: 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'

    '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'

    示例: [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'

    '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'

    示例: [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 中推出