本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

stem

绘制离散序列数据

说明

示例

stem(Y) 将数据序列 Y 绘制为从沿 x 轴的基线延伸的针状图。各个数据值由终止每个针状图的圆指示。

  • 如果 Y 是向量,x 轴的刻度范围是从 1 至 length(Y)

  • 如果 Y 是矩阵,则 stem 将根据相同的 x 值绘制行中的所有元素,并且 x 轴的刻度范围是从 1 至 Y 中的行数。

示例

stem(X,Y)X 指定的值的位置绘制数据序列 YXY 输入必须是大小相同的向量或矩阵。另外,X 可以是行或列向量,Y 必须是包含 length(X) 行的矩阵。

  • 如果 XY 都是向量,则 stem 将根据 X 中的对应项绘制 Y 中的各项。

  • 如果 X 是向量,Y 是矩阵,则 stem 将根据 X 指定的值集绘制 Y 的每列,这样 Y 的一行中的所有元素都是根据相同的值而绘制。

  • 如果 XY 都是矩阵,则 stem 将根据 X 的对应列绘制 Y 的列。

示例

stem(___,'filled') 填充圆形。可以将此选项与前面语法中的任何输入参数组合一起使用。

示例

stem(___,LineSpec) 指定线型、标记符号和颜色。

示例

stem(___,Name,Value) 使用一个或多个 Name,Value 对组参数修改针状图。

示例

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

示例

h = stem(___)h 中返回由 Stem 对象构成的向量。使用 h 可在创建针状图后对其进行修改。

示例

全部折叠

创建一个包含 -2π2π 之间的 50 个数据值的针状图。

figure
Y = linspace(-2*pi,2*pi,50);
stem(Y)

数据值绘制为从基线开始延伸并在数据值位置终止的针状线条。Y 的长度自动确定每个针状图在 x 轴上的位置。

使用两列矩阵绘制两个数据序列。

figure
X = linspace(0,2*pi,50)';
Y = [cos(X), 0.5*sin(X)];
stem(Y)

Y 的每列绘制为一个单独的序列,且 Y 的同一行的各项会针对同一 x 值进行绘制。Y 中的行数自动生成每个针状线条在 x 轴上的位置。

绘制在 0 和 2π 之间计算的 50 个余弦数据值并为针状图指定 x 值集。

figure
X = linspace(0,2*pi,50)';
Y = cos(X);
stem(X,Y)

第一个向量输入确定每个针状线条在 x 轴上的位置。

绘制在 0 和 2π 之间计算的 50 个正弦和余弦数据值并为针状图指定 x 值集。

figure
X = linspace(0,2*pi,50)';
Y = [cos(X), 0.5*sin(X)];
stem(X,Y)

向量输入确定这两个数据序列的 x 轴位置。

绘制根据不同的 x 值集计算的 50 个正弦和余弦数据值。为每个序列指定对应的 x 值集。

figure
x1 = linspace(0,2*pi,50)';
x2 = linspace(pi,3*pi,50)';
X = [x1, x2];
Y = [cos(x1), 0.5*sin(x2)];
stem(X,Y)

绘制 X 的每一列对 Y 的对应列的图。

创建一个针状图并填充终止每个针状图的圆。

X = linspace(0,10,20)';
Y = (exp(0.25*X));
stem(X,Y,'filled')

创建一个针状图并使用 LineSpec 选项将线型设置为点线,将标记符号设置为菱形,将颜色设置为红色。

figure
X = linspace(0,2*pi,50)';
Y = (exp(X).*sin(X));
stem(X,Y,':diamondr')

要对菱形内部着色,请使用 'fill' 选项。

创建一个针状图,并使用 Name,Value 对组参数将线型设置为点划线,将标记面颜色设置为红色,以及将标记边颜色设置为绿色。

figure
X = linspace(0,2*pi,25)';
Y = (cos(2*X));
stem(X,Y,'LineStyle','-.',...
     'MarkerFaceColor','red',...
     'MarkerEdgeColor','green')

针状图仍保持默认颜色。

从 R2019b 开始,您可以使用 tiledlayoutnexttile 函数显示平铺绘图。调用 tiledlayout 函数以创建一个 2×1 平铺图布局。调用 nexttile 函数以创建坐标区对象 ax1ax2。通过将坐标区对象指定为 stem 的第一个参数,在坐标区中创建单独的针状图。

x = 0:25;
y1 = exp(0.1*x); 
y2 = -exp(.05*x);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
stem(ax1,x,y1)

% Bottom plot
ax2 = nexttile;
stem(ax2,x,y2)

创建一个针状图。

X = 0:25;
Y = [cos(X); exp(0.05*X)]';
h = stem(X,Y);

stem 函数为每列数据创建一个针状序列对象。输出参数 h 包含两个针状序列对象。

将第一个针状序列的颜色设置为绿色。将第二个针状序列的标记更改为正方形。从 R2014b 开始,您可以使用圆点表示法设置属性。如果您使用的是早期版本,请改用 set 函数。

h(1).Color = 'green';
h(2).Marker = 'square';

创建一个针状图并更改基线的属性。

X = linspace(0,2*pi,50);
Y = exp(0.3*X).*sin(3*X);
h = stem(X,Y);

更改基线的线型。从 R2014b 开始,您可以使用圆点表示法设置属性。如果您使用的是早期版本,请改用 set 函数。

hbase = h.BaseLine; 
hbase.LineStyle = '--';

将基线的 Visible 属性设置为 'off' 以隐藏基线。

hbase.Visible = 'off';

创建一个针状图并将基线级别设置为 2。

X = linspace(0,2*pi,50)';
Y = (exp(0.3*X).*sin(3*X));
stem(X,Y,'BaseValue',2);

输入参数

全部折叠

要显示的数据序列,指定为向量或矩阵。如果 Y 是向量,stem 将创建一个 Stem 对象。如果 Y 是矩阵,stem 将为每一列创建一个单独的 Stem 对象。

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

绘制 Y 中的数据值的位置,指定为向量或矩阵。如果 Y 为向量,X 必须是大小相同的向量。如果 Y 为矩阵,X 必须是大小相同的矩阵或长度等于 Y 中的行数的向量。

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

线型、标记和颜色,指定为字符向量或字符串。有关详细信息,请参阅 LineSpec

示例: ':*r'

Axes 对象。如果未指定坐标区,则 stem 在当前坐标区中绘图。

名称-值对组参数

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

示例: 'LineStyle',':','MarkerFaceColor','red' 以点线形式绘制针状图并将标记面设置为红色。

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

线型,指定为下表中列出的选项之一。

线型说明表示的线条
'-'实线

'--'虚线

':'点线

'-.'点划线

'none'无线条无线条

线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。

针状图颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。

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

示例: 'blue'

示例: [0 0 1]

示例: '#0000FF'

标记符号,指定为下表中列出的标记之一。

说明
'o'圆圈
'+'加号
'*'星号
'.'
'x'叉号
'square''s'方形
'diamond''d'菱形
'^'上三角
'v'下三角
'>'右三角
'<'左三角
'pentagram''p'五角星(五角形)
'hexagram''h'六角星(六角形)
'none'无标记

示例: '+'

示例: 'diamond'

标记大小,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。

标记轮廓颜色,指定为 'auto'、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 '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'

标记填充颜色,指定为 'auto'、RGB 三元组、十六进制颜色代码、颜色名称或短名称。'auto' 选项使用与父坐标区的 Color 属性相同的颜色。如果您指定 'auto',并且坐标区图框不可见,则标记填充颜色为图窗的颜色。

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

输出参数

全部折叠

Stem 对象。这些是唯一标识符,可以用来在创建特定 Stem 对象后修改该对象的属性。

扩展功能

在 R2006a 之前推出