|
楼主 |
发表于 2013-11-15 03:19
|
显示全部楼层
筱炜轩 发表于 2013-11-14 01:07
高手啊,一直在琢磨怎么让三维网格图和投影等高线图同时显示,好帖子!
[code=Python width=600px]from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm
fig = plt.figure()
ax = fig.gca(projection='3d')
X, Y, Z = axes3d.get_test_data(0.05)
ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3)
cset = ax.contour(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm)
cset = ax.contour(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm)
cset = ax.contour(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm)
ax.set_xlabel('X')
ax.set_xlim(-40, 40)
ax.set_ylabel('Y')
ax.set_ylim(-40, 40)
ax.set_zlabel('Z')
ax.set_zlim(-100, 100)
plt.show()[/code]
这是一个官方的例子,可以参考一下。plot_surface()函数用来画三维曲面,ax.contour()函数用来在三维空间中绘制二维等高线。
|
|