JavaFX - wykresy
Ogólnie wykres jest graficzną reprezentacją danych. Istnieją różne rodzaje wykresów reprezentujących dane, takie jakBar Chart, Pie Chart, Line Chart, Scatter Chart, itp.
JavaFX Zapewnia obsługę różnych plików Pie Charts i XY Charts. Wykresy reprezentowane na płaszczyźnie XY obejmująAreaChart, BarChart, BubbleChart, LineChart, ScatterChart, StackedAreaChart, StackedBarChart, itp.
Każdy wykres jest reprezentowany przez klasę i wszystkie te wykresy należą do pakietu javafx.scene.chart. Klasa o nazwieChart to klasa bazowa wszystkich wykresów w JavaFX i XYChart jest klasą bazową wszystkich tych wykresów, które są rysowane na płaszczyźnie XY.
Tworzenie wykresu
Aby utworzyć wykres, musisz -
- Zdefiniuj oś wykresu
- Utwórz instancję odpowiedniej klasy
- Przygotuj i prześlij dane do wykresu
Tworzenie wystąpienia odpowiedniej klasy
Aby utworzyć wykres, utwórz instancję odpowiedniej klasy. Na przykład, jeśli chcesz utworzyć wykres liniowy, musisz utworzyć wystąpienie klasy o nazwieLine w następujący sposób -
LineChart linechart = new LineChart(xAxis, yAxis);
Jak zaobserwowano w powyższym kodzie, podczas tworzenia instancji należy przekazać dwa obiekty reprezentujące odpowiednio oś X i Y wykresu.
Definiowanie osi
Ogólnie oś wykresów można przedstawić za pomocą -
- Liczby, takie jak populacja, wiek i
- Kategorie, takie jak Dni w tygodniu, Kraje.
W JavaFX oś jest abstrakcyjną klasą reprezentującą oś X lub Y. Ma dwie podklasy do definiowania każdego typu osi, a mianowicieCategoryAxis i NumberAxis jak pokazano na poniższym schemacie -
Category Axis- Tworząc instancję tej klasy, można zdefiniować (utworzyć) oś X lub Y, wzdłuż której każda wartość reprezentuje kategorię. Możesz zdefiniować oś kategorii, tworząc wystąpienie tej klasy, jak pokazano poniżej -
CategoryAxis xAxis = new CategoryAxis();
Do tej osi musisz ustawić listę kategorii i etykietę na osi, jak pokazano poniżej -
//setting the list of categories.
xAxis.setCategories(FXCollections.<String>observableArrayList
(Arrays.asList("n ame1", "name2"….)));
//Setting label to the axis
xAxis.setLabel("name of the axis ");
NumberAxis- Tworząc instancję tej klasy, można zdefiniować (utworzyć) oś X lub Y, wzdłuż której każda wartość reprezentuje wartość liczbową. Możesz w tym celu użyć dowolnego typu numeruAxis, Long, Double, BigDecimalitd. Możesz zdefiniować oś Number, tworząc wystąpienie tej klasy w następujący sposób -
//Defining the axis
NumberAxis yAxis = new NumberAxis();
//Setting labelto the axis
yAxis.setLabel("name of the axis");
Przekazywanie danych do wykresów XY
Wszystkie wykresy XY są reprezentowane wzdłuż płaszczyzny XY. Aby wykreślić zbiór punktów na wykresie, musimy określić szereg współrzędnych XY.
Plik <X,Y> klasa javafx.scene.chartpakiet to klasa, za pomocą której możesz przesłać dane do wykresu. Ta klasa zawiera możliwą do zaobserwowania listę nazwanych serii. Możesz uzyskać tę listę za pomocągetData() metoda XYChart.Series klasa, jak pokazano poniżej -
ObservableList list = series.getData();
Gdzie, series jest przedmiotem XYChart.Seriesklasa. Możesz dodać dane do tej listy za pomocąadd() metoda w następujący sposób -
list.add(new XYChart.Data(x-axis data, y-axis data));
Te dwie linie można zapisać razem, jak pokazano poniżej -
series.getData().add(new XYChart.Data(x-axis data, y-axis data));
Poniższa tabela zawiera opis różnych wykresów (klas) udostępnianych przez JavaFX -
S.No | Wykres i opis |
---|---|
1 | Wykres kołowy Wykres kołowy przedstawia wartości jako wycinki koła o różnych kolorach. Te wycinki są oznaczone etykietami, a wartości odpowiadające każdemu wycinkowi są przedstawione na wykresie. W JavaFX wykres kołowy jest reprezentowany przez klasę o nazwie PieChart. Ta klasa należy do pakietujavafx.scene.chart. |
2 | Wykres liniowy Wykres liniowy lub wykres liniowy przedstawia informacje jako serię punktów danych (znaczników) połączonych segmentami prostymi. Wykres liniowy pokazuje, jak dane zmieniają się z równą częstotliwością. W JavaFX wykres liniowy jest reprezentowany przez klasę o nazwie LineChart. Ta klasa należy do pakietujavafx.scene.chart. Tworząc instancję tej klasy, można utworzyć węzeł LineChart w JavaFX. |
3 | Wykres warstwowy Wykresy warstwowe służą do rysowania wykresów warstwowych. Przedstawia obszar między podaną serią punktów a osią. Na ogół ten wykres służy do porównania dwóch wielkości. W JavaFX wykres warstwowy jest reprezentowany przez klasę o nazwie AreaChart. Ta klasa należy do pakietujavafx.scene.chart. Tworząc instancję tej klasy, możesz utworzyć węzeł AreaChart w JavaFX. |
4 | Wykres słupkowy Wykres słupkowy służy do przedstawiania zgrupowanych danych za pomocą prostokątnych słupków. Długość tych słupków przedstawia wartości. Słupki na wykresie słupkowym można kreślić w pionie lub w poziomie. W JavaFX wykres słupkowy jest reprezentowany przez klasę o nazwie BarChart. Ta klasa należy do pakietujavafx.scene.chart. Tworząc instancję tej klasy, możesz utworzyć węzeł BarChart w JavaFX. |
5 | Wykres bąbelkowy Wykres bąbelkowy służy do umieszczania danych trójwymiarowych. Trzeci wymiar będzie reprezentowany przez rozmiar (promień) bąbelka. W JavaFX wykres bąbelkowy jest reprezentowany przez klasę o nazwie BubbleChart. Ta klasa należy do pakietujavafx.scene.chart. Tworząc wystąpienie tej klasy, można utworzyć węzeł BubbleChart w JavaFX. |
6 | Wykres punktowy Wykres rozrzutu to rodzaj wykresu, który wykorzystuje wartości dwóch zmiennych wykreślonych na płaszczyźnie kartezjańskiej. Zwykle służy do znalezienia związku między dwiema zmiennymi. W JavaFX wykres punktowy jest reprezentowany przez klasę o nazwie ScatterChart. Ta klasa należy do pakietujavafx.scene.chart. Tworząc wystąpienie tej klasy, można utworzyć węzeł ScatterChart w JavaFX. |
7 | Skumulowany wykres warstwowy W JavaFX wykres skumulowany warstwowy jest reprezentowany przez klasę o nazwie StackedAreaChart. Ta klasa należy do pakietu javafx.scene.chart. Tworząc wystąpienie tej klasy, można utworzyć węzeł StackedAreaChart w JavaFX. |
8 | Skumulowany wykres słupkowy W JavaFX skumulowany wykres słupkowy jest reprezentowany przez klasę o nazwie StackedBarChart. Ta klasa należy do pakietu javafx.scene.chart. Tworząc wystąpienie tej klasy, można utworzyć węzeł StackedBarChart w JavaFX. |