Matlab阶梯图绘制函数stairs

4
(2)

今天,给各位系统的介绍下 Matlab 中使用 stairs 绘图中的常见方法,主要包括绘制单数据序列、绘制多数据序列、指定位置绘制单数据序列、指定位置绘制多数据序列、唯一值绘制多个数据序列、指定线型、标记符号和颜色、指定其他样式选项、为阶梯图指定坐标区、创建并修改阶梯图、使用绘图函数创建阶梯图等常见用法。

Matlab阶梯图绘制函数stairs

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

>> help staris
--- stairs 的帮助 ---
 stairs Stairstep plot.
    stairs(Y) draws a stairstep graph of the elements of vector Y.
 
    stairs(X,Y) draws a stairstep graph of the elements in vector Y at
    the locations specified in X.
 
    stairs(...,STYLE) uses the plot linestyle specified by the
    string STYLE.
 
    stairs(AX,...) plots into AX instead of GCA.
 
    H = stairs(X,Y) returns a vector of stairseries handles.
 
    [XX,YY] = stairs(X,Y) does not draw a graph, but returns vectors
    X and Y such that PLOT(XX,YY) is the stairstep graph.
 
    The above inputs to stairs can be followed by property/value
    pairs to specify additional properties of the stairseries object.
 
    Stairstep plots are useful for drawing time history plots of
    zero-order-hold digital sampled-data systems.

常见语法

stairs(Y)
stairs(X,Y)
stairs(___,LineSpec)
stairs(___,Name,Value)
stairs(ax,___)
h = stairs(___)
[xb,yb] = stairs(___)

语法说明

stairs(Y) 绘制 Y 中元素的阶梯图。

  • 如果 Y 为向量,则 stairs 绘制一个线条。
  • 如果 Y 为矩阵,则 stairs 为每个矩阵列绘制一个线条。

stairs(X,Y) 在 Y 中由 X 指定的位置绘制元素。输入 X 和 Y 必须是相同大小的向量或矩阵。另外,X 可以是行或列向量,Y 必须是包含 length(X) 行的矩阵。

stairs(___,LineSpec) 指定线型、标记符号和颜色。例如,’:*r’ 指定带星号标记的红色点线。可以将此选项与前面语法中的任何输入参数组合一起使用。

stairs(___,Name,Value) 使用一个或多个名称-值对组参数修改阶梯图。例如,’Marker’,’o’,’MarkerSize’,8 指定大小为 8 磅的圆形标记。

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

h = stairs(___) 返回一个或多个 Stair 对象。在创建特定 Stair 对象后,使用 h 更改该对象的属性。

[xb,yb] = stairs(___) 不创建绘图,但返回大小相等的矩阵 xb 和 yb,以使 plot(xb,yb) 绘制阶梯图。

绘制单数据序列

创建在 0 到 4π 区间内的 40 个均匀分布的值处计算的正弦阶梯图。

X = linspace(0,4*pi,40);
Y = sin(X);
figure
stairs(Y)
Matlab阶梯图绘制函数stairs

Y 的长度自动确定并生成 x 轴刻度。

绘制多个数据序列

创建在 0 到 4π 区间内的 50 个均匀分布的值处计算的两个余弦函数阶梯图。

X = linspace(0,4*pi,50)';
Y = [0.5*cos(X), 2*cos(X)];
figure
stairs(Y)
Matlab阶梯图绘制函数stairs

Y 中的行数自动确定并生成 x 轴刻度。

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

创建在 0 到 4π 区间内均匀分布的值处计算的正弦波阶梯图。指定该图的 x 值集。

X = linspace(0,4*pi,40);
Y = sin(X);
figure
stairs(X,Y)
Matlab阶梯图绘制函数stairs

绘制 Y 中的项对 X 中的对应项的图。

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

创建在 0 到 4π 区间内的均匀分布的值处计算的两个余弦波阶梯图。指定该图的 x 值集。

X = linspace(0,4*pi,50)';
Y = [0.5*cos(X), 2*cos(X)];
figure
stairs(X,Y)
Matlab阶梯图绘制函数stairs

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

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

创建在不同的值处计算的两个余弦波的阶梯图。指定用于绘制每个数据序列的唯一 x 值集。

x1 = linspace(0,2*pi)';
x2 = linspace(0,pi)';
X = [x1,x2];
Y = [sin(5*x1),exp(x2).*sin(5*x2)];
figure
stairs(X,Y)
Matlab阶梯图绘制函数stairs

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

指定线型、标记符号和颜色

创建一个阶梯图,将线型设置为点划线,将标记符号设置为圆,将颜色设置为红色。

X = linspace(0,4*pi,20);
Y = sin(X);
figure
stairs(Y, '-.or')
Matlab阶梯图绘制函数stairs

指定其他样式选项

使用 Name,Value 对组参数创建一个阶梯图并将线宽设置为 2,将标记符号设置为菱形,并将标记面颜色设置为青色。

X = linspace(0,4*pi,20);
Y = sin(X);
figure
stairs(Y,'LineWidth',2,'Marker','d','MarkerFaceColor','c')
Matlab阶梯图绘制函数stairs

为阶梯图指定坐标区

从 R2019b 开始,您可以使用 tiledlayout 和 nexttile 函数显示分块图。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。通过将坐标区对象指定为 stairs 的第一个参数,在坐标区中创建单独的阶梯图。

x = linspace(0,2*pi);
y1 = 5*sin(x);
y2 = sin(5*x);
tiledlayout(2,1)
% Top plot
ax1 = nexttile;
stairs(ax1,x,y1)
% Bottom plot
ax2 = nexttile;  
stairs(ax2,x,y2)

由于我用的是 Matlab2016,因此无法使用 tiledlayout 和 nexttile 。这里,我使用 subplot 来创建2×1 分快图布局,详情如下所示:

x = linspace(0,2*pi);
y1 = 5*sin(x);
y2 = sin(5*x);
% Top plot
subplot(2,1,1)
stairs(x,y1)
% Bottom plot
subplot(2,1,2)
stairs(x,y2)
Matlab阶梯图绘制函数stairs

创建并修改阶梯图

创建两个数据序列的阶梯图并返回两个阶梯图对象。

X = linspace(0,1,30)';
Y = [cos(10*X), exp(X).*sin(10*X)];
h = stairs(X,Y);
Matlab阶梯图绘制函数stairs

对第一个数据序列使用小圆形标记。对第二个序列使用填充品红色的圆形。使用圆点表示法设置属性。

h(1).Marker = 'o';
h(1).MarkerSize = 4;
h(2).Marker = 'o';
h(2).MarkerFaceColor = 'm';
Matlab阶梯图绘制函数stairs

使用绘图函数创建一个阶梯图

在 0 和 4π 区间内的 50 个均匀分布的值处计算两个余弦函数并使用 plot 创建一个阶梯图。

X = linspace(0,4*pi,50)';
Y = [0.5*cos(X), 2*cos(X)];
[xb,yb] = stairs(X,Y);

stairs 返回两个大小相等的矩阵 xb 和 yb,但没有绘图。

使用 plot 可通过 xb 和 yb 创建阶梯图。

figure
plot(xb,yb)
Matlab阶梯图绘制函数stairs

共计2人评分,平均4

到目前为止还没有投票~

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

让我们改善这篇文章!

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

文章目录

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

如若转载,请注明出处:https://iymark.com/articles/461.html

(0)
微信公众号
古哥的头像古哥管理团队
上一篇 2020年10月18日 22:56
下一篇 2020年10月20日 22:42

你可能感兴趣的文章

发表回复

登录后才能评论
微信小程序
微信公众号