Какие алгоритмы хороши для интерактивного построения графиков в реальном времени?

StackOverflow https://stackoverflow.com/questions/345549

Вопрос

Какие алгоритмы хороши для интерактивного построения графиков в реальном времени для получения реальных данных и прямого манипулирования ими?

В противном случае - какие библиотеки вы используете для рисования графиков?

Предложения;

  • Префузировать информационно-визуализационный инструментарий
  • есть еще какие-нибудь?

КСТАТИ - я имею в виду графики в смысле теории графов - точки и линии

  • любой язык
  • под живым я подразумеваю, что графиком можно манипулировать один раз на экране.
Это было полезно?

Решение

Я бы порекомендовал любую библиотеку, над которой работал Джефф Хир:

Я считаю, что все три проекта имеют открытый исходный код.Джефф Хир довольно хорош в ссылках на статьи в своем коде, по крайней мере, в библиотеке Prefuse.Глядя на предварительный источник:

Описание воздушного шара:Используемый алгоритм аналогичен алгоритму G.Мелансон и я .Герман из их исследовательской работы "Круговые рисунки корневых деревьев", Отчеты Центра математики и компьютерных наук, номер отчета INS–9817, 1998.

ForceDirectedLayout.java:Ссылка не упомянута, но есть много комментариев, описывающих, как это работает.

FruchtermanReingoldLayout.java:ссылки Юнг.На их веб-сайте я нашел статья, в которой есть ссылки на различные алгоритмы

NodeLinkTreeLayout.java:Используемый алгоритм принадлежит Кристофу Буххайму, Михаэлю Юнгеру и Себастьяну Лейперту из их исследовательской работы Усовершенствование алгоритма Уокера для выполнения за линейное время, Рисунок графика 2002.Этот алгоритм устраняет проблемы с производительностью в алгоритме Уокера, который обобщает метод Рейнгольда и Тилфорда для аккуратных рисунков деревьев для поддержки деревьев с произвольным числом дочерних элементов в любом заданном узле.

RadialTreeLayout.java:Используемый алгоритм является алгоритмом Ка-Пинг Йи, Даниэля Фишера, Рахны Дхамиджи и Марти Херста в их исследовательской работе Анимированное исследование динамических графиков с радиальной компоновкой, ИнфоВис, 2001.Этот алгоритм вычисляет радиальную компоновку, которая учитывает возможное изменение размеров, и поддерживает ограничения как на ориентацию, так и на порядок, чтобы облегчить плавные и понятные переходы между конфигурациями компоновки.

Квадратное изображение дерева:Этот конкретный алгоритм взят из Bruls, D.M., C.Хьюзинг и Дж.Дж.ван Вейк, "Квадратные карты деревьев" В Визуализация данных 2000, Материалы совместного совещания Eurographics и IEEE TCVG по визуализации, 2000, с.33-42.Доступно онлайн по адресу http://www.win.tue.nl /~ванвейк/stm.pdf.Для получения дополнительной информации о древовидных картах в целом см. http://www.cs.umd.edu/hcil/treemap-history

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

в предварительный набор инструментов визуализации выглядит как хороший кандидат.

Prefuse поддерживает богатый набор функций для моделирования данных, визуализации и взаимодействия.Он предоставляет оптимизированные структуры данных для таблиц, графиков и деревьев, множество методов компоновки и визуального кодирования, а также поддержку анимации, динамических запросов, встроенного поиска и подключения к базе данных.Prefuse написан на Java с использованием Java 2D графической библиотеки и легко интегрируется в Java Swing приложения или веб-апплеты.Prefuse лицензируется на условиях лицензии BSD и может свободно использоваться как в коммерческих, так и в некоммерческих целях.(с домашней страницы)

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

Я использую точечный язык для описания графиков.Кроме того, выходные данные компилятора Dot включают SVG, который находится в формате XML и может быть встроен в XHTML.

http://en.wikipedia.org/wiki/DOT_language

Не уверен , чего вы добиваетесь ...

похоже, может быть, вы хотите сделать что-то похожее на rrdtool?

Может быть, на их сайте есть какая-то информация, которая поможет:

http://oss.oetiker.ch/rrdtool/

Я новичок в stackflow, так что прошу прощения за поздний ответ.В зависимости от того , насколько интерактивным вы хотите его получить ...возможно, вы также не захотите проверять Флотский (использует jQuery, менее интерактивный), или обработка ...более интерактивный.

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