Библиотека графиков/диаграмм Java в реальном времени?
В диаграмме Java или библиотеке диаграмм был найден более ранний поток, где JFreeChart был признан неплохим, , но, поскольку , указанный в его FAQ, он не предназначен для рендеринга в режиме реального времени.
Можно ли рекомендовать сопоставимую библиотеку, поддерживающую рендеринг в режиме реального времени? Просто базовое xy-рендеринг - например, получение сигнала напряжения от системы сбора данных и построение графика по мере его поступления (время по оси x, напряжение по оси y).
Ответы
Ответ 1
В самом деле, как часто говорится в FAQ, JFreeChart не поддерживает жесткое графическое отображение в реальном времени, что означает, что график не обновляется при поступлении новых данных или в детерминированном интервале после него. Однако я обнаружил, что JFreeChart можно использовать для типов приложений, которые вы описываете. Вы можете добиться 1 обновления в секунду, и это нормально. Я не думаю, что человеческий глаз может следовать чему-то более быстрому, чем это.
Если вы хотите что-то большее, чем это, я сомневаюсь, что вы найдете что-нибудь на Java (или даже на другом языке). Операционные системы, которые мы используем, не предназначены для реального времени. У вас не может быть гарантии, что они ответят в течение минимального интервала после события. Для отображения более 1-10 кадров в секунду потребуется плотная интеграция с аппаратным драйвером.
Однако, если вы правильно разработали свое приложение, операционная система будет реагировать быстро, и ваше приложение может легко отобразить график "в реальном времени" (это означает, что график обновляется один раз в секунду). Просто не используйте свое приложение для закрытия клапана в аварийной ситуации!
Ответ 2
http://www.live-graph.org/
Ответ 3
Просто наткнулся на описание того, как использовать графическую библиотеку visualvm. Выглядит очень приятно!
Ответ 4
посмотрите processing - это среда с открытым исходным кодом, основанная на Java, предназначенная для всех видов анимированных визуализаций.
Ответ 5
Вероятно, вы уже нашли хорошее решение, но если нет, я недавно проделал некоторую работу над каркасом для создания 2D-диаграмм, позволяющих получать живые обновления со скоростью более 50 изменений в секунду.
Первоначальное намерение состояло в том, чтобы имитировать внешний вид устройства записи диаграммы в области прокрутки веб-страницы, но я считаю, что этот подход имеет более широкое применение.
Демоверсию можно найти в Диаграммном рекордере, если кто-то заинтересован.
Внешний вид определяется шаблоном (www.journeylog.co.uk/chart/templates/chartRecorder.xml). Одной из функций является возможность указания чертежа на сервере или в браузере с помощью ExplorerCanvas.
Если кто-то заинтересован, я могу запустить для него проект с открытым исходным кодом.
Ответ 6
Ну, если это должна быть Java, тогда вы можете посмотреть на них.
Ответ 7
Достаточно быстро для реального времени swtchart, по крайней мере, по моему опыту. Даже с лотами данных. Не пугайтесь номера версии, да, это довольно новый API, но я успешно использую его без проблем.
Как следует из названия, оно основано на SWT, в котором используется собственный рисунок ОС. Также он делает некоторые умные оптимизации для быстрого рисования, например, не рисовать все точки в наборе данных (см. Фрагмент примера большой серии).
Ответ 8
это кажется хорошим кандидатом.
http://jchart2d.sourceforge.net/
демо:
http://jchart2d.sourceforge.net/applet.shtml
Ответ 9
JCCkit отличается хорошей библиотекой, у которой меньше памяти, особенно во встроенной среде: https://sourceforge.net/projects/jcckit.
принимает менее 100 кб.
Ответ 10
Вы можете копаться вокруг источника для NetBeans. Профилировщик делает графическое отображение в реальном времени различных вещей, таких как использование памяти.
Ответ 11
SWT XYGraph может отображать данные с вашим собственным поставщиком данных, поэтому вы можете создать поставщика данных в реальном времени, предоставляя живые данные. С помощью SWTChart и JFreeChart вам нужно подготовить для него весь массив.
Ответ 12
На этот вопрос ответили хорошо:
Графическое построение графика реального времени в реальном времени
Поскольку VisualVM включает API диаграмм, и этот API включен в JDK, у вас есть хороший/быстрый API-интерфейс для построения диаграмм.