发布时间:2023-03-14 18:30
运行环境:Matlab
撰写作者:左手の明天
精选专栏:《python》
推荐专栏:《算法研究》
大家好,我是左手の明天!
最近更新:2022 年 6 月 6 日,左手の明天的第 256 篇原创博客
更新于专栏:Matlab GUI编程技巧
目录
语法
示例
⭐️绘制三维螺旋图
⭐️绘制多个线条
⭐️使用矩阵绘制多个线条
⭐️指定等间距刻度单位和轴标签
⭐️将点绘制为不带线的标记
⭐️自定义颜色和标记
⭐️指定线型
⭐️在绘图后修改线条
⭐️指定目标坐标区
⭐️使用自定义刻度格式绘制持续时间数据
⭐️绘制线条并在一个数据点上放置标记
plot3(X,Y,Z)
绘制三维空间中的坐标。
要绘制由线段连接的一组坐标,请将 X
、Y
、Z
指定为相同长度的向量。
要在同一组坐标轴上绘制多组坐标,请将 X
、Y
或 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
定义为正弦和余弦值向量。然后绘制 st
、ct
和 t
。
t = 0:pi/50:10*pi;
st = sin(t);
ct = cos(t);
plot3(st,ct,t)
创建两组 x、y 和 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)
创建包含三行 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)
创建向量 xt
、yt
和 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)\')
创建向量 t
、xt
和 yt
,并使用圆形标记绘制这些向量中的点。
t = 0:pi/20:10*pi;
xt = sin(t);
yt = cos(t);
plot3(xt,yt,t,\'o\')
创建向量 t
、xt
和 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\')
创建向量 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,\'--\')
创建向量 t
、xt
和 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);
将线宽更改为 3
。
p.LineWidth = 3;
从 R2019b 开始,您可以使用 tiledlayout
和 nexttile
函数显示分块图。调用 tiledlayout
函数以创建 1×2 分块图布局。调用 nexttile
函数以创建坐标区对象 ax1
和 ax2
。通过将坐标区对象指定为 plot
3 的第一个参数,在坐标区中创建单独的线图。
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\')
创建 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));
绘制 x
、y
和 z
,并将 z 轴的格式指定为分和秒。然后添加轴标签,并启用网格以使图框内的点更容易可视化。
plot3(x,y,z,\'o\',\'DurationTickFormat\',\'mm:ss\')
xlabel(\'X\')
ylabel(\'Y\')
zlabel(\'Duration\')
grid on
创建向量 xt
、yt
和 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)
全文共 4903 个字,码字总结不易,老铁们来个三连:点赞、关注、评论
作者:左手の明天
原创不易,转载请联系作者并注明出处