Was ist die beste Open-Source-Java-Chartbibliothek? (außer jfreechart) [geschlossen]


136

Warum gibt es nicht mehr Open Source einfach zu verwendende Diagrammbibliotheken für Java?. Das einzige erfolgreiche OpenSource-Projekt in diesem Bereich scheint jfreechart zu sein, und es sind nicht einmal Dokumentationen oder Beispiele verfügbar.


Kostenloses Java Charting Framework für Java Swing: frontangle.com/#/icharts . Sie können die meisten Arten von Diagrammen in diesem tun
Oliver Watkins

Antworten:


57

Es gibt chart4j , eine API für Diagramme und Grafiken. Entwickler können die in der Google Chart-API verfügbaren Diagramme programmgesteuert über eine einfache und intuitive Java-API erstellen .

Haftungsausschluss: Ich habe Charts4j geschrieben . Wir werden in den nächsten Wochen eine weitere Hauptversion veröffentlichen.


10
Gut gemacht! Der einzige Nachteil ist die Notwendigkeit einer Internetverbindung, obwohl ich mich nicht erinnern kann, wann ich das letzte Mal getrennt wurde. ;-)
fccoelho

19
@pyinsci: Einige Shops verhindern aus Sicherheitsgründen, dass Server eine Verbindung zu externen Internet-Servern herstellen (auch wenn die Server über das Internet erreichbar sind).
Joachim Sauer

4
Beachten Sie, dass die Google Static Charts API seit dem 20. April 2012
David Rabinowitz

7
Eine alternative API, die keine Verbindung zu externen Internet-Servern herstellen muss, ist XChart .
Herrtim

Wenn Sie auf einen Webbrowser abzielen, können Sie sich ZK Charts ansehen .
Tom Yeh

57

Es gibt nicht viele von ihnen, weil sie im Wettbewerb mit JFreeChart stehen würden , und es ist großartig. Sie können Dokumentation und Beispiele erhalten, indem Sie das Entwicklerhandbuch herunterladen . Es gibt auch unzählige kostenlose Online-Tutorials, wenn Sie danach suchen.


2
Ein sehr nützlicher Beitrag zu jfreechart war eine einfache API, mit der Sie einen Plot mit einem einfachen Funktionsaufruf wie dem folgenden erstellen können: plot (Array) und im Gegenzug ein Diagrammobjekt erhalten, das Sie weiter anpassen können, dh einen Titel hinzufügen, Gitterlinien, etc ...
fccoelho

3
Für einige Dinge (mathematisches Hochgeschwindigkeitsplotten) ist jfreechart mittelmäßig und nicht großartig.
Jason S

2
Ich nicht, nicht in Java. Ich fand JChart2D besser als JFreeChart, aber es hatte auch seine Grenzen; Für ein Projekt habe ich schließlich meine eigene Grafikbibliothek erstellt, eine schmerzhafte Erfahrung, aber sie hat das getan, was ich brauchte. Ich wünschte, ein Port von Pythons Matplotlib wäre in Java verfügbar.
Jason S

6
Ja, Download des Entwicklerhandbuchs für $ 65.00 ....
Totty.js

1
JFreeChart als "fantastisch" zu bezeichnen, ist übertrieben. "Awesome for simple stuff" könnte genauer sein. +1 für einen Matplotlib-Klon für Java
Garyp

15

EasyCharts ist kommerziell, daher konnte ich es nicht für mein Projekt verwenden. Ich habe stattdessen die GRAL-Grafikbibliothek verwendet. Ich fand es sehr einfach anzupassen und es ist unter LGPL lizenziert, genau wie JFreeChart, so dass Sie es kostenlos verwenden können:

http://trac.erichseifert.de/gral


1
Ich weiß, dass es zu spät ist, aber ich suche nach Dokumentation und kann keine finden. Können Sie bitte teilen, wenn Sie etwas haben?
Varunrao321

1
Schauen Sie sich die Eisberg-Charts an: frontangle.com/icharts Ich habe es erstellt. Ich denke, es ist dort oben mit JFreechart und allen anderen.
Oliver Watkins

14

Gute Frage, ich habe neulich selbst nach Alternativen zu JFreeChart gesucht. JFreeChart ist ausgezeichnet und sehr umfassend. Ich habe es bei mehreren Projekten verwendet. Mein jüngstes Problem war, dass ich einem 50-KB-Applet 1,6 MB Bibliotheken hinzufügen musste, also suchte ich nach etwas Kleinerem.

In den JFreeChart-FAQ selbst sind Alternativen aufgeführt. Im Vergleich zu JFreeChart sind die meisten von ihnen ziemlich einfach und einige ziemlich hässlich. Am vielversprechendsten scheinen das Java Chart Construction Kit und OpenChart2 zu sein .

Ich habe auch EasyCharts gefunden , ein kommerzielles Produkt, das unter bestimmten Umständen scheinbar kostenlos ist.

Am Ende ging ich zurück zu dem bewährten JFreeChart und benutzte Proguard, um es in eine handlichere Größe zu bringen.

Ich schlage vor, dass Sie sich JFreeChart noch einmal ansehen. Das Benutzerhandbuch kann nur gekauft werden, aber die Demo zeigt, was möglich ist, und es ist ziemlich einfach, anhand der API-Dokumentation herauszufinden, wie . Grundsätzlich beginnen Sie mit den statischen ChartFactory- Methoden und fügen das resultierende JFreeChart- Objekt in ein ChartPanel ein , um es anzuzeigen. Wenn Sie nicht weiterkommen, erhalten Sie sicher einige schnelle Antworten auf Ihre Probleme mit StackOverflow.


Ich habe einen einfachen "Plot" -Wrapper um den Java-Chart-Baukasten erstellt, der die Verwendung für einfache Plots sehr einfach macht. Bitbucket.org/hughperkins/easyjcckit
Hugh Perkins

5

Für dynamische 2D-Diagramme habe ich JChart2D verwendet . Es ist schnell, einfach und wird regelmäßig aktualisiert. Der Autor hat schnell auf meinen Fehlerbericht und einige Feature-Anfragen reagiert. Wir in unserem Unternehmen bevorzugen es gegenüber JFreeChart, da es im Gegensatz zu JFreeChart für den dynamischen Einsatz konzipiert wurde.


5

Sie können Jzy3d ausprobieren . Es hilft beim Zeichnen einfacher 3D-Diagramme (Oberflächen, Streuungen, Balken usw.) und bietet zahlreiche Optionen zum Anpassen des Layouts von Achsen, Häkchen usw. Es gibt viele Beispiele und eine Dokumentation im Wiki.

Es ist kostenlos und Open Source.

Prost,

Martin


4

Es gibt eine neue Diagrammbibliothek in der Stadt: JChartlib JChartLib http://freshmeat.net/projects/jchartlib


Das sieht großartig aus!! Leicht und ohne Abhängigkeiten, wow, gute Arbeit. Ich habe mir das Wiki ziemlich einfach angesehen. Meine Frage: Erlaubt es Kategorien anstelle von numerischen Werten auf der X-Achse?
Gigab0rt

2
Wow, cool, danke für den Kommentar. Die Anzahl der Serien ist in den Linecharts eigentlich nicht begrenzt. Es werden so viele Diagramme gezeichnet, wie Sie möchten. Ich habe gerade eine neue Version veröffentlicht, mit der das Diagramm in einer JPG- oder PNG-Datei gespeichert werden kann. Weitere Diagrammtypen wie Barchart, Cakechart, Radarchart usw. sind in Planung.
Suvi

Okay, lass es mich versuchen, bevor es alt wird ...: D
gumuruh

Es ist GPL. Bitte können Sie es LGPL machen? (Oder Apache 2 oder MPL)
Hugh Perkins

Der Hauptgrund, warum ich in Betracht ziehen würde, eine andere Diagrammbibliothek als jfreechart zu verwenden, ist, dass es schön wäre, eine Diagrammbibliothek zu haben, die (i) von einer Community verwaltet wird (ii) eine anständige Dokumentation darüber hat, wie man sie kostenlos verwendet. Leider bietet jchartlib in keinem dieser Punkte einen Vorteil :-(
Hugh Perkins

4

Es gibt JChart, das alles Open Source ist. Ich bin mir nicht sicher, was genau Sie grafisch darstellen und wie Sie es grafisch darstellen (Servlets, Swing usw.), also würde ich sagen, schauen Sie sich einfach ein paar verschiedene an und sehen Sie, welche für Sie funktioniert.

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

Ich habe auch JGraph verwendet, aber ich habe nur die kommerzielle Version verwendet. Sie bieten jedoch eine Open Source-Version an:

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


2

Ich habe dieses Framework gefunden: jensoft sw2d, kostenlos für nichtkommerzielle Zwecke (doppelte Lizenzierung)

http://www.jensoft.org

Grüße.


2
Auf dieser Website wird erwähnt, dass sw2d über die LGPL lizenziert ist. Ist das nicht kostenlos für Open Source- und kommerzielle Tools?
Ewan Heming

1

Ich habe in der Vergangenheit EasyCharts verwendet und es wurde seinem Namen gerecht. Es ist nicht so leistungsfähig wie JFreeChart, aber die JAR für EasyCharts ist viel kleiner als für JFreeChart.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.