2013-10-30 3 views
2

matplotlib (python)을 사용하여 3D 표면 플롯을 만들고 있습니다. xy xz 및 yz 표면의 그림자 표면 (2D 투시 투영)을 시각화하고 싶습니다.python : 3D 표면 플롯의 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