Wszystkie możliwości wykresów są dostępne po utworzeniu obiektu wykresu. Wykres tworzony jest przez określenie odpowiedniego typu (ScatterPlot, LinePlot, itd). Informacja na temat danych przekazywana jest jako argument do konstruktora obiektu. Zobacz, aby uzyskać więcej informacji na temat typów wykresów.
Obiekt wykresu tworzony jest przez konstruktor wykresu wybranego typu klasy. Składnia konstruktora wygląda następująco:
PlotType(dataObject)
gdzie PlotType powinien być zastąpiony nazwą odpowiedniej klasy wykresu. Parametr dataObject określa obiekt danych, który powinien zostać użyty do utworzenia wykresu.
Dla każdego obiektu wykresu dostępne są następujące metody:
Tabela 11.1. Metody dla obiektu wykresu
nazwa metody oraz składnia | opis |
---|---|
show() | Tworzy okno wykresu dla wcześniej określonych danych |
setTitle(name) | ustawia tytuł okna wykresu |
getTitle() | zwaraca tytuł okna wykresu |
getJFreeChart() | Zwraca powiązany obiekt klasy org.jfree.chart.plot.Plot, który może być wykorzystany do rozszerzonej edycji ustawień wykresu. Aby uzyskać szczegółowe informacje zobacz dokumentację klasy Plot. |
Przykład 11.7. Przygotowanie danych oraz wyświetlanie wykresu punktowego
d = Data('tableName', ['x', 'y'] ) ScatterPlot(d).show()
Obiekt danych d może także być użyteczny do tworzenia innych wykresów.
Istnieje także prostszy sposób tworzenia wykresów ad-hoc. Jest to podstawowy i wygodny sposób tworzenia pojedynczych wykresów, bez tworzenia obiektu Data.
Podstawowe trzy typy wykresów opisane są poniżej.
Składnia konstruktora Data dla użycia wykresów 2D jest następująca:
Data(tableName, [x_column, y_column])
lub
Data(tableName, [series_column_name, x_column, y_column])
Składnia konstruktora Data dla użycia wykresów 3D jest następująca:
Data(tableName, [x_column, y_column, z_column])
lub
Data(tableName, [series_column_name, x_column, y_column, z_column])
Tabela 11.3. Opis parametrów konstruktora danych dla wykresów 3D
Parametr | Opis |
---|---|
series_name_column | Nazwa zawierająca nazwy serii do których należą pary współrzędnych |
x_column | Nazwa kolumny z wartościami współrzędnych x |
y_column | Nazwa kolumny z wartościami współrzędnych y |
z_column | Nazwa kolumny z wartościami współrzędnych z |
Możliwe jest zobrazowanie więcej niż jednego wykresu na tym samym wykresie z wspólnymi osiami x oraz y. Zakres wspólnych osi zostanie ustawiony aby wyświetlić wszystkie wartości z zgrupowanych wykresów.
Możliwe jest grupowanie poziome (horyzontalne – wspólna oś x) podobnie jak pionowe (wertykalne – wspólna oś y)
Składnia:
CombinedVerticalXYPlot(xyplot1, xyplot2, ..., xyplotN)
CombinedHorizontalXYPlot(xyplot1, xyplot2, ..., xyplotN)
Podrozdział ten opisuje niektóre użyteczne funkcjonalności interfejsu JFreeChart.
Klasa JFreeChart dostarcza mechanizm użycia osi logarytmicznych. Biblioteka dostarcza implementację BetterLogarithmic bezpośrednio funkcją BetterLogarithmicAxis.
Przykład 11.13. Creating a plot with a logarithmic axis
table 'table_1': a1 a2 1 2 3 4 chartObject = ScatterPlot('table_1', ['a1', 'a2']) chartObject.getJFreeChart().getPlot().setDomainAxis(BetterLogarithmicAxis('axis_name')) chartObject.show()
Osie logarytmiczne wymagają wartości dodatnie danych.
Poniżej znajduje się przykład jak dodać pionowy znacznik etykiety 'marker_label'
table 'table': a1 a2 1 2 3 4 chartObject = ScatterPlot('table', ['a1', 'a2']) plot = chartObject.getJFreeChart().getPlot() m = org.jfree.chart.plot.ValueMarker(2) m.label = 'marker_label' plot.addDomainMarker(m) chartObject.show()
Zobacz także: org.jfree.chart.demo.MarkerDemo1.java