Main Content

ribbon

条带图

  • Ribbon plot

说明

示例

ribbon(Z)Z 的列绘制为均匀宽度的三维条带图,其中 y 的坐标范围是从 1 到 Z 中的行数。各条带沿 x 轴排列,且居中置于单位间隔处。

示例

ribbon(Y,Z)Y 指定的位置绘制三维条带。

示例

ribbon(Y,Z,width) 指定条带的宽度。

ribbon(ax,___) 将图形绘制到 ax 指定的坐标区而不是当前坐标区 (gca) 中。选项 ax 可以位于上述语法中的任何输入参量组合之前。

示例

s = ribbon(___) 返回一个由 Surface 对象组成的向量,每个对象对应一个条带。创建绘图后,使用 s 修改该绘图的属性。有关属性列表,请参阅 Surface 属性

示例

全部折叠

创建一个包含五个高度递增的条带的图。首先,创建一个 5×5 矩阵,其中的元素对应于条带高度。

Z = repmat(1:5,4,1)
Z = 4×5

     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5

Z 的每列表示一个条带,在对应于列号的常量 x 坐标和对应于 Z 的行号的 y 坐标上绘制。

ribbon(Z)

使用 magic 函数创建一个 5×5 矩阵。

Z = magic(5)
Z = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

创建矩阵的条带图,并指定 y 坐标,使每个条带以 0 为中心。

Y = [-2 -1 0 1 2];
ribbon(Y,Z);

在沿 y 轴的不同位置上绘制三个条带。将条带的 y 坐标指定为矩阵 Y,其大小与条带高度矩阵 Z 相同。Y 的每列对应一个条带。

Y = [1 2 3;
     2 3 4;
     3 4 5;
     4 5 6];
Z = Y;
ribbon(Y,Z)

创建条带图,并将每个条带的宽度设置为总可用空间的 30%。

Z = magic(5);
Y = [-2 -1 0 1 2];
ribbon(Y,Z,0.3)

创建条带图并指定输出参量。输出是一个由五个 Surface 对象组成的向量,其中每个对象对应一个条带。

Z = magic(5);
Y = [-2 -1 0 1 2];
s = ribbon(Y,Z)

s = 
  5x1 Surface array:

  Surface
  Surface
  Surface
  Surface
  Surface

通过更改对应 Surface 对象的 EdgeColorLineWidth 属性,突出显示第一个条带。

s(1).EdgeColor = "yellow";
s(1).LineWidth = 3;

创建一个包含 30 个条带和一个颜色栏的条带图。

t = linspace(0,2*pi,30);
x = sin(t)';
y = cos(t);
ribbon(x*y)
cbar = colorbar;
cbar.Label.String= "Ribbon Number";

使用 colormap 函数更改条带颜色。ribbon 将条带的 x 坐标线性映射到颜色图中的颜色。

colormap(turbo)

输入参数

全部折叠

表示条带高度的 z 坐标,指定为数值向量或数值矩阵。

  • 如果 Z 是向量,则无论 Z 是行向量还是列向量,ribbon 都会创建单个条带。

  • 如果 Z 是矩阵,ribbon 将为每列创建一个条带。各条带沿 x 轴排列,且居中置于单位间隔处,其中 x 坐标的范围是从 1 到 Z 中的列数。

y 坐标,指定为数值向量或数值矩阵。Z 的大小确定 Y 的可能大小:

  • 如果 Z 是向量,Y 必须为与 Z 大小相同的向量。ribbon 使用 YZ 中的数据在 X = 1 处绘制单个条带。

  • 如果 Z 是矩阵,Y 可以是长度等于 Z 中行数的行向量或列向量,或是与 Z 大小相同的矩阵。ribbon 使用 YZ 中的数据为 Z 中的每一列绘制一个条带。如果 Y 是向量,则每个条带都有相同的 y 坐标。

条带宽度,指定为表示每个条带可用总空间的百分比的数值标量。

  • 如果 width < 1,条带宽度将占据分配空间的一部分。

  • 如果 width = 1,则各条带相互接触,沿 z 轴向下查看时它们紧挨在一起。

  • 如果 width > 1,则条带相互重叠并可能相交。

例如,默认值 0.75 表示条带宽度是条带可用总空间的 75%,每侧有 12.5% 的空白空间。

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

扩展功能

版本历史记录

在 R2006a 之前推出