Интерактивная прорисовка в Python? - PullRequest
11 голосов
/ 25 мая 2011

Matlab и Mathematica имеют функции, которые позволяют пользователю манипулировать содержимым графика, например, с помощью ползунка.Например, если у вас есть набор 3D-данных, легко создать небольшую программу, которая позволяет просматривать 2D-фрагменты набора 3D-данных, где пользователь может перемещать ползунок для перемещения по отображаемому фрагменту.Есть ли в python что-то такое, что позволяет без особых усилий?Например, можно ли сделать такую ​​вещь в matplotlib или что-то подобное?Я

Спасибо.

Ответы [ 4 ]

5 голосов
/ 25 мая 2011

Моей первой мыслью было бы Mayavi , что отлично подходит для визуализации данных, особенно в 3D. Он опирается на VTK . Он включен в версию Python со вкусом Enthought, вместе с Chaco для 2D-черчения. Чтобы получить представление, посмотрите на симпатичную заставку Трэвиса Вота в Визуализация многомерных данных в Python - Смешивание Chaco и Mayavi .

Также возможно встроить основные интерактивные функции (например, слайдер) в Matplotlib, см. matplotlib.widgets и примеры виджетов.

Наконец, вы можете использовать rpy (или лучше, rpy2) и пользоваться интерфейсом R.

1 голос
/ 29 февраля 2012

Другой вариант - использовать python в вычислительном интерфейсе / окружении SAGE , в котором есть команда @interact (см. здесь для получения дополнительной справки по этой команде)

1 голос
/ 31 мая 2011

В принципе, вы можете сделать это с помощью MathGL .Это кроссплатформенная библиотека GPL для построения графиков.

Для каждого щелчка мышью вы можете найти координаты x, y, z на графике или объекте, по которому щелкнули мышью, и соответствующим образом скорректировать (заново построить) некоторую другую информацию.Однако вы должны обрабатывать щелчки мыши самостоятельно (например, с помощью PyQt).

1 голос
/ 25 мая 2011

Вы смотрели на Vtk?http://www.vtk.org/ Одна из их демонстраций делает именно то, что вы просите.

...