Spec-Zone.ru › Matplotlib 3.3

mplot3d FAQ

Чем mplot3d отличается от Mayavi?

Mayavi — очень мощная и функциональная библиотека 3D графики. Для сложных 3D сцен и отличной визуализации рекомендуется использовать Mayavi.

mplot3d предназначен для создания простых 3D графиков с тем же "визуальным стилем", что и 2D графики matplotlib. Кроме того, пользователи могут использовать знакомый им инструментарий для генерации как 2D, так и 3D графиков.

Мой 3D график выглядит неправильно под определёнными углами обзора

Это, вероятно, наиболее часто встречающаяся проблема с mplot3d. Проблема в том, что под некоторыми углами обзора 3D объект может отображаться перед другим объектом, хотя он физически находится позади него. Это может привести к графикам, которые не выглядят "физически корректными".

К сожалению, хотя и ведутся работы по уменьшению частоты появления этого артефакта, в настоящее время это неразрешимая проблема, и она не может быть полностью решена до тех пор, пока matplotlib не будет поддерживать рендеринг 3D графики в своём ядре.

Проблема возникает из-за уменьшения 3D данных до 2D + z-порядкового скаляра. Одно значение представляет 3-ю размерность для всех частей 3D объектов в наборе. Поэтому, когда граничные прямоугольники двух наборов пересекаются, появляется возможность возникновения этого артефакта. Кроме того, пересечение двух 3D объектов (например, полигонов или заплаток) не может быть корректно отрисовано в 2D рендеринге matplotlib.

Эта проблема, скорее всего, не будет решена до тех пор, пока в все бэкэнды не будет добавлена поддержка OpenGL (предложения по исправлению приветствуются). До тех пор, если вам нужны сложные 3D сцены, мы рекомендуем использовать MayaVi.

Мне не нравится расположение 3D графика, как его изменить?

Исторически mplot3d страдал от жёсткого кодирования параметров, используемых для управления визуальными элементами, такими как отступ меток, длина делений и ширина линий сетки. Ведутся работы по устранению этой проблемы. В версии matplotlib v1.1.0 есть полуофициальный способ изменения этих параметров. Более подробную информацию см. в примечании в разделе mplot3d.axis3d документации API mplot3d.

© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/toolkits/mplot3d/faq.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API