📜  Matplotlib 3D 绘图简介(1)

📅  最后修改于: 2023-12-03 15:17:35.117000             🧑  作者: Mango

Matplotlib 3D 绘图简介

Matplotlib是一个Python的数据可视化库,能够生成2D、3D等多种类型的图表。本文将简要介绍Matplotlib中的3D绘图。

安装Matplotlib

安装Matplotlib非常简单,只需要在终端中输入以下命令即可:

pip install matplotlib
创建3D图表

要创建3D图表,我们需要导入mpl_toolkits.mplot3d模块:

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

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

以上代码创建了一个Figure对象和一个Axes3D对象,并且设置了图表的投影为3D。之后我们就可以在这个Axes3D对象上绘制各种类型的3D图表。

绘制3D散点图

要绘制3D散点图,我们可以使用scatter方法。以下代码绘制了一个随机的3D散点图:

import numpy as np

x, y, z = np.random.rand(3, 100)
ax.scatter(x, y, z)

plt.show()
绘制3D线框图

要绘制3D线框图,我们可以使用plot_wireframe方法。以下代码绘制了一个球体的3D线框图:

import numpy as np

def sphere(radius, phi, theta):
    x = radius * np.sin(phi) * np.cos(theta)
    y = radius * np.sin(phi) * np.sin(theta)
    z = radius * np.cos(phi)
    return x, y, z

phi, theta = np.linspace(0, np.pi, 20), np.linspace(0, 2*np.pi, 20)
phi, theta = np.meshgrid(phi, theta)

x, y, z = sphere(1, phi, theta)

ax.plot_wireframe(x, y, z)

plt.show()
绘制3D曲面图

要绘制3D曲面图,我们可以使用plot_surface方法。以下代码绘制了一个随机的3D曲面图:

import numpy as np

x, y = np.meshgrid(np.linspace(-5, 5, 20), np.linspace(-5, 5, 20))
z = np.sin(np.sqrt(x**2 + y**2))

ax.plot_surface(x, y, z)

plt.show()

以上就是Matplotlib 3D绘图的简要介绍。通过本文的学习,我们已经了解了如何创建3D图表、绘制3D散点图、绘制3D线框图和绘制3D曲面图。在实际应用中,我们还可以结合其他的Python库,如Numpy和Scipy,来实现更加复杂的数据可视化任务。