it-swarm.com.ru

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

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

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

29
Joonas Pulakka

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

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

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

9
kgiannakakis
7
Jacek Ławrynowicz

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

6
weberste

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

5
Rahel Lüthy

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

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

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

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

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

5
Alasdair Scott

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

5
Adeel Ansari

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

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

4
the.duckman

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

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

2
CJ_world

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

http://jchart2d.sourceforge.net/

демо:

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

2
jobobo

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

1
TofuBeer

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

1
xihui

На этот вопрос хорошо ответили: Графическое построение графиков Java в реальном времени

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

0
java4africa