гистограммы и графики функций с Java swing

#java #swing #histogram #graphic

#java #swing #гистограмма #графический

Вопрос:

Есть ли в Java Swing какой-либо предопределенный компонент, позволяющий рисовать гистограммы или графики функций?

Если нет. Кто-нибудь знает хорошую библиотеку с открытым исходным кодом с лицензией, отличной от GPL2.0/3.0? (Мне нужен любой продукт, лицензированный по лицензиям MIT / Apache / Eclipse / LGpl).

заранее спасибо

Ответ №1:

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

Что меня немного раздражает в JFreeChart, так это то, что вам приходится платить за их Руководство для разработчиков, и что вам приходится платить за каждого пользователя этого руководства отдельно (т. Е. один разработчик не может легально одолжить свою копию другому разработчику, если вы не покупаете более дорогую лицензию на сайт). Документация по API доступна бесплатно.

Ответ №2:

Для создания графической библиотеки общего назначения попробуйте Batik SVG Toolkit (лицензия Apache). С помощью Batik вы можете встраивать в свои приложения Swing любую SVG-графику, включая гистограммы и графики функций. Документацию, касающуюся Swing, смотрите в «Компоненты Batik Swing».

Рисование гистограмм и графиков функций в SVG довольно тривиально. Пример гистограммы, на который вы ссылались, например, из Википедии, является SVG-файлом и может быть просмотрен с помощью Batik.

Комментарии:

1. 1 . спасибо за предложение. В любом случае мне нужно сгенерировать графику из данных внутри моей программы. У меня нет файла svg для печати.

2. Я знаю, но с помощью Batik вы также можете генерировать SVG-файлы ( xmlgraphics.apache.org/batik/using/svg-generator.html ), а также изменять их «на лету» с помощью сценариев. Конечно, я понимаю, что Batik — это гораздо более универсальное решение, которое вам может понадобиться здесь.

Ответ №3:

JFreeChart является распространенным решением, но на их сайте они перечисляют другие варианты с деталями лицензирования.

http://www.jfree.org/jfreechart/faq.html#FAQ13