JavaFX - Biểu đồ
Nói chung, biểu đồ là một biểu diễn đồ họa của dữ liệu. Có nhiều loại biểu đồ khác nhau để biểu diễn dữ liệu nhưBar Chart, Pie Chart, Line Chart, Scatter Chart, Vân vân.
JavaFX Cung cấp hỗ trợ cho nhiều Pie Charts và XY Charts. Các biểu đồ được biểu diễn trên mặt phẳng XY bao gồmAreaChart, BarChart, BubbleChart, LineChart, ScatterChart, StackedAreaChart, StackedBarChart, Vân vân.
Mỗi biểu đồ được đại diện bởi một lớp và tất cả các biểu đồ này thuộc về gói javafx.scene.chart. Lớp có tênChart là lớp cơ sở của tất cả các biểu đồ trong JavaFX và XYChart là lớp cơ sở của tất cả các biểu đồ được vẽ trên mặt phẳng XY.
Tạo biểu đồ
Để tạo biểu đồ, bạn cần -
- Xác định trục của biểu đồ
- Khởi tạo lớp tương ứng
- Chuẩn bị và chuyển dữ liệu vào biểu đồ
Khởi tạo lớp tương ứng
Để tạo một biểu đồ, hãy khởi tạo lớp tương ứng của nó. Ví dụ: nếu bạn muốn tạo biểu đồ đường, bạn cần khởi tạo lớp có tênLine như sau -
LineChart linechart = new LineChart(xAxis, yAxis);
Như đã quan sát trong đoạn mã trên, trong khi khởi tạo, bạn cần chuyển hai đối tượng đại diện cho trục X và Y của biểu đồ tương ứng.
Xác định trục
Nói chung, trục của biểu đồ có thể được biểu diễn bằng:
- Các con số như Dân số, Tuổi và
- Các danh mục như Ngày trong tuần, Quốc gia.
Trong JavaFX, trục là một lớp trừu tượng đại diện cho trục X hoặc Y. Nó có hai lớp con để xác định từng loại trục, cụ thể làCategoryAxis và NumberAxis như thể hiện trong sơ đồ sau:
Category Axis- Bằng cách khởi tạo lớp này, bạn có thể xác định (tạo) một trục X hoặc Y mà mỗi giá trị đại diện cho một danh mục. Bạn có thể xác định trục Danh mục bằng cách khởi tạo lớp này như hình dưới đây:
CategoryAxis xAxis = new CategoryAxis();
Đối với trục này, bạn cần đặt danh sách các danh mục và nhãn cho trục như hình dưới đây -
//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- Bằng cách khởi tạo lớp này, bạn có thể xác định (tạo) một trục X hoặc Y mà mỗi giá trị đại diện cho một giá trị Số. Bạn có thể sử dụng bất kỳ loại Số nào với cái nàyAxis, Long, Double, BigDecimal, v.v. Bạn có thể xác định trục Số bằng cách khởi tạo lớp này như sau:
//Defining the axis
NumberAxis yAxis = new NumberAxis();
//Setting labelto the axis
yAxis.setLabel("name of the axis");
Chuyển dữ liệu sang biểu đồ XY
Tất cả các biểu đồ XY được biểu diễn dọc theo mặt phẳng XY. Để vẽ một tập hợp các điểm trong biểu đồ, chúng ta cần xác định một chuỗi các tọa độ XY.
Các <X,Y> lớp của javafx.scene.chartgói là một lớp sử dụng mà bạn có thể gửi dữ liệu đến một biểu đồ. Lớp này chứa một danh sách các chuỗi được đặt tên có thể quan sát được. Bạn có thể lấy danh sách này bằng cách sử dụnggetData() phương pháp của XYChart.Series lớp như hình dưới đây -
ObservableList list = series.getData();
Ở đâu, series là đối tượng của XYChart.Serieslớp học. Bạn có thể thêm dữ liệu vào danh sách này bằng cách sử dụngadd() phương pháp như sau -
list.add(new XYChart.Data(x-axis data, y-axis data));
Hai dòng này có thể được viết cùng nhau như hình dưới đây -
series.getData().add(new XYChart.Data(x-axis data, y-axis data));
Bảng sau mô tả các biểu đồ (lớp) khác nhau được cung cấp bởi JavaFX:
S. không | Biểu đồ & Mô tả |
---|---|
1 | Biểu đồ tròn Biểu đồ hình tròn là biểu diễn các giá trị dưới dạng các lát của hình tròn với các màu khác nhau. Các lát này được gắn nhãn và các giá trị tương ứng với mỗi lát được biểu diễn trong biểu đồ. Trong JavaFX, biểu đồ hình tròn được đại diện bởi một lớp có tên PieChart. Lớp này thuộc về góijavafx.scene.chart. |
2 | Biểu đồ đường Biểu đồ đường hoặc biểu đồ đường hiển thị thông tin dưới dạng một chuỗi các điểm dữ liệu (điểm đánh dấu) được nối với nhau bằng các đoạn đường thẳng. Biểu đồ Đường thể hiện cách dữ liệu thay đổi ở tần suất thời gian bằng nhau. Trong JavaFX, biểu đồ đường được biểu diễn bởi một lớp có tên LineChart. Lớp này thuộc về góijavafx.scene.chart. Bằng cách khởi tạo lớp này, bạn có thể tạo một nút LineChart trong JavaFX. |
3 | Biểu đồ khu vực Biểu đồ khu vực được sử dụng để vẽ biểu đồ dựa trên khu vực. Nó vẽ biểu đồ khu vực giữa một loạt các điểm và trục đã cho. Nói chung, biểu đồ này được sử dụng để so sánh hai đại lượng. Trong JavaFX, biểu đồ Khu vực được đại diện bởi một lớp có tên AreaChart. Lớp này thuộc về góijavafx.scene.chart. Bằng cách khởi tạo lớp này, bạn có thể tạo một nút AreaChart trong JavaFX. |
4 | Biểu đồ cột Biểu đồ thanh được sử dụng để biểu diễn dữ liệu được nhóm bằng các thanh hình chữ nhật. Chiều dài của các thanh này mô tả các giá trị. Các thanh trong biểu đồ thanh có thể được vẽ theo chiều dọc hoặc chiều ngang. Trong JavaFX, biểu đồ Thanh được đại diện bởi một lớp có tên BarChart. Lớp này thuộc về góijavafx.scene.chart. Bằng cách khởi tạo lớp này, bạn có thể tạo một nút BarChart trong JavaFX. |
5 | Biểu đồ bong bóng Biểu đồ bong bóng được sử dụng để xoay dữ liệu ba chiều. Kích thước thứ ba sẽ được thể hiện bằng kích thước (bán kính) của bong bóng. Trong JavaFX, biểu đồ Bong bóng được đại diện bởi một lớp có tên BubbleChart. Lớp này thuộc về góijavafx.scene.chart. Bằng cách khởi tạo lớp này, bạn có thể tạo một nút BubbleChart trong JavaFX. |
6 | Biểu đồ phân tán Biểu đồ phân tán là một loại biểu đồ sử dụng các giá trị từ hai biến được vẽ trong mặt phẳng Descartes. Nó thường được sử dụng để tìm ra mối quan hệ giữa hai biến. Trong JavaFX, biểu đồ phân tán được đại diện bởi một lớp có tên ScatterChart. Lớp này thuộc về góijavafx.scene.chart. Bằng cách khởi tạo lớp này, bạn có thể tạo một nút ScatterChart trong JavaFX. |
7 | Biểu đồ vùng xếp chồng Trong JavaFX, biểu đồ Vùng xếp chồng được đại diện bởi một lớp có tên StackedAreaChart. Lớp này thuộc về gói javafx.scene.chart. Bằng cách khởi tạo lớp này, bạn có thể tạo một nút StackedAreaChart trong JavaFX. |
số 8 | Biểu đồ thanh xếp chồng Trong JavaFX, biểu đồ Thanh xếp chồng được đại diện bởi một lớp có tên StackedBarChart. Lớp này thuộc về gói javafx.scene.chart. Bằng cách khởi tạo lớp này, bạn có thể tạo một nút StackedBarChart trong JavaFX. |