目录
- 前言
- 1. 基本知识
- 2. Demo
前言
对于Matplotlib的基本知识推荐阅读:python之Matplotlib详细分析(附代码)
1. 基本知识
Matplotlib 是 Python 中常用的绘图库,可以用于生成各种类型的图表,包括三维曲线图
在三维空间中,一个曲线图由 x、y 和 z 三个坐标轴表示的数据点组成,使用 Matplotlib 的 mpl_toolkits.mplot3d
模块来创建三维图表
导入模块:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
创建三维轴对象:
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
绘制三维曲线:
使用 ax.plot3D
方法绘制三维曲线
ax.plot3D(x, y, z)
设置标题和标签:
ax.set_title('3D 曲线图示例')
ax.set_xlabel('X 轴')
ax.set_ylabel('Y 轴')
ax.set_zlabel('Z 轴')
2. Demo
使用 NumPy 创建了三维空间中的数据点
- theta 是一个从 -4π 到 4π 的等差数列
- z 是从 -2 到 2 的等差数列
- r 是 z 的平方加 1
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
# 创建数据
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)
# 创建图形和三维轴对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 绘制三维曲线
ax.plot3D(x, y, z, 'blue')
# 设置标题和轴标签
ax.set_title('3D 曲线图示例')
ax.set_xlabel('X 轴')
ax.set_ylabel('Y 轴')
ax.set_zlabel('Z 轴')
# 显示图形
plt.show()
截图如下: