Matplotlib을 사용하여 3D 표면 플롯으로 일부 데이터를 플로팅하고 있습니다. 사용중인 코드는 3D surface plot example과 매우 유사합니다.Matplotlib의 3D 표면 플롯에서 수직 Z 축을 얻는 방법은 무엇입니까?
이 플롯의 문제가 Z 축을 수직 없다는 것이다 : 이것은 아래의 플롯을 생성한다. Z 축을 수직으로 만드는 방법은 무엇입니까?
사용할 수있는 다른 API를 조사한 결과 view_init이 발견되었습니다. 아래와 같이 view_init
을 사용하여 플롯 낮은 고도 (elev=1
)를 설정함으로써, I는 Z 축을 수직으로 얻을 수
그러나
, 여기에서 문제가 있음을 둘러 고양 Y에서 축 눈금 레이블은 모두 덮어 쓰여서 제대로 볼 수 없습니다. 그래서 그림 1과 같이 X-Y 평면 회전 각이 높은 표고가 있어야합니다.이 플롯에서 수직 Z 축을 얻으려면 어떻게해야합니까?
Matlab을 잘 모르지만 Matplotlib는 Matlab API에서 파생 된 것입니다. 그래서, Matlab 문서의 표면 플롯 예제를 살펴본 결과, Z 축이 예제에서 수직으로 보인다는 것을 알았습니다. 높은 고도와 그림에 대한 하나의 그림은 다음과 같습니다
업데이트 1 : Bentoy13의 제안을 바탕으로, 나는 view_init(elev=30, azim=-37.5)
을 설정하고 아래의 결과를 얻었다. 그것은 아직 수직 더 나은,하지만되지 않습니다 : 비교
은, matlab에 플롯 Z 축이 완벽하게 수직이다. 또한이 각도에서 볼 수 있듯이 일부 정보가 숨겨져 있으므로 실제로는 azim=-37.5
을 사용할 수 없습니다. 다른 해결책? :-) Matlab의 설명서에 나와있는 예에서
pertive projection/ortographc proyection 문제인 것처럼 보입니다 –