JFreeChart AnleitungDie Bibliothek "JFreeChart" kann unter http://sourceforge.net/projects/jfreechart/files/ heruntergeladen werden. Dieses "Schritt für Schritt"-Tutorial soll erläutern, wie man mit ein paar einfachen Anweisungen seine Daten mithilfe der "JFreeChart"-Bibliothek plotten kann. Dazu gehen wir in 3 Schritten vor: Schritt 1: Bereitstellen der DatenSchritt 2: Erstellen des PlotsSchritt 3: Anlegen der ZeichenebeneSchritt 4: Ausgaben |
Schritt 1: Bereitstellen der DatenDie zu plottenden Daten muessen in Form eines Datasets bereit liegen. Hier werden 2 Möglichkeiten gezeigt, wie man das realisieren kann.Für diese Methode wird der Import der folgenden Bibliothek benötigt.
Möglichkeit 1 mit DefaultXYDatasetMit dieser Methode kann aus einer beliebigen zweispaltigen Matrix (wobei die erste Spalte die x Werte und die zweite die y Werte enthält) ein Dataset gewonnen werden. In diesem Beispiel heißt die Matrix A.
Möglichkeit 2 mit XYSeriesCollectionMit dieser Methode kann man einzelne Punkte in der Form (x,y) zu einem Dataset hinzufuegen. Dabei kann man sie innerhalb des Objekts zu XYSeries gruppieren, hier realisiert durch zwei XYSeries 'series1' und 'series2'.
|
Schritt 2: Erstellen des Plots mit
XYPlot
Zum Erstellen eines Plot brauchen wir zunächst einen Renderer, der
darüber entscheidet, in welcher Form unsere Daten geplottet werden
sollen. Hier werden die Klassen XYDotRenderer,
XYSplineRenderer
und XYLineAndShapeRenderer
vorgestellt. Ersterer ist zum Plotten von einzelnen Punkten, zweiterer
zum Verbinden der Punkte mittels Splines und letzterer zum einfachen
Verbinden der Punkte durch Linien. Je nachdem muss eine der folgenden
Bibliotheken importiert werden: |
import
org.jfree.chart.renderer.xy.XYDotRenderer; |
import org.jfree.chart.renderer.xy.XYSplineRenderer; |
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; |
XYDotRenderer
dot = new
XYDotRenderer(); |
dot.setDotHeight(5); dot.setDotWidth(5); |
NumberAxis
xax = new
NumberAxis("x"); NumberAxis yax = new NumberAxis("y"); |
XYPlot plot = new XYPlot(dataset2,xax,yax, dot); |
JFreeChart
chart2 = new
JFreeChart(plot); |
Schritt 3: Anlegen der ZeichenebeneNun müssen wir unsere Graphiken in einem Ausgabefenster zeichnen. Dafür erzeugen wir Objekte der Klassen ApplicationFrame und ChartPanel. Mit zahlreichen Methoden letzterer Klasse können wir mehrere Parameter festlegen, z.B. die Größe des Fensters. setContentPane setzt den Inhalt des Plots in ein übergeordnetes Fenster. pack sichert, dass das Ausgabefenster an die angegebenen Parameter angepasst ist.
Man kann zur Ausgabe genauso die Klasse ChartFrame und ihre Methoden benutzen. |
Weitere BeispieleBarChartBarChart ist ein Balkendiagramm.
PieChartPieChart ist ein Tortendiagramm.
|