文章目录
一、 简介
matplotlib现在已经支持很多3D绘图功能了,并且也非常好用。
弥补了早期版本不支持3D绘图的缺憾。
Matplotlib系列将Matplotlib的知识和重点API,编制成思维导图和重点笔记形式,方便记忆和回顾,也方便应用时参考,初学者也可以参考逐步深入学习。
二、 思维导图

三、 Matplotlib三维图形
1. 绘制3d图形
方法1:子图设置projection为3d
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
方法2:自行创建Axes3D对象
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
三维绘图示例
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax3d = fig.add_subplot(projection='3d') #创建3d坐标系
# from mpl_toolkits.mplot3d import Axes3D
# ax = Axes3D(fig) #创建3d坐标系的第二种方法
theta = np.linspace(-2 * np.pi, 2 * np.pi, 100)
x = np.sin(theta)
y = np.cos(theta)
z = np.linspace(-2, 2, 100)
ax3d.plot(x,y,z) #绘制3d螺旋线
plt.show()

2. 基本三维图像
2.1 3d折线图
在三维坐标系可以用plot函数绘制三维的线条,还可以绘制平面曲线。
- ax3d.plot(x,y,z):绘制三维曲线。
- zdir参数绘制平面图
- ax3d.plot(x,y,zdir=‘z’):在z=0的xy平面绘制曲线
- ax3d.plot(x,y,2,zdir=‘z’):在z=2的xy平面绘制曲线
- ax3d.plot(y,z,zdir=‘x’):在x=0的yz平面绘制曲线。zdir也可以为’y’
- ax3d.plot(y,z,2,zdir=‘x’):在x=2的yz平面绘制曲线
- 其他参数与二维坐标系ax.plot函数一致。注意三维plot不支持fmt参数。
- zdir参数绘制平面图
ax3d.plot3D()与ax3d.plot完全相同。
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax3d = fig.add_subplot(projection='3d') #创建3d坐标系
theta = np.linspace(-2 * np.pi, 2 * np.pi, 100)
x = np.sin(theta)
y = np.cos(theta)
z = np.linspace(0.5, 1.5, 100)
ax3d.plot(x,y,z) #绘制3d螺旋线
ax3d.plot(x,y,zdir='z') #绘制x,y平面图形
ax3d.plot(x,y,2,zdir='z') #绘制x,y平面图形指定高度z为2
ax3d.plot(y,z,zdir='x') #绘制y,z平面图
ax3d.plot(y,z,-2,zdir=

最低0.47元/天 解锁文章
6261

被折叠的 条评论
为什么被折叠?



