Frage

Für ein aktuelles Java-Projekt benötigten wir ein kostenloses Java-basiertes Echtzeit-Datenplot-Dienstprogramm.Nach langem Suchen haben wir dieses Tool namens gefunden Scientific Graphics Toolkit oder SGT von NOAA.Es schien ziemlich robust zu sein, aber wir stellten fest, dass es nicht besonders konfigurierbar war.Oder zumindest nicht konfigurierbar genug, um unsere Bedürfnisse zu erfüllen.Am Ende haben wir uns sehr tief in den Java-Code vertieft, den Code zurückentwickelt und ihn rundherum geändert, damit das Plot-Tool so aussieht und sich so verhält, wie wir es wollten.Dies hat natürlich jede Chance auf zukünftige Upgrades durch die NOAA zunichte gemacht.

Welche kostenlosen oder günstigen Java-basierten Tools oder Bibliotheken zur Datendarstellung verwenden Sie?

Nachverfolgen:Danke für JFreeChart Vorschläge.Ich habe mir ihre Website angesehen und sie sieht aus wie ein sehr schönes Dienstprogramm zum Diagrammieren und Plotten von Daten.Ich hätte in meiner ursprünglichen Frage deutlich machen sollen, dass ich speziell auf die Darstellung von Echtzeitdaten abzielte.Ich habe meine Frage oben korrigiert, um diesen Punkt klarzustellen.Anscheinend Die JFreeChart-Unterstützung für Live-Daten ist jedoch bestenfalls marginal.Irgendwelche anderen Vorschläge da draußen?

War es hilfreich?

Lösung

Ich hatte Erfolg damit JFreeChart bei mehreren Projekten.Es ist sehr konfigurierbar.JFreeChart ist Open Source, aber dafür fallen Gebühren an Entwicklerhandbuch.Wenn Sie etwas Einfaches tun, ist der Beispielcode wahrscheinlich gut genug.Ansonsten sind 50 $ für den Entwicklerleitfaden ein ziemlich gutes Schnäppchen.

Was „Echtzeit“-Daten betrifft, habe ich JFreeChart auch für diese Art von Anwendungen verwendet.Leider musste ich einige benutzerdefinierte Datenmodelle mit entsprechenden Synchronisierungsmechanismen erstellen, um Race Conditions zu vermeiden.Allerdings war es nicht besonders schwierig und JFreeChart wäre immer noch meine erste Wahl.Wie aus den FAQ hervorgeht, bietet JFreeChart jedoch möglicherweise nicht die beste Leistung, wenn dies ein großes Problem darstellt.

Andere Tipps

Ich bin gerade auf ein ähnliches Problem gestoßen (Anzeige schnell aktualisierter Daten für technische Zwecke) und verwende JChart2D.Es ist ziemlich minimalistisch und hat ein paar Macken, aber es scheint ziemlich schnell zu sein:Ich führe einen Benchmark-Geschwindigkeitstest durch, bei dem 2331 Punkte pro Sekunde (333 x 7 Spuren) zu einem Streifendiagramm hinzugefügt werden und 1 % der CPU meines 3-GHz-Pentium 4 beansprucht wird.

Live-Grafik unterstützt Echtzeit-Rendering.

Ich benutze GRAL für Echtzeit-Plots.Es ist eine LGPL-Java-Bibliothek.Obwohl es nicht so leistungsstark wie JFreeChart ist, verfügt es über eine schönere API.Ich habe in sehr kurzer Zeit eine Handlung auf die Beine gestellt.Sie liefern auch ein Echtzeit-Plotbeispiel.

Ich habe diese Frage gefunden, als ich nach Open-Source-Plotbibliotheken für Java gegoogelt habe.Ich war mit den hier veröffentlichten Antworten nicht ganz zufrieden und habe daher weitere Nachforschungen zu diesem Thema angestellt.Obwohl diese Frage bereits im Jahr 2008 gestellt wurde, könnte sie für jemanden immer noch interessant sein.

Hier ist eine Liste von Open-Source-Diagramm- und Berichtstools in Java

http://autoplot.org/ ermöglicht Aktualisierungen in Echtzeit und kann zur Erstellung vieler Arten wissenschaftlicher Darstellungen verwendet werden.

Um das Diagramm zu aktualisieren, geben Sie die URL zu einer Datendatei an und hängen Sie sie an &filePollUpdates=1&tail=100.Siehe das Beispiel unter http://autoplot.org/cookbook#Loading_Data

Waterloo Scientific Graphics ist ein neues LGPL-Projekt.Datenobjekte sind beobachtbar und könnten in einem Echtzeit-Plotszenario aktualisiert werden.Einzelheiten finden Sie unter http://waterloo.sourceforge.net/

Ein paar Screenshots:

http://waterloo.sourceforge.net/images/AnatomyZ.png

http://waterloo.sourceforge.net/images/contour.png

http://waterloo.sourceforge.net/images/errorbar.png

Plot4j Unterstützt auch Echtzeit-Plotten!

Ich habe JFreeChart verwendet (http://www.jfree.org/jfreechart/) zu einem früheren Projekt.Es verfügt über einige sehr gute integrierte Funktionen und das Design war VIEL erweiterbar, sodass Sie später jederzeit Ihre eigene Erweiterung erstellen konnten, wenn Sie benutzerdefinierte Diagrammanmerkungen benötigen oder eine Achse anders rendern möchten oder was auch immer.Es lohnt sich auf jeden Fall, einen Blick darauf zu werfen.

Überprüfen Sie die ILOGs JViews - Sie haben eine Menge Sachen und etwas könnte Ihren Bedürfnissen entsprechen.Alle sind äußerst konfigurierbar und recht schnell.Allerdings nicht kostenlos.

Ich habe verwendet JFreeChart in einer recht komplexen Anwendung, die Datenströme und datenbasierte Berechnungen visualisieren musste.Wir haben die Möglichkeit implementiert, die Datendiagramme visuell per Maus zu bearbeiten und verfügten über einen sehr großen Satz an Datenpunkten.JFreeChart hat es sehr gut gemeistert.

Leider blieb ich bei Version 0.7 hängen, aber die neueste Version ist viel besser, wenn es um die API-Klarheit geht.Die Community ist sehr hilfsbereit und die Entwickler antworten auch auf Mails.

Wenn Sie eine Webanwendung erstellen und sich nicht mit Bibliotheken herumschlagen möchten, können Sie dies überprüfen Google Chart-API.Ich habe es selbst nicht verwendet, aber ich habe einige Tests gestartet, die sehr vielversprechend waren.

Für Echtzeit-Plots können Sie QN Plot, JOpenChart oder seinen Fork Openchart2 verwenden.

JHandles ist ein alternatives Grafikpaket für Octave (ein Mathematikpaket).Es lohnt sich wahrscheinlich, einen Blick darauf zu werfen, aber da es sich um eine Octave-spezifische Version handelt, ist das möglicherweise nicht das, was Sie brauchen.

-Adam

PtPlotkann eine gute Wahl sein.Früher Ptolemaios genannt.

jcckit kann Echtzeit-Plots verarbeiten.Es ist jedoch ein Bär, es zu benutzen.

Ich habe es gegabelt und einen sehr einfachen Wrapper darum erstellt, um nicht in Echtzeit zu zeichnen.Die zugrunde liegende komplizierte Schnittstelle kann auch direkt verwendet werden.

https://bitbucket.org/hughperkins/easyjcckit

Vielleicht möchten Sie JMathPlot ausprobieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top