【Matlab绘图】plot3函数绘制三维点或线图

发布时间:2023-03-14 18:30

 运行环境:Matlab

 撰写作者:左手の明天

 精选专栏:《python》

  推荐专栏:《算法研究》


大家好,我是左手の明天

  最近更新:2022 年 6 月 6 日,左手の明天的第 256 篇原创博客

 更新于专栏:Matlab GUI编程技巧


目录

语法

示例 

⭐️绘制三维螺旋图

⭐️绘制多个线条 

⭐️使用矩阵绘制多个线条 

⭐️指定等间距刻度单位和轴标签

⭐️将点绘制为不带线的标记

⭐️自定义颜色和标记 

⭐️指定线型

⭐️在绘图后修改线条 

⭐️指定目标坐标区 

⭐️使用自定义刻度格式绘制持续时间数据 

⭐️绘制线条并在一个数据点上放置标记 


语法

plot3(X,Y,Z) 绘制三维空间中的坐标。

  • 要绘制由线段连接的一组坐标,请将 XYZ 指定为相同长度的向量。

  • 要在同一组坐标轴上绘制多组坐标,请将 XY 或 Z 中的至少一个指定为矩阵,其他指定为向量。

plot3(X,Y,Z,LineSpec) 使用指定的线型、标记和颜色创建绘图。

plot3(X1,Y1,Z1,...,Xn,Yn,Zn) 在同一组坐标轴上绘制多组坐标。使用此语法作为将多组坐标指定为矩阵的替代方法。

plot3(X1,Y1,Z1,LineSpec1,...,Xn,Yn,Zn, LineSpecn) 可为每个 XYZ 三元组指定特定的线型、标记和颜色。您可以对某些三元组指定 LineSpec,而对其他三元组省略它。例如,plot3(X1,Y1,Z1,\'o\',X2,Y2,Z2) 对第一个三元组指定标记,但没有对第二个三元组指定标记。

plot3(___,Name,Value) 使用一个或多个名称-值对组参数指定 Line 属性。在所有其他输入参数后指定属性。

plot3(ax,___) 在目标坐标区上显示绘图。将坐标区指定为上述任一语法中的第一个参数。

p = plot3(___) 返回一个 Line 对象或 Line 对象数组。创建绘图后,使用 p 修改该绘图的属性。


示例 

⭐️绘制三维螺旋图

将 t 定义为由介于 0 和 10π 之间的值组成的向量。将 st 和 ct 定义为正弦和余弦值向量。然后绘制 stct 和 t

t = 0:pi/50:10*pi;
st = sin(t);
ct = cos(t);
plot3(st,ct,t)

\"【Matlab绘图】plot3函数绘制三维点或线图_第1张图片\"

⭐️绘制多个线条 

创建两组 xy 和 z 坐标。

t = 0:pi/500:pi;
xt1 = sin(t).*cos(10*t);
yt1 = sin(t).*sin(10*t);
zt1 = cos(t);

xt2 = sin(t).*cos(12*t);
yt2 = sin(t).*sin(12*t);
zt2 = cos(t);

调用 plot3 函数,并指定连续的 XYZ 三元组。

plot3(xt1,yt1,zt1,xt2,yt2,zt2)

\"【Matlab绘图】plot3函数绘制三维点或线图_第2张图片\"

⭐️使用矩阵绘制多个线条 

创建包含三行 x 坐标的矩阵 X。创建包含三行 y 坐标的矩阵 Y

t = 0:pi/500:pi;
X(1,:) = sin(t).*cos(10*t);
X(2,:) = sin(t).*cos(12*t);
X(3,:) = sin(t).*cos(20*t);

Y(1,:) = sin(t).*sin(10*t);
Y(2,:) = sin(t).*sin(12*t);
Y(3,:) = sin(t).*sin(20*t);

创建矩阵 Z,其中包含所有三组坐标的 z 坐标。

Z = cos(t);

在同一组坐标轴上绘制所有三组坐标。

plot3(X,Y,Z)

\"【Matlab绘图】plot3函数绘制三维点或线图_第3张图片\"

⭐️指定等间距刻度单位和轴标签

创建向量 xtyt 和 zt

t = 0:pi/500:40*pi;
xt = (3 + cos(sqrt(32)*t)).*cos(t);
yt = sin(sqrt(32) * t);
zt = (3 + cos(sqrt(32)*t)).*sin(t);

绘制数据,并使用 axis equal 命令沿每个轴等间距隔开刻度单位。然后为每个轴指定标签。

plot3(xt,yt,zt)
axis equal
xlabel(\'x(t)\')
ylabel(\'y(t)\')
zlabel(\'z(t)\')

\"【Matlab绘图】plot3函数绘制三维点或线图_第4张图片\"

⭐️将点绘制为不带线的标记

创建向量 txt 和 yt,并使用圆形标记绘制这些向量中的点。

t = 0:pi/20:10*pi;
xt = sin(t);
yt = cos(t);
plot3(xt,yt,t,\'o\')

\"【Matlab绘图】plot3函数绘制三维点或线图_第5张图片\"

⭐️自定义颜色和标记 

创建向量 txt 和 yt,并将这些向量中的点绘制为带 10 磅圆形标记的蓝线。使用十六进制颜色代码指定标记的填充颜色为浅蓝色。

t = 0:pi/20:10*pi;
xt = sin(t);
yt = cos(t);
plot3(xt,yt,t,\'-o\',\'Color\',\'b\',\'MarkerSize\',10,...
    \'MarkerFaceColor\',\'#D9FFFF\')

\"【Matlab绘图】plot3函数绘制三维点或线图_第6张图片\"

⭐️指定线型

创建向量 t。然后使用 t 计算两组 x 和 y 值。

t = 0:pi/20:10*pi;
xt1 = sin(t);
yt1 = cos(t);

xt2 = sin(2*t);
yt2 = cos(2*t);

绘制这两组值。第一组使用默认线条,第二组使用虚线。

plot3(xt1,yt1,t,xt2,yt2,t,\'--\')

\"【Matlab绘图】plot3函数绘制三维点或线图_第7张图片\"

⭐️在绘图后修改线条 

创建向量 txt 和 yt,并绘制这些向量中的数据。返回输出变量 p 中的图线条。

t = linspace(-10,10,1000);
xt = exp(-t./10).*sin(5*t);
yt = exp(-t./10).*cos(5*t);
p = plot3(xt,yt,t);

\"【Matlab绘图】plot3函数绘制三维点或线图_第8张图片\"

将线宽更改为 3。 

p.LineWidth = 3;

\"【Matlab绘图】plot3函数绘制三维点或线图_第9张图片\"

⭐️指定目标坐标区 

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

tiledlayout(1,2)

% Left plot
ax1 = nexttile;
t = 0:pi/20:10*pi;
xt1 = sin(t);
yt1 = cos(t);
plot3(ax1,xt1,yt1,t)
title(ax1,\'Helix With 5 Turns\')

% Right plot
ax2 = nexttile;
t = 0:pi/20:10*pi;
xt2 = sin(2*t);
yt2 = cos(2*t);
plot3(ax2,xt2,yt2,t)
title(ax2,\'Helix With 10 Turns\')

\"【Matlab绘图】plot3函数绘制三维点或线图_第10张图片\"

⭐️使用自定义刻度格式绘制持续时间数据 

创建 x 和 y 为由 0 和 1 之间的随机值组成的向量。创建 z 为由随机的持续时间值组成的向量。

x = rand(1,10);
y = rand(1,10);
z = duration(rand(10,1),randi(60,10,1),randi(60,10,1));

绘制 xy 和 z,并将 z 轴的格式指定为分和秒。然后添加轴标签,并启用网格以使图框内的点更容易可视化。

plot3(x,y,z,\'o\',\'DurationTickFormat\',\'mm:ss\')
xlabel(\'X\')
ylabel(\'Y\')
zlabel(\'Duration\')
grid on

\"【Matlab绘图】plot3函数绘制三维点或线图_第11张图片\"

⭐️绘制线条并在一个数据点上放置标记 

创建向量 xtyt 和 zt。绘制这些值,使用 LineSpec 参数指定具有圆形标记的实线。指定 MarkerIndices 属性以在第 200 个数据点上放置一个标记。

t = 0:pi/500:pi;
xt(1,:) = sin(t).*cos(10*t);
yt(1,:) = sin(t).*sin(10*t);
zt = cos(t);
plot3(xt,yt,zt,\'-o\',\'MarkerIndices\',200)

\"【Matlab绘图】plot3函数绘制三维点或线图_第12张图片\"

 


全文共 4903 个字码字总结不易老铁们来个三连点赞、关注、评论

作者:左手の明天

原创不易,转载请联系作者并注明出处


\"【Matlab绘图】plot3函数绘制三维点或线图_第13张图片\"

 

\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号