Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

Демоверсию можно найти в Диаграммном рекордере, если кто-то заинтересован.

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

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

Ответ 6

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

Ответ 7

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

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

Ответ 9

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

принимает менее 100 кб.

Ответ 10

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

Ответ 11

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