Matlab三维离散序列数据绘图函数stem3

4.3
(4)

今天,带来Matlab中三维离散序列数据的绘图函数stem3使用方法。本文主要讲解stem3函数在Matlab中的常见用法、语法说明、行向量输入、列向量输入、矩阵输入、使用向量输入指定针状线条位置、使用矩阵输入指定针状线条位置、填充标记、线型|标记符号和颜色选项、其他样式选项、特定坐标区上的针状图、创建后修改针状序列等用法

Matlab三维离散序列数据绘图函数stem3

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

>> help stem3
 stem3  3-D stem plot.
    stem3(Z) plots the discrete surface Z as stems from the xy-plane
    terminated with circles for the data value.
 
    stem3(X,Y,Z) plots the surface Z at the values specified
    in X and Y.
 
    stem3(...,'filled') produces a stem plot with filled markers.
 
    stem3(...,LINESPEC) uses the linetype specified for the stems and
    markers.  See PLOT for possibilities.
 
    stem3(AX,...) plots into AX instead of GCA.
 
    H = stem3(...) returns a stem object.

常见用法

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

语法说明

stem3(Z) 将 Z 中的各项绘制为针状图,这些针状图从 xy 平面开始延伸并在各项值处以圆圈终止。xy 平面中的针状线条位置是自动生成的。

stem3(X,Y,Z) 将 Z 中的各项绘制为针状图,这些针状图从 xy 平面开始延伸,其中 X 和 Y 指定 xy 平面中的针状图位置。X、Y 和 Z 输入必须是大小相同的向量或矩阵。

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

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

stem3(___,Name,Value) 使用一个或多个名称-值对组参数修改针状图。

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

h = stem3(___) 返回 Stem 对象 h。

行向量输入

使用一个行向量输入创建在 −π/2 和 π/2 之间的余弦值的三维针状图。

figure
X = linspace(-pi/2,pi/2,40);
Z = cos(X);
stem3(Z)
Matlab三维离散序列数据绘图函数stem3

stem3 在等间距的 x 值位置绘制 Z 的元素对相同的 y 值的图。

列向量输入

使用一个列向量输入创建在 −π/2 和 π/2 之间的余弦值的三维针状图。

figure
X = linspace(-pi/2,pi/2,40)';
Z = cos(X);
stem3(Z)
Matlab三维离散序列数据绘图函数stem3

stem3 在等间距的 y 值位置绘制 Z 的元素对相同的 x 值的图。

矩阵输入

使用一个矩阵输入创建在 −π/2 和 π/2 之间的正弦和余弦值的三维针状图。

figure
X = linspace(-pi/2,pi/2,40);
Z = [sin(X); cos(X)];
stem3(Z)
Matlab三维离散序列数据绘图函数stem3

stem3 在等间距的 x 值位置绘制 Z 的每一行对相同的 y 值的图。

使用向量输入指定针状线条位置

创建一个三维针状图并指定针状线条沿曲线的位置。使用 view 可调整图窗中坐标区的角度。

figure
X = linspace(-5,5,60);
Y = cos(X);
Z = X.^2;
stem3(X,Y,Z)
view(-8,30)
Matlab三维离散序列数据绘图函数stem3

X 和 Y 确定针状线条位置。Z 确定标记高度。

使用矩阵输入指定针状线条位置

使用矩阵数据创建一个三维针状图并在 xy 平面中指定针状线条位置。

figure
[X,Y] = meshgrid(0:.1:1);
Z = exp(X+Y);
stem3(X,Y,Z)
Matlab三维离散序列数据绘图函数stem3

X 和 Y 确定针状线条位置。Z 确定标记高度。

填充标记

创建在 −π 和 π 之间的余弦值的三维针状图并填充标记。

X = linspace(-pi,pi,40);
Z = cos(X);
stem3(Z,'filled')
Matlab三维离散序列数据绘图函数stem3

线型、标记符号和颜色选项

创建在 −π 和 π 之间的余弦值的三维针状图。对针状图使用虚线线型,将标记符号设置为星号,以及将颜色设置为品红色。

figure
X = linspace(-pi,pi,40);
Z = cos(X);
stem3(Z,'--*m')
Matlab三维离散序列数据绘图函数stem3

要仅指定三个 LineSpec 选项中的两个,请在字符向量中省略第三个选项。例如,’*m’ 设置标记符号和颜色并使用默认线型。

创建一个三维针状图并指定针状线条沿圆的位置。将针状图设置为点线样式,将标记符号设置为星号,以及将颜色设置为品红色。

figure
theta = linspace(0,2*pi);
X = cos(theta);
Y = sin(theta);
Z = theta;
stem3(X,Y,Z,':*m')
Matlab三维离散序列数据绘图函数stem3

X 和 Y 确定针状线条位置。Z 确定标记高度。

其他样式选项

创建在 −π 和 π 之间的余弦值的三维针状图。将标记符号设置为具有绿色面和品红色边的方形。

figure
X = linspace(-pi,pi,40);
Z = cos(X);
stem3(Z,'Marker','s',...
     'MarkerEdgeColor','m',...
     'MarkerFaceColor','g')
Matlab三维离散序列数据绘图函数stem3

特定坐标区上的针状图

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

X = linspace(-2,2,50);
Y = X.^3;
Z = exp(X);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
stem(ax1,X,Z)

% Bottom plot
ax2 = nexttile;  
stem3(ax2,X,Y,Z)

由于我用的是R2016版本的Matlab,并不支持tiledlayout以及nexttile函数,因此我用subplot来代替这种写法,代码如下:

X = linspace(-2,2,50);
Y = X.^3;
Z = exp(X);

subplot(2,1,1)
stem(X,Z)

subplot(2,1,2) 
stem3(X,Y,Z)
Matlab三维离散序列数据绘图函数stem3

创建后修改针状序列

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

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

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

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

共计4人评分,平均4.3

到目前为止还没有投票~

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

让我们改善这篇文章!

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

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

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

发表评论

登录后才能评论
本站APP
本站APP
分享本页
返回顶部