2015-07-15 4 views
9

Я хочу сделать 3D-графику для визуализации некоторых данных. Я использую matplotlib, но 3D-функции matplotlib не так сильны, как 2D-графика. Я нашел Майяви очень сильным. Даже matplotlib рекомендует его в http://matplotlib.org/mpl_toolkits/mplot3d/faq.htmlПостроение 3D-графики в Python 3

Однако большая часть моей предыдущей работы выполнена в Python 3, но MayaVi еще не поддерживает Python 3.

Как я могу построить трехмерную графику в Python 3?

+1

[pyopengl] (http://pyopengl.sourceforge.net/), [pyvtk] (https://pypi.python.org/pypi/PyVTK/) должен быть проще в использовании, но не совсем уверен, как я я использую 'pyopengl'. – avstenit

+0

Я позвонил, чтобы немного изменить вопрос в направлении, чтобы триггерные модераторы StackOverflow не сразу закрывали вопрос, и мы могли бы быть действительно полезны для вас здесь. –

ответ

5

Vispy - относительно новая инфраструктура в активной разработке, которая недавно стала достаточно мощной и гибкой (на своих интерфейсах высокого уровня), чтобы заменить мое собственное использование майави. Недостатком является то, что сейчас это немного больше связано с некоторыми вещами, так как этот материал высокого уровня все еще разрабатывается. Наблюдая за его прогрессом на некоторое время, я уверен, что оставшиеся проблемы будут довольно быстро решены, и я думаю, что в конечном итоге это будет надежный интерфейс, похожий на майави, но с более разнообразными функциями, которые относительно легко модифицировать на более низких уровнях. Это особенно по сравнению с майави, у которого есть много собственных собственных возможностей, но с которыми я с трудом работал, когда-то далеко от основных, хорошо документированных интерфейсов.

Я также слышал хорошие вещи о glumpy и PyQtGraph, но я не пробовал их. Документация Glumpy выглядит относительно скудной и сосредоточена на операциях относительно низкого уровня по сравнению с майави, но ее примеры демонстрируют широкий спектр мощных эффектов. PyQTGraph имеет более сложный интерфейс (может быть, более знакомы, если вам нравится майский майский, но это не то же самое) и, возможно, некоторые разные функции построения.

Конечно, вы также можете использовать opengl напрямую, но это означает, что вы изобретаете много колес. Если вы склонны идти этим путем, я думаю, что vispy (или, может быть, глупый) по-прежнему остается хорошим выбором, так как его обертки с низким уровнем opengl хороши, но вы можете потенциально воспользоваться преимуществами своего материала более высокого уровня.

+0

Кажется, что функции высокого уровня vispy все еще находятся в разработке и отсутствуют некоторые полезные функции, такие как оси. Визуализация пакета развивается разработчиком vispy. Его функция высокого уровня созревает, чем vispy. – iuradz

+0

В Vispy также есть функции, которых нет в visvis, и поскольку он находится в активном развитии, я счел его более подходящим для меня. Если у вас нет одинаковых требований, это отличный выбор. – inclement