mplot3d FAQ #

mplot3d는 Mayavi와 어떻게 다른가요? #

Mayavi 는 매우 강력하고 기능이 풍부한 3D 그래프 라이브러리입니다. 고급 3D 장면과 뛰어난 렌더링 기능을 위해서는 Mayavi를 사용하는 것이 좋습니다.

mplot3d는 사용자가 matplotlib의 2D 플롯과 동일한 "모양과 느낌"으로 간단한 3D 그래프를 만들 수 있도록 하기 위한 것입니다. 또한 사용자는 이미 익숙한 동일한 툴킷을 사용하여 2D 및 3D 플롯을 생성할 수 있습니다.

내 3D 플롯이 특정 시야각에서 제대로 보이지 않습니다 . #

이것은 아마도 mplot3d에서 가장 일반적으로 보고되는 문제일 것입니다. 문제는 -- 일부 시야각에서 -- 3D 객체가 물리적으로 뒤에 있어도 다른 객체 앞에 나타난다는 것입니다. 이로 인해 "물리적으로 올바르지" 않은 플롯이 생성될 수 있습니다.

안타깝게도 이 아티팩트의 발생을 줄이기 위한 작업이 진행되고 있지만 현재로서는 다루기 힘든 문제이며 matplotlib가 핵심에서 3D 그래픽 렌더링을 지원할 때까지 완전히 해결할 수 없습니다.

3D 데이터가 2D + z-order 스칼라로 축소되어 문제가 발생합니다. 단일 값은 컬렉션에 있는 3D 개체의 모든 부분에 대한 3차원을 나타냅니다. 따라서 두 컬렉션의 경계 상자가 교차할 때 이러한 아티팩트가 발생할 수 있습니다. 또한 두 3D 개체(예: 다각형 또는 패치)의 교차점은 matplotlib의 2D 렌더링 엔진에서 제대로 렌더링할 수 없습니다.

이 문제는 모든 백엔드에 OpenGL 지원이 추가될 때까지 해결되지 않을 가능성이 높습니다(패치 환영). 그때까지는 복잡한 3D 장면이 필요한 경우 MayaVi 를 사용하는 것이 좋습니다 .

3D 플롯이 배치된 방식이 마음에 들지 않습니다. 어떻게 변경합니까? #

역사적으로 mplot3d는 레이블 간격, 눈금 길이 및 그리드 선 너비와 같은 시각적 요소를 제어하는 ​​데 사용되는 매개변수의 하드 코딩으로 어려움을 겪었습니다. 이 문제를 해결하기 위한 작업이 진행 중입니다. matplotlib v1.1.0의 경우 이러한 매개변수를 수정하는 준공식적인 방법이 있습니다. mplot3d.axis3d자세한 내용 은 mplot3d API 설명서 섹션의 참고 사항을 참조 하십시오.