微信扫一扫打赏支持

matplotlib_200730系列---9、3D数据

matplotlib_200730系列---9、3D数据

一、总结

一句话总结:

画3D图: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')
import matplotlib.pyplot as plt 
import numpy as np 
from mpl_toolkits.mplot3d import Axes3D

fig=plt.figure()
ax=Axes3D(fig)
#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)

# 画3D图
# rstride=1,cstride=1 条纹的密集程度
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))
# 画等高线图
# zdir='z':沿z轴压缩
# offset=-2:表示压到-2上去
ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap='rainbow')
# z轴压缩的区域
ax.set_zlim(-2,2)

plt.show()

 

 

 

1、画等高线语句:ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap='rainbow')  意思?

zdir='z':沿z轴压缩,offset=-2:表示压到-2上去

 

 

二、3D数据

博客对应课程的视频位置:

 

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

fig=plt.figure()
ax=Axes3D(fig)
#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)

# 画3D图
# rstride=1,cstride=1 条纹的密集程度
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))
# 画等高线图
# zdir='z':沿z轴压缩
# offset=-2:表示压到-2上去
ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap='rainbow')
# z轴压缩的区域
ax.set_zlim(-2,2)

plt.show()

 

 

 

 

 

 
posted @ 2020-07-30 22:51  范仁义  阅读(87)  评论(0编辑  收藏  举报