MATLAB 中的 3D 绘图
-
在 MATLAB 中使用
mesh()
函数创建曲面图 -
在 MATLAB 中使用
scatter3()
函数创建 3D 散点图 -
在 MATLAB 中使用
contour3()
函数创建 3D 等高线图 -
在 MATLAB 中使用
plot3()
函数创建点或线的 3D 图 -
在 MATLAB 中使用
quiver3()
函数创建 3D Quiver 或矢量图 -
在 MATLAB 中使用
bar3()
函数创建 3D 条形图
本教程将讨论在 MATLAB 中使用 mesh()
、scatter3()
、contour3()
、plot3()
、quiver3()
和 bar3()
函数创建 3d 图。
在 MATLAB 中使用 mesh()
函数创建曲面图
Matlab 的内置函数 mesh()
在 3D 平面上创建曲面图。我们可以将 mesh()
函数内的矩阵作为我们想要在 3D 平面中绘制的函数传递。
mesh()
函数将使用 x-y 坐标的默认值沿 z 轴绘制给定矩阵。x 和 y 坐标将来自给定矩阵的索引。
给定的矩阵将在 z 轴上绘制为三维平面上的高度。
例如,让我们创建一个矩阵 Z 并使用 Matlab 中的 mesh()
函数将其绘制在曲面图上。
请参阅下面的代码。
clc
[x,y] = meshgrid(-18:1:18);
r = sqrt(x.^2 + y.^2)/2;
z = cos(r)./r;
mesh(x,y,z)
输出:
查看此链接以获取有关 mesh()
函数的更多详细信息。
在 MATLAB 中使用 scatter3()
函数创建 3D 散点图
如果我们想创建一个 3D 散点图,我们可以使用 scatter3()
函数。此函数与 scatter()
函数相同,但它将给定数据绘制在 3D 平面中。
我们可以给 scatter3()
函数提供两个或三个输入向量。
在三个输入的情况下,第一个向量包含 x 坐标,第二个包含 y 坐标,第三个包含 z 坐标。
在两个输入向量的情况下,第三个坐标 z 将取自前两个坐标的索引。
例如,让我们使用 scatter3()
函数在 3D 位置绘制散点图。
请参阅下面的代码。
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
z = 1:100;
scatter3(x,y,z)
输出:
查看此链接以获取有关 scatter()
函数的更多详细信息。
在 MATLAB 中使用 contour3()
函数创建 3D 等高线图
我们可以使用 Matlab 的内置函数 contour3()
创建 3D 等高线图。等值线图是根据值具有不同颜色的等值线图。
赋予线条的颜色取决于它的值。较冷的颜色对应于较低的值,较热的颜色对应于较高的值。
例如,让我们使用 sphere()
和 contour3()
函数绘制一个球体的 3D 等高线图。请参阅下面的代码。
clc
[x,y,z] = sphere(100);
contour3(x,y,z);
输出:
在 MATLAB 中使用 plot3()
函数创建点或线的 3D 图
我们已经知道 Matlab 中的 plot()
函数,它用于在 2D 平面上绘制数据。plot3()
函数类似于 plot()
函数。
唯一的区别是 plot3()
函数在 3D 平面上绘制数据。我们可以将数据绘制为一条线,即连续图,也可以绘制为点,即离散图。
我们必须传递三个坐标 x、y 和 z,才能在 3D 平面上绘制数据。例如,让我们使用 plot3()
函数在 3D 中绘制螺旋线。
请参阅下面的代码。
clc
t = 0:pi/50:10*pi;
sinet = sin(t);
cost = cos(t);
plot3(sinet,cost,t)
输出:
在 MATLAB 中使用 quiver3()
函数创建 3D Quiver 或矢量图
Matlab 的内置函数 quiver3()
可用于绘制 3D 箭袋或矢量图。标量仅包含幅度,但向量包含幅度和方向。
我们可以使用 plot3()
函数创建标量数据的 3D 图,但我们不能使用 plot3()
函数绘制矢量数据,因为该函数不会绘制矢量的方向。
在向量的情况下,我们可以使用 quiver3()
函数,它将绘制向量的大小和方向。
例如,让我们创建一个矩阵并将其绘制在具有方向的 3D 平面上。请参阅下面的代码。
clc
m = [1:10 ;10:-1:1;1:10];
quiver3(m,m,m,m)
输出:
查看此链接以获取有关 quiver3()
函数的更多详细信息。
在 MATLAB 中使用 bar3()
函数创建 3D 条形图
我们可以使用 Matlab 的内置函数 bar3()
在 3D 平面上绘制条形图。我们必须传递数据的输入矩阵,在 3D 平面中绘制为 z 轴上的高度。
其他两个坐标(x 和 y)将取自给定矩阵的索引。例如,让我们从给定的矩阵创建一个 3D 条形图。
请参阅下面的代码。
clc
m = [1:10 ;10:-1:1;1:10];
bar3(m)
输出: