2014-07-27 2 views

답변

2

나는 "숨겨진"에 의해 당신이에 "언덕"뒤에 예를 들어 뷰에서 표면 패치 뒤에있는 라인을 의미 있으리라 믿고있어 음모.

대신 사용 plot_wireframeplot_surface는 :

plot_surface vs plot_wireframe

는 내가 처음을 만들
plot_wireframe(X, Y, Z, rstride=10, cstride=10) 

을 사용

plot_surface(X, Y, Z, rstride=10, cstride=10, color="white", shade=False, edgecolor="blue") 

두 번째 플롯을 만들 수 있습니다.

가장자리를 색칠하여 결합하려면 내부 구조를 사용해야합니다. cmap 인수를 사용하여 서페이스면의 색상 표를 채우는 경우 Poly3DCollection.do_3d_projection의 소스 코드는 결국 to_rgba(self._A)을 호출하여 안면색을 계산합니다. 가장자리 색상이 다시 매핑, 당신은 갈 수 있어요 :

surf = ax.plot_surface(X, Y, Z, rstride=2, cstride=2, shade=False, cmap="jet", linewidth=1) 
surf.set_edgecolors(surf.to_rgba(surf._A)) 
surf.set_facecolors("white") 

이 플롯을 생성합니다

Final plot

(당신은 첫번째 렌더링 패스로 후 다시 set_edgecolors/set_facecolors를 호출해야 할 수도 있습니다 do_3d_projection은 값을 무시할 수 있으며 대화 형 모드에서 실행했는데 선택하지 않았습니다.)

+0

위대한! 감사. 아마 나는 [matplotlib 버그] (https://github.com/matplotlib/matplotlib/issues/5830)와 관련된 이상한 행동으로 인해 버려지고 있다고 생각합니다. – Mike

관련 문제