Интерактивный график в Python?

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

спасибо.

4 ответов


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

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

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


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


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

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


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