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


136

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


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

Ответы:


57

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

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


10
Хорошая работа! Единственным недостатком является необходимость подключения к Интернету, хотя я не могу вспомнить, когда в последний раз я был отключен. ;-)
fccoelho

19
@pyinsci: некоторые магазины не позволяют серверам подключаться к внешним интернет-серверам (даже если серверы доступны из Интернета) по соображениям безопасности.
Иоахим Зауэр

4
Обратите внимание, что API статических диаграмм Google устарел с 20 апреля 2012 года
Дэвид Рабинович

7
Альтернативным API, которому не нужно подключаться к внешним интернет-серверам, является XChart .
Herrtim

Если вы ориентируетесь на веб-браузер, вы можете взглянуть на ZK Charts .
Том Йе

57

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


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.


5

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

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

Ура,

Мартин


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


2

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

http://www.jensoft.org

С уважением.


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

1

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.