mplot3d FAQ
Чем mplot3d отличается от MayaVi?
MayaVi2 — это очень мощная и функциональная библиотека для создания 3D графиков. Для сложных 3D сцен и отличной визуализации рекомендуется использовать MayaVi2.
mplot3d предназначен для того, чтобы пользователи могли создавать простые 3D графики с тем же "видом и ощущением", что и 2D графики matplotlib. Кроме того, пользователи могут использовать один и тот же инструмент для создания как 2D, так и 3D графиков.
Мой 3D график выглядит некорректно под некоторыми углами обзора
Это, вероятно, самая часто встречающаяся проблема с mplot3d. Проблема в том, что под некоторыми углами обзора 3D объект будет казаться расположенным спереди другого объекта, хотя физически он находится позади него. Это может привести к графикам, которые не выглядят «физически правильно».
К сожалению, хотя проводятся работы по уменьшению частоты появления этого артефакта, в настоящее время это неразрешимая проблема, и она не может быть полностью решена до тех пор, пока matplotlib не будет поддерживать рендеринг 3D графики в своем ядре.
Проблема возникает из-за сведения 3D данных до 2D + z-порядка скаляра. Одно значение представляет третье измерение для всех частей 3D объектов в наборе. Поэтому, когда ограничивающие прямоугольники двух наборов пересекаются, возникает возможность появления этого артефакта. Кроме того, пересечение двух 3D объектов (таких как полигоны или области) не может быть корректно отображено в 2D-рендере matplotlib.
Эта проблема, вероятно, не будет решена до тех пор, пока поддержка OpenGL не будет добавлена ко всем бэкендам (патчи приветствуются). До тех пор, если вам нужны сложные 3D сцены, мы рекомендуем использовать MayaVi.
Мне не нравится расположение 3D графика, как его изменить?
Исторически mplot3d страдал от жёсткого кодирования параметров, используемых для управления визуальными элементами, такими как интервал меток, длина делений и ширина линий сетки. Ведутся работы по устранению этой проблемы. Для matplotlib версии 1.1.0 есть полуофициальный способ изменения этих параметров. Подробности см. в разделе axis3d документации mplot3d API.
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.1.1/api/toolkits/mplot3d/faq.html