Интерактивный график в 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).