Matlab离散序列数据绘图函数stem

文章目录

展开
4.3
(3)

今天,带来Matlab中离散序列数据的绘图函数stem使用方法。本文主要讲解stem函数在Matlab中的常见用法、语法说明、单数据序列得绘制、多个数据序列得绘制、在指定的位置绘制单个数据序列、在指定的位置绘制多个数据序列、在唯一的位置集合处绘制多个数据序列、填充图标记、指定针状线条和标记选项、指定其他针状线条和标记选项、指定针状图的坐标区、创建后修改针状序列、调整基线属性以及更改基线级别等用法详解。

Matlab离散序列数据绘图函数stem

下面,我们将开始详细的介绍stem函数的语法介绍,实例引用,结果展示。首先,我们给出 Matlab 中关于 stem 函数的帮助文本如下:

>> help stem
 stem   Discrete sequence or "stem" plot.
    stem(Y) plots the data sequence Y as stems from the x axis
    terminated with circles for the data value. If Y is a matrix then
    each column is plotted as a separate series.
 
    stem(X,Y) plots the data sequence Y at the values specified
    in X.
 
    stem(...,'filled') produces a stem plot with filled markers.
 
    stem(...,'LINESPEC') uses the linetype specified for the stems and
    markers.  See PLOT for possibilities.
 
    stem(AX,...) plots into axes with handle AX. Use GCA to get the
    handle to the current axes or to create one if none exist.
 
    H = stem(...) returns a vector of stemseries handles in H, one handle
    per column of data in Y.

常见用法

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)
Matlab离散序列数据绘图函数stem

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

多个数据序列得绘制

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

figure
X = linspace(0,2*pi,50)';
Y = [cos(X), 0.5*sin(X)];
stem(Y)
Matlab离散序列数据绘图函数stem

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

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

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

figure
X = linspace(0,2*pi,50)';
Y = cos(X);
stem(X,Y)
Matlab离散序列数据绘图函数stem

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

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

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

figure
X = linspace(0,2*pi,50)';
Y = [cos(X), 0.5*sin(X)];
stem(X,Y)
Matlab离散序列数据绘图函数stem

向量输入确定这两个数据序列的 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)
Matlab离散序列数据绘图函数stem

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

填充图标记

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

X = linspace(0,10,20)';
Y = (exp(0.25*X));
stem(X,Y,'filled')
Matlab离散序列数据绘图函数stem

指定针状线条和标记选项

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

figure
X = linspace(0,2*pi,50)';
Y = (exp(X).*sin(X));
stem(X,Y,':diamondr')
Matlab离散序列数据绘图函数stem

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

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

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

figure
X = linspace(0,2*pi,25)';
Y = (cos(2*X));
stem(X,Y,'LineStyle','-.',...
     'MarkerFaceColor','red',...
     'MarkerEdgeColor','green')
Matlab离散序列数据绘图函数stem

针状图仍保持默认颜色。

指定针状图的坐标区

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

由于我用得是Matlab2016版本,因此不支持tiledlayout和nexttile函数,这里我是用subplot来代替作图,代码如下:

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

subplot(2,1,1)
stem(x,y1)

subplot(2,1,2)
stem(x,y2)
Matlab离散序列数据绘图函数stem

创建后修改针状序列

创建一个三维针状图并返回针状序列对象。

X = linspace(0,2);
Y = X.^3;
Z = exp(X).*cos(Y);
h = stem3(X,Y,Z,'filled');
Matlab离散序列数据绘图函数stem

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

h.Color = 'm';
h.MarkerFaceColor = 'y';
view(-10,35)
Matlab离散序列数据绘图函数stem

调整基线属性

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

X = linspace(0,2*pi,50);
Y = exp(0.3*X).*sin(3*X);
h = stem(X,Y);
Matlab离散序列数据绘图函数stem

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

hbase = h.BaseLine; 
hbase.LineStyle = '--';
Matlab离散序列数据绘图函数stem

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

hbase.Visible = 'off';
Matlab离散序列数据绘图函数stem

更改基线级别

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

X = linspace(0,2*pi,50)';
Y = (exp(0.3*X).*sin(3*X));
stem(X,Y,'BaseValue',2);
Matlab离散序列数据绘图函数stem

共计3人评分,平均4.3

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

转载文章,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/program/matlab-scatter-function-stem.html

(1)
上一篇 2020年12月09日 19:44
下一篇 2020年12月11日 20:19

你可能感兴趣的文章

  • Matlab水平条形图创建函数barh教程

    文章目录 展开常见用法语法说明显示一个条形序列显示具有轴标签和图例的四个条形序列更改基准值显示具有负数据的堆叠条形自定义垂直轴刻度标签指定分类数据在条形末端添加标签指定条形宽度和颜…

    2020年11月29日
    0253
  • Matlab直方图绘制函数histogram

    文章目录 展开常见用法语法说明向量直方图指定分割区块(bin)数量修改直方图的bin数量指定直方图bin的边界直方图数据分类绘制直方图的归一化多个直方图的绘制直方图属性的调整概率分…

    2020年11月02日
    0545
  • Matlab数据处理之max最值函数的用法介绍

    文章目录 展开max函数基本用法max函数用法介绍max函数实例向量元素最大值复数最大值每个矩阵列中最大的元素每个矩阵行中的最大元素最大元素索引最大元素比较矩阵中最大的元素涉及Na…

    2022年12月13日
    0102
  • Matlab三维离散序列数据绘图函数stem3

    文章目录 展开常见用法语法说明行向量输入列向量输入矩阵输入使用向量输入指定针状线条位置使用矩阵输入指定针状线条位置填充标记线型、标记符号和颜色选项其他样式选项特定坐标区上的针状图创…

    2020年12月13日
    0290
  • 使用Matlab实现离散数据的曲线拟合

    文章目录 展开数据来源拟合工具调用 4.5 (2) 今天,古哥带来如何使用Matlab快速拟合实验数据,得到这些数据所遵循的变换函数。这种方式,一般你需要大概知道自己的实验数据所可…

    2020年09月14日
    0450
  • Matlab快速入门之数组类型

    文章目录 展开多维数组元胞数组字符与文本结构体 4.3 (3) 本文讲解下Matlab中的数组类型,Matlab中数组类型大约有以下几种:多维数组、元胞数组、字符与文本、结构体等。…

    2022年09月18日
    0270

发表回复

登录后才能评论
本站APP
微信小程序