Какая библиотека Java-графики с открытым исходным кодом является лучшей? (кроме jfreechart) [закрыто]

136

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

fccoelho
источник
Бесплатная среда построения диаграмм Java для Java Swing: frontangle.com/#/icharts . Вы можете сделать большинство типов диаграмм в этом
Оливер Уоткинс

Ответы:

57

Существует charts4j, который представляет собой API для диаграмм и графиков. Это позволяет разработчикам программно создавать диаграммы, доступные в Google Chart API, с помощью простого и интуитивно понятного Java API.

Отказ от ответственности: я написал charts4j . Мы будем делать еще один крупный релиз в ближайшие несколько недель.

Julien Chastang
источник
10
Хорошая работа! Единственным недостатком является необходимость подключения к Интернету, хотя я не могу вспомнить, когда в последний раз я был отключен. ;-)
fccoelho
19
@pyinsci: некоторые магазины не позволяют серверам подключаться к внешним интернет-серверам (даже если серверы доступны из Интернета) по соображениям безопасности.
Иоахим Зауэр
4
Обратите внимание, что API статических диаграмм Google устарел с 20 апреля 2012 года
Дэвид Рабинович
7
Альтернативным API, которому не нужно подключаться к внешним интернет-серверам, является XChart .
Herrtim
Если вы ориентируетесь на веб-браузер, вы можете взглянуть на ZK Charts .
Том Йе
57

Их не так много, потому что они будут конкурировать с JFreeChart , и это круто. Вы можете получить документацию и примеры, загрузив руководство разработчика . Есть также множество бесплатных онлайн-уроков, если вы их ищете.

Bill the Lizard
источник
2
Одним из очень полезных вкладов в jfreechart был простой API, который позволил бы вам создавать график с помощью простого вызова функции, такого как: plot (array) и получать взамен объект диаграммы, который вы могли бы дополнительно настроить, то есть добавить заголовок, линии сетки, и т.д ...
fccoelho
3
для некоторых вещей (высокоскоростное математическое построение) jfreechart посредственный, а не потрясающий.
Джейсон С
2
Я не, не на Яве. Я нашел JChart2D лучше, чем JFreeChart, но у него были и свои ограничения; для одного проекта я закончил тем, что сделал свою собственную библиотеку графиков, болезненный опыт, но он сделал то, что мне было нужно. Я хотел бы, чтобы порт Python Matplotlib были доступны на Java.
Джейсон С
6
да скачать руководство разработчика за $ 65,00 ....
Totty.js
1
Назвать JFreeChart "удивительным" - это преувеличить. «Удивительно для простых вещей» может быть более точным. +1 для клона matplotlib для Java
garyp
15

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

http://trac.erichseifert.de/gral

стог
источник
1
Я знаю, что уже слишком поздно, но я ищу документацию, но не могу ее найти. Можете ли вы поделиться, если у вас есть что-нибудь?
varunrao321
1
Проверьте графики айсберга: frontangle.com/icharts Я создал его. Я думаю, что это там с JFreechart и всем остальным.
Оливер Уоткинс,
14

Хороший вопрос, я просто искал альтернативы JFreeChart сам на днях. JFreeChart превосходный и очень полный, я использовал его в нескольких проектах. Моя недавняя проблема заключалась в том, что это означало добавление 1.6 МБ библиотек к апплету 50 КБ, поэтому я искал что-то меньшее.

В FAQ JFreeChart перечислены альтернативы. По сравнению с JFreeChart, большинство из них довольно простые, а некоторые довольно уродливые. Наиболее многообещающими являются Java Chart Construction Kit и OpenChart2 .

Я также нашел EasyCharts , который является коммерческим продуктом, но, по-видимому, бесплатным в некоторых случаях.

В конце я вернулся к проверенному JFreeChart и использовал Proguard, чтобы превратить его в более управляемый размер.

Я предлагаю вам еще раз взглянуть на JFreeChart. Руководство пользователя доступно только для покупки, но демо-версия показывает, что возможно, и довольно легко понять, как из документации API . В основном вы начать с ChartFactory статические методы и подключите результирующий JFreeChart объект в ChartPanel , чтобы отобразить его. Если вы застряли, я уверен, что вы получите несколько быстрых ответов на ваши проблемы в StackOverflow.

Дэн Дайер
источник
Я создал простую оболочку «plot» вокруг набора для построения java-диаграмм, которая делает его действительно простым в использовании для простых графиков bitbucket.org/hughperkins/easyjcckit
Хью Перкинс,
5

Для динамических 2D-диаграмм я использовал JChart2D . Это быстро, просто и регулярно обновляется. Автор быстро ответил на один мой отчет об ошибке и несколько запросов на новые функции. Мы в нашей компании предпочитаем его JFreeChart, потому что он был разработан для динамического использования, в отличие от JFreeChart.

põik
источник
5

Вы можете попробовать Jzy3d . Он помогает рисовать простые трехмерные диаграммы (поверхности, рассеиватели, столбцы и т. Д.) И имеет множество опций для настройки расположения осей, меток и т. Д. В вики много примеров и документации.

Это бесплатно и с открытым исходным кодом.

Ура,

Мартин

Martin
источник
4

В городе появилась новая библиотека графиков: JChartlib JChartLib http://freshmeat.net/projects/jchartlib

Суви
источник
Это здорово выглядит!! Легкий и без зависимостей, вау, хорошая работа. Я взглянул на вики, довольно просто. Мой вопрос: это разрешает категории вместо числовых значений на оси X?
Gigab0rt
2
Здорово, спасибо за комментарий. Количество серий фактически не ограничено в линейных диаграммах. Он рисует столько графиков, сколько вам нравится. Я только что выпустил новую версию, которая может сохранить график в файл JPG или PNG. Другие типы диаграмм, такие как barchart, cakechart, radarchart и так далее, находятся в планировании.
Суви
хорошо, позвольте мне попробовать это прежде, чем это стареет ...: D
gumuruh
Это GPL. Пожалуйста, вы можете сделать это LGPL? (Или Apache 2, или MPL)
Хью Перкинс,
Основная причина, по которой я хотел бы рассмотреть возможность использования другой библиотеки графиков, отличной от jfreechart, заключается в том, что было бы неплохо иметь библиотеку графиков, которая (i) поддерживается сообществом (ii) имеет приличную документацию о том, как использовать ее бесплатно. К сожалению, jchartlib не дает никаких преимуществ ни по одному из этих пунктов :-(
Хью Перкинс
4

Существует JChart с открытым исходным кодом. Я не уверен, что именно вы рисуете и как вы это рисуете (сервлеты, свинг и т. Д.), Поэтому я бы сказал, просто посмотрите на несколько разных и посмотрите, что работает для вас.

http://sourceforge.net/projects/jchart/

Я также использовал JGraph, но я использовал только их коммерческую версию. Однако они предлагают версию с открытым исходным кодом:

http://www.jgraph.com/jgraph.html

BoboTheCodeMonkey
источник
2

Я нашел этот фреймворк: jensoft sw2d, бесплатный для некоммерческого использования (двойное лицензирование)

http://www.jensoft.org

С уважением.

Себастьен
источник
2
На этом сайте упоминается, что sw2d лицензируется с использованием LGPL; разве это не бесплатно для использования как с открытым исходным кодом, так и с коммерческими инструментами?
Эван Хеминг,
1

Я использовал EasyCharts в прошлом, и он соответствовал своему названию. Он не такой мощный, как JFreeChart, но JAR для EasyCharts намного меньше, чем для JFreeChart.

mjh2007
источник