MATLAB 中的 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)
输出:
在 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)
输出:
在 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)
输出:
在 MATLAB 中使用 bar3()
函数创建 3D 条形图
我们可以使用 Matlab 的内置函数 bar3()
在 3D 平面上绘制条形图。我们必须传递数据的输入矩阵,在 3D 平面中绘制为 z 轴上的高度。
其他两个坐标(x 和 y)将取自给定矩阵的索引。例如,让我们从给定的矩阵创建一个 3D 条形图。
请参阅下面的代码。
clc
m = [1:10 ;10:-1:1;1:10];
bar3(m)
输出:
相关文章
如何在 Matplotlib Pyplot 中显示网格
发布时间:2024/02/04 浏览次数:142 分类:Python
-
本文演示了如何在 Python Matplotlib 中在一个图上画一个网格。使用 grid()函数来绘制网格,并解释了如何改变网格颜色和线条类型。
在 Matplotlib 中的图中添加文字
发布时间:2024/02/04 浏览次数:180 分类:Python
-
本教程展示了我们如何使用 plt.text()方法在 Matplotlib 中为图或轴添加文字。
如何在 Matplotlib 中的多个线条之间进行填充
发布时间:2024/02/04 浏览次数:208 分类:Python
-
`fill_between()` 每次只能填充两条线之间的区域,但是我们可以选择一对行来填充多个线条之间的区域。
如何在 Matplotlib 中画一条任意线
发布时间:2024/02/04 浏览次数:166 分类:Python
-
本教程讲解了我们如何在 Matplotlib 中使用 matplotlib.pyplot.plot()、matplotlib.pyplot.vlines()、matplotlib.pyplot.hlines()方法和 matplotlib.collection.LineCollection 绘制任意线条。
Pandas 在 Matplotlib 柱状图上绘制多列图
发布时间:2024/02/04 浏览次数:189 分类:Python
-
在本教程中,我们将探讨如何使用 `DataFrame` 对象的 `plot()` 方法在柱状图上绘制多列。
如何在 Matplotlib 中绘制数据列表的直方图
发布时间:2024/02/04 浏览次数:178 分类:Python
-
本教程介绍了如何使用 plt.hist()方法从数据列表中绘制直方图。我们可以使用 plt.hist()方法从数据列表中绘制直方图。
Matplotlib 中的叠加条形图
发布时间:2024/02/04 浏览次数:182 分类:Python
-
本教程展示了如何使用 plt.bar()方法将某些数据集的条形图堆叠在另一个数据集上。我们在 Matplotlib 中使用 matplotlib.pyplot.bar()方法生成条形图。
在 Python Matplotlib 中生成反向色彩图
发布时间:2024/02/04 浏览次数:136 分类:Python
-
本教程解释了如何反转 Python Matplotlib Plot 的 Colormap。
设置 Matplotlib 网格间隔
发布时间:2024/02/04 浏览次数:250 分类:Python
-
本教程将介绍我们如何在 Matplotlib 绘图中设置网格间距,并对主要网格和次要网格应用不同的样式。