一、mplot3d工具集
绘制三维图形
内置于Matplotlib
Figure对象
Axes3d对象
二、三维图使用
- 基本程序案例:
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax3d = Axes3D(fig)
plt.show()
- 绘制散点图:scatter(x,y,z)
程序案例:
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
x = np.random.uniform(10,40,30)
y = np.random.uniform(100,400,30)
z = np.random.uniform(10,20,30)
fig = plt.figure()
ax3d = Axes3D(fig)
ax3d.scatter(x,y,z,c='b',marker='*')
plt.show()
画图的相关概念了解(重要):https://blog.csdn.net/snail9610/article/details/108312099
- 网格点坐标矩阵:np.meshgrid()
程序案例:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig=plt.figure()
ax=Axes3D(fig)
x=np.arange(-5,5,0.25)
y=np.arange(-5,5,0.25)
x,y=np.meshgrid(x,y)
r=np.sqrt(x**2+y**2)
z=np.sin(r)
#高度
ax.plot_surface(x,y,z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))
# ax.plot_wireframe(x,y,z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow')) # 线框图
#填充rainbow颜色
ax.contourf(x,y,z,zdir='z',offset=-2,cmap='rainbow')
#绘制3D图形,zdir表示从哪个坐标轴上压下去
plt.show()
#显示图片