目录
- 前言
- 实战
前言
如果想绘画三维曲面,需导入Axes3D 模块,具体语法可参考:
from mpl_toolkits.mplot3d import Axes3D
问题的关键是需要三维坐标对象与figure相关联,这里可以使用如下两种方法,亲测可用!!!
##1.使用 add_subplot 方法:
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
##2.使用 subplots 方法:
fig, ax = plt.subplots(subplot_kw={'projection': '3d'})
实战
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
#fig = plt.figure()
#ax = fig.add_subplot(111, projection='3d')
fig, ax = plt.subplots(subplot_kw={'projection': '3d'})
#X,Y value
X=np.arange(-4,4,0.25)
Y=np.arange(-4,4,0.25)
X,Y=np.meshgrid(X,Y)
R=np.sqrt(X**2+Y**2)
#height value
Z=np.sin(R)
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))
ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap='rainbow')
ax.set_zlim(-2,2)
plt.show()