2013-10-30 50 views
2

我正在使用matplotlib(python)製作三維表面圖。我想要將xy xz和yz表面上的3D表面的影子(2D透視投影)可視化。python:三維表面圖的2D透視投影

在matlab中,SHADOWPLOT做了必要的工作。有誰知道Python是否有類似的東西可用於相同的?

+1

看一看本實施例中從Matplotlib庫:http://matplotlib.org/examples /mplot3d/contourf3d_demo2.html –

回答

3

實施例從{here}

""" 
.. versionadded:: 1.1.0 
    This demo depends on new features added to contourf3d. 
""" 

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.contourf(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm) 
cset = ax.contourf(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm) 
cset = ax.contourf(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() 

和結果:

enter image description here

+0

這聽起來很好..我會嘗試在我的代碼:) – Panchi