Существуют ли какие-нибудь приличные бесплатные библиотеки для построения графиков данных Java?[закрыто]

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

Вопрос

В недавнем проекте Java нам понадобилась бесплатная утилита для построения графиков данных в реальном времени на базе Java.После долгих поисков мы нашли этот инструмент под названием Научный графический инструментарий или SGT от NOAA.Он казался довольно надежным, но мы обнаружили, что он не очень хорошо настраивается.Или, по крайней мере, недостаточно настраиваемый для удовлетворения наших потребностей.В итоге мы очень глубоко погрузились в Java-код, провели реверс-инжиниринг кода и полностью изменили его, чтобы инструмент построения графика выглядел и действовал так, как мы хотели.Конечно, это убивало все шансы на будущие обновления от NOAA.

Итак, какие бесплатные или дешевые инструменты или библиотеки для построения графиков данных на основе Java вы используете?

Последующие действия:Спасибо за JFreeChart предложения.Я заглянул на их веб-сайт, и он выглядит как очень хорошая утилита для построения графиков данных.Мне следовало бы прояснить в моем первоначальном вопросе, что я специально искал данные для построения графика в реальном времени.Я исправил свой вопрос выше, чтобы прояснить этот момент.Похоже , что Однако поддержка JFreeChart для данных в реальном времени в лучшем случае незначительна.Есть еще какие-нибудь предложения?

Это было полезно?

Решение

Я добился успеха, используя JFreeChart в нескольких проектах.Это так очень настраиваемый.JFreeChart имеет открытый исходный код, но они взимают плату за руководство разработчика.Если вы делаете что-то простое, пример кода, вероятно, достаточно хорош.В остальном, 50 долларов за руководство для разработчиков - довольно выгодная сделка.

Что касается данных "в реальном времени", я также использовал JFreeChart для подобных приложений.К сожалению, мне пришлось создать несколько пользовательских моделей данных с соответствующими механизмами синхронизации, чтобы избежать условий гонки.Тем не менее, это было не так уж сложно, и JFreeChart по-прежнему был бы моим первым выбором.Однако, как следует из часто задаваемых вопросов, JFreeChart может не обеспечить вам наилучшую производительность, если это вызывает серьезную озабоченность.

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

Я только что столкнулся с аналогичной проблемой (отображение быстро обновляющихся данных для инженерных целей), и я использую JChart2D.Он довольно минималистичный и имеет несколько причуд, но кажется довольно быстрым:Я запускаю тест скорости, в котором он добавляет 2331 точку в секунду (трассировки 333x7) на полосовую диаграмму и использует 1% процессора моего Pentium 4 с частотой 3 ГГц.

Живой График поддерживает рендеринг в реальном времени.

Я использую ГРАЛ для построения графиков в реальном времени.Это Java-библиотека LGPL.Хотя он не такой мощный, как JFreeChart, у него более приятный API.Я разработал и запустил сюжет за очень короткое время.Они также отправляют пример построения графика в реальном времени.

Я нашел этот вопрос, когда искал в Google библиотеки построения графиков с открытым исходным кодом для java.Я был не совсем доволен ответами, размещенными здесь, поэтому я провел некоторые дополнительные исследования по этому вопросу.Хотя этот вопрос был опубликован еще в 2008 году, он все еще может быть кому-то интересен.

Вот список Инструменты построения графиков и отчетов с открытым исходным кодом на Java

http://autoplot.org/ позволяет обновлять информацию в режиме реального времени и может использоваться для создания многих типов научных сюжетов.

Чтобы обновить график, укажите URL-адрес файла данных, а затем добавьте &filePollUpdates=1&tail=100.Смотрите пример по адресу http://autoplot.org/cookbook#Loading_Data

Waterloo Scientific Graphics - это новый проект LGPL.Объекты данных являются наблюдаемыми и могут быть обновлены в сценарии построения графика в реальном времени.Более подробную информацию смотрите в разделе http://waterloo.sourceforge.net/

Несколько скриншотов:

http://waterloo.sourceforge.net/images/AnatomyZ.png

http://waterloo.sourceforge.net/images/contour.png

http://waterloo.sourceforge.net/images/errorbar.png

График4j поддерживает также построение графиков в реальном времени!

Я использовал JFreeChart (http://www.jfree.org/jfreechart/) по предыдущему проекту.У него есть несколько очень хороших встроенных возможностей, и дизайн был расширяемым, так что вы всегда могли создать свое собственное расширение позже, если вам понадобились какие-то пользовательские аннотации к диаграмме или вы хотели, чтобы ось отображалась по-другому, или что-то еще.Это определенно стоит проверить.

Проверьте ILOG JViews ( просмотры ) - у них много чего есть, и что-то может подойти вашим потребностям.Все они чрезвычайно настраиваемы и довольно быстры.Хотя и не бесплатно.

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

К сожалению, я застрял с версией 0.7, но новейшая версия ооочень намного лучше, когда дело доходит до прозрачности API.Сообщество очень полезно, и разработчики тоже отвечают на письма.

Если вы создаете веб-приложение и не хотите возиться с библиотеками, вы можете проверить Google Chart API (Графический интерфейс).Сам я им не пользовался, но начал проводить несколько тестов, которые оказались очень многообещающими.

Для построения графиков в реальном времени вы можете использовать QN Plot, JOpenChart или его форк Openchart2.

JHandles - это альтернативный графический пакет для Octave (математический пакет).Вероятно, на это стоит обратить внимание, но из-за специфики Octave может оказаться, что это не то, что вам нужно.

-Адам

График PtPlot может быть, это хороший выбор.Раньше его звали Птолемей.

jcckit может обрабатывать построение графиков в реальном времени.Но это медведь, которым можно пользоваться.

Я раздвоил его и сделал вокруг него очень простую оболочку для построения графиков не в реальном времени.Лежащий в основе сложный интерфейс также можно использовать напрямую.

https://bitbucket.org/hughperkins/easyjcckit

Возможно, вы захотите ознакомиться с JMathPlot

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