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

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

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

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

9.08.2008 04:29:42
Я в той же лодке .. Пробовал СГТ несколько раз, нашел его хорошим, но недостаточно настраиваемым .., тоже копался. А также нуждается в этом в режиме реального времени. Так как ваш вопрос из лет назад, вы нашли что-нибудь с тех пор?
user978548 30.03.2012 03:48:28
16 ОТВЕТОВ
РЕШЕНИЕ

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

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

17
9.08.2008 20:46:36
JFreeChart достаточно хорош для отображения данных в реальном времени, если интервал обновления вашего графика составляет 1 секунду или более.
Abhinav Sarkar 1.10.2010 08:50:46

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

0
9.08.2008 05:52:00

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

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

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

0
19.01.2009 20:36:26

Проверьте JOGs ILOG - у них есть много вещей, и кое-что могло бы соответствовать вашим потребностям. Все они чрезвычайно настраиваемые и довольно быстрые. Не бесплатно, хотя.

0
18.10.2008 08:32:13

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

0
6.02.2009 14:11:08

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

-Адам

0
6.02.2009 14:38:21

Live Graph поддерживает рендеринг в реальном времени.

2
17.02.2009 08:33:32

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

3
14.05.2009 14:09:08
Это выглядит очень многообещающе для меня. Хотя у меня нет времени, чтобы попробовать.
Kurt W. Leucht 18.05.2009 16:34:42

Вы можете проверить JMathPlot

-1
10.12.2009 14:35:50

Библиотека, которую я написал, Plot4j , также поддерживает построение графиков в реальном времени.

1
13.10.2019 22:47:11

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

2
24.08.2010 15:52:39

PtPlot может быть хорошим выбором. Раньше назывался Птолемей.

0
5.10.2010 21:41:09

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

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

2
7.01.2012 13:05:11

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

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

1
29.06.2012 16:09:58

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

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

https://bitbucket.org/hughperkins/easyjcckit

0
18.10.2012 11:59:34

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

1
8.12.2012 22:22:20