MATLAB中stem函数的使用

目录

语法

说明

​示例

绘制单数据序列

绘制多个数据序列

在指定的 x 值位置绘制单个数据序列

在指定的 x 值处绘制多个数据序列

在唯一的 x 值集合处绘制多个数据序列

填充图标记 

指定针状线条和标记选项

 指定其他针状线条和标记选项

指定针状图的坐标区

创建后修改针状序列 

调整基线属性

更改基线级别


        stem函数的作用是绘制离散序列数据。

语法

stem(Y)
stem(X,Y)
stem(___,'filled')
stem(___,LineSpec)
stem(___,Name,Value)
stem(ax,___)
h = stem(___)

说明

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

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

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

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

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

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

  • 如果 X 和 Y 都是矩阵,则 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 轴上的位置。 

在指定的 x 值位置绘制单个数据序列

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

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

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

在指定的 x 值处绘制多个数据序列

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

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

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

在唯一的 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 开始,您可以使用 tiledlayout 和 nexttile 函数显示分块图。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。通过将坐标区对象指定为 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 = linspace(0,2);
Y = X.^3;
Z = exp(X).*cos(Y);
h = stem3(X,Y,Z,'filled');

        将颜色更改为品红色,将标记面颜色设置为黄色。使用 view 可调整图窗中坐标区的角度。使用圆点表示法设置属性。

h.Color = 'm';
h.MarkerFaceColor = 'y';
view(-10,35)

调整基线属性

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

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

        更改基线的线型。使用圆点表示法设置属性。

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

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

'--' 虚线

':' 点线

'-.' 点划线

标记 说明 生成的标记
'o' 圆圈

'+' 加号

'*' 星号

'.'

'x' 叉号

'_' 水平线条

'|' 垂直线条

's' 方形

'd' 菱形

'^' 上三角

'v' 下三角

'>' 右三角

'<' 左三角

'p' 五角形

'h' 六角形

颜色名称 短名称 RGB 三元组 外观
'red' 'r' [1 0 0]

'green' 'g' [0 1 0]

'blue' 'b' [0 0 1]

'cyan' 'c' [0 1 1]

'magenta' 'm' [1 0 1]

'yellow' 'y' [1 1 0]

'black' 'k' [0 0 0]

'white' 'w' [1 1 1]

猜你喜欢

转载自blog.csdn.net/jk_101/article/details/124929802