Jaka jest najlepsza biblioteka wykresów Java typu open source? (inne niż jfreechart) [zamknięte]

136

Dlaczego nie ma więcej łatwych w użyciu bibliotek do tworzenia wykresów typu open source dla języka Java? Jedynym udanym projektem open source w tym obszarze wydaje się być jfreechart i nie ma nawet dostępnej dokumentacji ani przykładów.

fccoelho
źródło
Darmowa platforma do tworzenia wykresów Java dla Java Swing: frontangle.com/#/icharts . Możesz w tym zrobić większość typów wykresów
Oliver Watkins

Odpowiedzi:

57

Istnieje charts4j, który jest interfejsem API wykresów i grafów. Umożliwia programistom programowe tworzenie wykresów dostępnych w Google Chart API za pośrednictwem prostego i intuicyjnego interfejsu API języka Java.

Zastrzeżenie: napisałem charts4j . W ciągu najbliższych kilku tygodni wydamy kolejne duże wydanie.

Julien Chastang
źródło
10
Dobra robota! Jedynym minusem jest potrzeba połączenia z Internetem, chociaż nie pamiętam, kiedy ostatnio byłem odłączony. ;-)
fccoelho
19
@pyinsci: niektóre sklepy uniemożliwiają serwerom łączenie się z zewnętrznymi serwerami internetowymi (nawet jeśli serwery są dostępne z Internetu) ze względów bezpieczeństwa.
Joachim Sauer
4
Zwróć uwagę, że interfejs API wykresów statycznych Google został wycofany od 20 kwietnia 2012 r.
David Rabinowitz,
7
Alternatywnym API, które nie musi łączyć się z zewnętrznymi serwerami internetowymi, jest XChart .
herrtim
Jeśli celujesz w przeglądarkę internetową, możesz rzucić okiem na wykresy ZK .
Tom Yeh
57

Nie ma ich zbyt wiele, ponieważ rywalizowaliby z JFreeChart i jest niesamowity. Możesz uzyskać dokumentację i przykłady, pobierając przewodnik programisty . Istnieje również mnóstwo bezpłatnych samouczków online, jeśli ich szukasz.

Bill the Lizard
źródło
2
Bardzo przydatnym wkładem do jfreechart było proste API, które pozwoliło na wygenerowanie wykresu za pomocą prostego wywołania funkcji, takiego jak: plot (tablica) i otrzymanie w zamian obiektu wykresu, który można później dostosować, tj. Dodać tytuł, linie siatki, etc ...
fccoelho,
3
dla niektórych rzeczy (szybkie kreślenie matematyczne) jfreechart jest mierny, nie wspaniały.
Jason S,
2
Nie, nie w Javie. Uważam, że JChart2D jest lepszy niż JFreeChart, ale miał też swoje ograniczenia; dla jednego projektu skończyło się na stworzeniu własnej biblioteki graficznej, bolesnym doświadczeniem, ale zrobiło to, czego potrzebowałem. Chciałabym, aby port języka matplotlib Pythona był dostępny w Javie.
Jason S
6
tak, pobieranie podręcznika programisty za 65,00 $ ....
Totty.js,
1
Nazywanie JFreeChart „niesamowitym” to przesada. „Świetne do prostych rzeczy” może być dokładniejsze. +1 dla klonu Matplotlib dla Javy
garyp
15

EasyCharts jest komercyjny, więc nie mogłem go użyć w moim projekcie. Zamiast tego użyłem biblioteki graficznej GRAL. Zauważyłem, że jest bardzo łatwy do dostosowania i jest licencjonowany na licencji LGPL, podobnie jak JFreeChart, więc możesz go używać za darmo:

http://trac.erichseifert.de/gral

Stóg
źródło
1
Wiem, że jest za późno, ale szukam dokumentacji, nie mogę jej znaleźć. Czy możesz podzielić się, jeśli masz coś?
varunrao321
1
Sprawdź wykresy gór lodowych: frontangle.com/icharts Stworzyłem to. Myślę, że jest tam z JFreechart i całą resztą.
Oliver Watkins
14

Dobre pytanie, sam szukałem alternatywy dla JFreeChart. JFreeChart jest doskonały i bardzo wszechstronny, używałem go w kilku projektach. Mój ostatni problem polegał na tym, że oznaczało to dodanie 1,6 MB bibliotek do apletu o rozmiarze 50 KB, więc szukałem czegoś mniejszego.

Samo FAQ JFreeChart zawiera listę alternatyw. W porównaniu z JFreeChart, większość z nich jest dość prosta, a niektóre dość brzydkie. Najbardziej obiecujące wydają się być Java Chart Construction Kit i OpenChart2 .

Znalazłem również EasyCharts , który jest produktem komercyjnym, ale w niektórych okolicznościach wydaje się darmowy.

W końcu wróciłem do wypróbowanego i zaufanego JFreeChart i użyłem Proguard, aby przerobić go na łatwiejszy do zarządzania rozmiar.

Proponuję jeszcze raz przyjrzeć się JFreeChart. Podręcznik użytkownika jest dostępny tylko do kupienia, ale demo pokazuje, co jest możliwe i dość łatwo jest dowiedzieć się, jak to zrobić z dokumentacji API . Zasadniczo zaczynasz od metod statycznych ChartFactory i podłączasz wynikowy obiekt JFreeChart do ChartPanel, aby go wyświetlić. Jeśli utkniesz, na pewno otrzymasz szybkie odpowiedzi na swoje problemy w StackOverflow.

Dan Dyer
źródło
Stworzyłem proste opakowanie "plot" wokół zestawu do tworzenia wykresów w Javie, które sprawia, że ​​jest naprawdę łatwy w użyciu dla prostych wykresów bitbucket.org/hughperkins/easyjcckit
Hugh Perkins
5

W przypadku dynamicznych wykresów 2D używałem JChart2D . Jest szybki, prosty i regularnie aktualizowany. Autor szybko odpowiedział na mój jeden raport o błędzie i kilka próśb o dodanie funkcji. W naszej firmie wolimy go od JFreeChart, ponieważ został zaprojektowany do użytku dynamicznego, w przeciwieństwie do JFreeChart.

Poik
źródło
5

Możesz spróbować Jzy3d . Pomaga rysować proste wykresy 3D (powierzchnie, punkty rozproszone, słupki itp.) I ma wiele opcji dostosowywania układu osi, znaczników itp. Na wiki jest wiele przykładów i dokumentacji.

Jest darmowy i open source.

Twoje zdrowie,

Jaskółka oknówka

Martin
źródło
4

W mieście jest nowa biblioteka wykresów: JChartlib JChartLib http://freshmeat.net/projects/jchartlib

suvi
źródło
Wygląda świetnie!! Lekki i bez zależności, wow, fajna robota. Rzuciłem okiem na wiki, całkiem proste. Moje pytanie: czy zezwala na kategorie zamiast wartości liczbowych na osi X?
Gigab0rt,
2
Wow, super dzięki za komentarz. Liczba serii w kartach linii nie jest w rzeczywistości ograniczona. Rysuje tyle wykresów, ile chcesz. Właśnie wydałem nową wersję, która jest w stanie zapisać wykres do pliku jpg lub png. W planowaniu jest więcej typów wykresów, takich jak barchart, cakechart, radarchart i tak dalej.
suvi
okej, spróbuję tego zanim się zestarzeje ...: D
gumuruh
To jest GPL. Czy możesz zrobić to na licencji LGPL? (Lub Apache 2 lub MPL)
Hugh Perkins,
Głównym powodem, dla którego rozważyłbym użycie innej biblioteki wykresów innej niż jfreechart, jest to, że dobrze byłoby mieć bibliotekę wykresów, która (i) jest utrzymywana przez społeczność (ii) ma przyzwoitą dokumentację na temat tego, jak z niej korzystać, dostępną bezpłatnie. Niestety jchartlib nie daje żadnej przewagi w żadnym z tych punktów :-(
Hugh Perkins
4

Jest JChart, który jest w całości open source. Nie jestem pewien, co dokładnie rysujesz i jak to robisz (serwlety, swing, itp.), Więc powiedziałbym, że po prostu spójrz na kilka różnych i zobacz, który działa dla Ciebie.

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

Użyłem również JGraph, ale korzystałem tylko z ich wersji komercyjnej. Oferują jednak wersję open source:

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

BoboTheCodeMonkey
źródło
2

Znalazłem ten framework: jensoft sw2d, darmowy do użytku niekomercyjnego (podwójne licencje)

http://www.jensoft.org

pozdrowienia.

sebastien
źródło
2
Ta strona wspomina, że ​​sw2d jest licencjonowany przy użyciu LGPL; Czy to nie jest darmowe do wykorzystania zarówno w narzędziach open source, jak i komercyjnych?
Ewan Heming,
1

Używałem EasyCharts w przeszłości i zasłużył na swoją nazwę. Nie jest tak potężny jak JFreeChart, ale JAR dla EasyCharts jest znacznie mniejszy niż dla JFreeChart.

mjh2007
źródło