2016-06-07 3 views
2

3D 데이터 프로젝션의 2D 플롯을 작성하려고합니다. 매우 간단하게 this example을 기반으로 (X, Y 및 Z 방향으로) 표시된 3 개의 등고선 투영을 별도의 2D 플롯으로 생성하는 방법이 있습니까? pyplot 'contour'명령을 사용하여 Z 방향으로 윤곽 투영을 쉽게 만들 수 있지만 '3d'투영 'contour'명령 만 'zdir'매개 변수를 사용할 수있는 것으로 보이며 2D를 만들 수 없습니다. 줄거리.Matplotlib 3D 데이터의 2D 등고선 투영 플롯

답변

3

3D 윤곽의 zdir 매개 변수는 기본적으로 3D 플롯에서 윤곽 레벨을 결정하는 데 사용할 축을 지정합니다. 2D 플롯에서는 일반적으로 인수의 순서에 따라 지정되므로 일반적으로 "Z"라고 생각하는 것, 즉 윤곽선 수준을 결정하는 값이 세 번째 인수로 사용됩니다. 아래의 예에서, 노트는 특히 contourf 각각의 처음 세 인수 호출

enter image description here

참고 : 3D 플롯의 돌기에 비해

from mpl_toolkits.mplot3d import axes3d 
import matplotlib.pyplot as plt 
from matplotlib import cm 

X, Y, Z = axes3d.get_test_data(0.05) 

plt.subplot(131) 
cset = plt.contourf(X, Y, Z, cmap=cm.coolwarm) 
plt.subplot(132) 
cset = plt.contourf(Y, Z, X, cmap=cm.coolwarm) 
plt.subplot(133) 
cset = plt.contourf(X, Z, Y, cmap=cm.coolwarm) 

plt.show() 

enter image description here

여기에서는 "세 번째 인수"를 언급했지만 실제로 contourf에 대한 인수를 해석 할 수있는 방법이 많이 있으므로 자세한 내용은 문서를 참조하십시오.이 방법은 일반적으로 onl입니다 y는 X, Y 및 Z가 명시적인 호출로 작업합니다.

+0

네, 그게 완전히 이해가 안되는 이유인지 모르겠습니다. 단지 그 방향을 바꾸는 것뿐입니다. 고맙습니다! – GafferMan2112