Библиотека графиков / диаграмм в реальном времени?

В Java-графике или библиотеке диаграмм существовал более ранний поток, в котором JFreeChart был признан довольно хорошим, но, как указано в FAQ, он не предназначен для рендеринга в реальном времени.

Кто-нибудь может порекомендовать сопоставимую библиотеку, которая поддерживает рендеринг в реальном времени? Просто базовый рендеринг xy- например, получение сигнала напряжения от системы сбора данных и отображение его как есть (время на оси x, напряжение на оси y).

12 ответов

Решение

На самом деле часто задаваемые вопросы говорят о том, что JFreeChart не поддерживает сложные графики в режиме реального времени, то есть диаграмма не обновляется при поступлении новых данных или через определенный интервал после них. Однако я обнаружил, что JFreeChart можно использовать для приложений, которые вы описываете. Вы можете достичь 1 обновления в секунду, и это нормально. Я не думаю, что человеческий глаз может следовать чему-то быстрее, чем это.

Если вы хотите чего-то большего, я сомневаюсь, что вы найдете что-нибудь на Java (или даже на другом языке). Используемые нами операционные системы не предназначены для работы в режиме реального времени. Вы не можете быть уверены, что они ответят через минимальное время после события. Потребуется тесная интеграция с драйвером оборудования, чтобы показывать более 1-10 кадров в секунду.

Однако, если вы правильно спроектируете свое приложение, ОС ответит быстро, и ваше приложение может легко отобразить график в режиме реального времени (то есть график, который обновляется раз в секунду). Только не используйте ваше приложение, чтобы закрыть клапан в чрезвычайной ситуации!

Просто наткнулся на описание того, как использовать библиотеку графиков visualvm. Очень красиво смотрится!

Ну, если это должна быть Java, то вы можете посмотреть на них.

Взгляните на обработку - это среда с открытым исходным кодом, основанная на Java, предназначенная для всех видов анимированных визуализаций.

Возможно, вы уже нашли хорошее решение, но если нет, я недавно провел некоторую работу над платформой для создания 2D-диаграмм, позволяющих обновлять в реальном времени со скоростью более 50 изменений в секунду.

Первоначально предполагалось имитировать появление рекордера в области прокрутки веб-страницы, но я считаю, что этот подход имеет более широкое применение.

Демоверсию можно найти на Chart Recorder Demo, если кому-то интересно.

Внешний вид определяется шаблоном (www.journeylog.co.uk/chart/templates/chartRecorder.xml). Одной из особенностей является возможность указать рисунок на сервере или в браузере с помощью ExplorerCanvas.

Если кому-то интересно, я мог бы начать проект с открытым исходным кодом для него.

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

Как видно из названия, он основан на SWT, который использует родной рисунок ОС. Кроме того, он выполняет некоторые умные оптимизации для быстрого рисования, например, не рисует все точки в наборе данных (см. Пример фрагмента большой серии).

JCCkit - отличная библиотека, которая нацелена на меньшее количество памяти, особенно во встроенной среде: https://sourceforge.net/projects/jcckit.

Занимает менее <100 кб.

Это похоже на хорошего кандидата.

http://jchart2d.sourceforge.net/

демо:

http://jchart2d.sourceforge.net/applet.shtml

SWT XYGraph может отображать данные с вашим собственным поставщиком данных, поэтому вы можете создать поставщик данных в реальном времени, предоставляющий данные в реальном времени. С SWTChart и JFreeChart вы должны подготовить для него весь массив.

Вы можете копать источник NetBeans. Профилировщик в режиме реального времени создает графики различных вещей, таких как использование памяти.

На этот вопрос был дан хороший ответ: Java График в реальном времени

Поскольку VisualVM включает API-интерфейс для диаграмм, а этот API-интерфейс включен в JDK, у вас есть хороший / быстрый API-интерфейс для построения диаграмм.

Другие вопросы по тегам