📅  最后修改于: 2020-10-14 07:21:48             🧑  作者: Mango
通常,面积图用于显示图形化的定量数据。它基本上在XY平面上绘制点集的面积。它与折线图的不同之处在于,折线图通过直线段将数据点连接在一起,而不是绘制它们所占据的面积。
在下图中,面积图显示一年中每个月两个不同的自行车消耗的汽油量。
在JavaFX中,类javafx.scene.chart.AreaChart表示面积图。我们需要实例化此类以生成面积图节点。
该类包含单个属性,下表及其setter方法对此属性进行了描述。
Property | Description | Setter Method |
---|---|---|
createSymbols | It is a boolean type property. Its true value indicates that the symbols get created for any of the data items for which the symbol node are not specified yet. | setCreateSymbols(boolean value) |
该类中有两个构造函数。
在下面的示例中,我们显示了公司在地区销售方面的比较。
package application;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.chart.AreaChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;
public class AreaChartTest extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// TODO Auto-generated method stub
//Configuring Xaxis and Yaxis
NumberAxis xaxis = new NumberAxis(1,12,1);
NumberAxis yaxis = new NumberAxis(10,510,50);
xaxis.setLabel("Month of the year");
yaxis.setLabel("Sales value (lacs)");
//Creating Areachart
AreaChart area = new AreaChart(xaxis,yaxis);
//Setting title for areachart
area.setTitle("RegionWise Sales");
//Configuring series for North sales
XYChart.Series seriesNorth = new XYChart.Series();
seriesNorth.setName("North");
seriesNorth.getData().add(new XYChart.Data(1,120));
seriesNorth.getData().add(new XYChart.Data(2,140));
seriesNorth.getData().add(new XYChart.Data(3,50));
seriesNorth.getData().add(new XYChart.Data(4,80));
seriesNorth.getData().add(new XYChart.Data(5,150));
seriesNorth.getData().add(new XYChart.Data(6,130));
seriesNorth.getData().add(new XYChart.Data(7,110));
seriesNorth.getData().add(new XYChart.Data(8,90));
seriesNorth.getData().add(new XYChart.Data(9,200));
seriesNorth.getData().add(new XYChart.Data(10,120));
seriesNorth.getData().add(new XYChart.Data(11,100));
seriesNorth.getData().add(new XYChart.Data(12,120));
//Configuring series for East sales
XYChart.Series seriesEast = new XYChart.Series();
seriesEast.setName("East");
seriesEast.getData().add(new XYChart.Data(1,500));
seriesEast.getData().add(new XYChart.Data(2,200));
seriesEast.getData().add(new XYChart.Data(3,300));
seriesEast.getData().add(new XYChart.Data(4,290));
seriesEast.getData().add(new XYChart.Data(5,150));
seriesEast.getData().add(new XYChart.Data(6,120));
seriesEast.getData().add(new XYChart.Data(7,190));
seriesEast.getData().add(new XYChart.Data(8,80));
seriesEast.getData().add(new XYChart.Data(9,100));
seriesEast.getData().add(new XYChart.Data(10,220));
seriesEast.getData().add(new XYChart.Data(11,300));
seriesEast.getData().add(new XYChart.Data(12,220));
//Configuring series for west sales
XYChart.Series seriesWest = new XYChart.Series();
seriesWest.setName("West");
seriesWest.getData().add(new XYChart.Data(1,320));
seriesWest.getData().add(new XYChart.Data(2,40));
seriesWest.getData().add(new XYChart.Data(3,250));
seriesWest.getData().add(new XYChart.Data(4,10));
seriesWest.getData().add(new XYChart.Data(5,190));
seriesWest.getData().add(new XYChart.Data(6,140));
seriesWest.getData().add(new XYChart.Data(7,200));
seriesWest.getData().add(new XYChart.Data(8,190));
seriesWest.getData().add(new XYChart.Data(9,300));
seriesWest.getData().add(new XYChart.Data(10,130));
seriesWest.getData().add(new XYChart.Data(11,400));
seriesWest.getData().add(new XYChart.Data(12,220));
//Configuring series for south sales
XYChart.Series seriesSouth = new XYChart.Series();
seriesSouth.setName("South");
seriesSouth.getData().add(new XYChart.Data(1,220));
seriesSouth.getData().add(new XYChart.Data(2,40));
seriesSouth.getData().add(new XYChart.Data(3,250));
seriesSouth.getData().add(new XYChart.Data(4,180));
seriesSouth.getData().add(new XYChart.Data(5,450));
seriesSouth.getData().add(new XYChart.Data(6,230));
seriesSouth.getData().add(new XYChart.Data(7,110));
seriesSouth.getData().add(new XYChart.Data(8,100));
seriesSouth.getData().add(new XYChart.Data(9,123));
seriesSouth.getData().add(new XYChart.Data(10,125));
seriesSouth.getData().add(new XYChart.Data(11,225));
seriesSouth.getData().add(new XYChart.Data(12,127));
//adding series to the Area chart
area.getData().addAll(seriesNorth,seriesWest,seriesEast,seriesSouth);
//setting Group and Scene
Group root = new Group(area);
Scene scene = new Scene(root,600,400);
primaryStage.setScene(scene);
primaryStage.setTitle("AreaChart Example");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}