欢迎访问宙启技术站
智能推送

Python中使用Axes3D()绘制3D曲面图

发布时间:2023-12-26 03:03:37

在Python中使用Axes3D()可以绘制3D曲面图,让我们通过一个简单的例子来说明如何使用它。

我们首先需要导入相关的库和模块:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

接下来,我们将生成一个包含x,y,z坐标的数据点的网格:

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)

然后,我们定义一个函数,该函数将根据x和y的值计算z的值。在这个例子中,我们将使用高斯函数来生成z值:

def gaussian_function(x, y):
    return np.exp(-((x**2 + y**2)/2)) / (2*np.pi)

接下来,我们计算z值:

Z = gaussian_function(X, Y)

现在,我们可以使用Axes3D()来创建一个3D坐标轴,并通过调用plot_surface()来绘制3D曲面图:

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z)

最后,我们可以用show()方法显示图形:

plt.show()

完整的代码如下:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)

def gaussian_function(x, y):
    return np.exp(-((x**2 + y**2)/2)) / (2*np.pi)

Z = gaussian_function(X, Y)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z)

plt.show()

运行代码,你将看到一个高斯曲面的3D可视化。你可以通过旋转和缩放图形来查看曲面的细节。

这是一个简单的例子,希望通过它你能理解使用Axes3D()绘制3D曲面图的基本原理。你可以根据自己的需要定义不同的函数来生成不同形状的曲面,这将使你能够创建复杂的3D可视化。