Вопрос

У меня есть большой набор данных, содержащих кортежи (время события, широта, долгота), которые мне нужно визуализировать. Я надеялся создать xy-сюжет, похожий на «фильм», но мне было интересно, есть ли у кого идея получше или есть простой способ сделать это в Python?

Заранее спасибо за помощь, --Leo

Это было полезно?

Решение

Другие советы

Самый простой вариант - это matplotlib. Два конкретных решения, которые могут работать для вас:

1) Вы можете сгенерировать серию графиков, каждый снимок в определенный момент времени. Они могут отображаться в виде динамического графика в matplotlib, где оси остаются неизменными, а данные перемещаются; или вы можете сохранить серию сюжетов в отдельных файлах, а затем объединить их для создания фильма (с помощью отдельного приложения). В официальных примерах приведено несколько примеров таких действий.

2) Простой точечный график, где цвета кругов меняются со временем, может хорошо работать для ваших данных. Это супер просто. См., Например, этот этот рисунок. альтернативный текст http://matplotlib.sourceforge.net/plot_directive/mpl_examples pylab_examples / ellipse_collection.hires.png

Я бы попробовал rpy. Вся сила R, изнутри питона. http://rpy.sourceforge.net/

rpy потрясающий.

Проверьте библиотеку CRAN для анимации, http://cran.r-project.org/web/packages/ анимация / index.html

Конечно, вам нужно немного узнать о R, чтобы это сделать, но если вы планируете делать подобные вещи регулярно в будущем, вам стоит научиться.

Если вы заинтересованы в научном построении с использованием Python, взгляните на Mlab: http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/mlab.html

Он позволяет вам строить 2d / 3d и анимировать ваши данные, а качество графиков действительно высокое.

Chaco компании Enthought предназначен для интерактивных / обновления графиков. API и тому подобное требуют некоторого времени, чтобы привыкнуть к нему, но как только вы окажетесь там, это фантастическая среда для работы.

Я имел достаточный успех с приложениями Python, генерирующими SVG со встроенными функциями анимации, но это было с меньшим набором элементов, чем у вас, вероятно, есть. Например, если ваши данные относятся к сейсмическому событию, покажите кружок, который отображается, когда событие произошло, и увеличивается в размере, соответствующем величине события. Добавлять движущийся индикатор по временной шкале очень просто.

Kaleidoscope (Opera, другие, может быть, Safari нет) показывает множество кусочки движутся, и я нахожу вдохновляющим. На сайте также есть много другого хорошего учебного контента по SVG.

Возможно, вы захотите взглянуть на PyQwt . Это библиотека графиков, которая работает с Qt / PyQt.

Несколько примеров PyQwt (в каталоге qt4examples) показывают, как создать " moving " / динамически изменяемые графики - посмотрите CPUplot.py , MapDemo.py , DataDemo.py .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top