JavaFX LineChart折线图

通常,折线图被定义为一种图表类型,其中使用称为标记的一组数据点来显示信息。

在折线图中,标记绘制在两个数字轴之间的映射点上。标记由线段连接。基本上,折线图显示了一个轴的值​​相对于另一轴值的变化的偏差。

在下图中,折线图显示了过去 8 年牛奶价格的变化。在 Y 轴上,显示价格,而在 X 轴上,显示年份。

在 JavaFX 中,折线图由类 javafx.scene.chart.LineChart 表示

1 LineChart 类的属性

属性 描述 setter方法
axisSortingPolicy 这是LineChart.SortingPolicy类型的属性。它表示是否要根据轴之一的性质对数据进行排序。 setAxisSortingProperty(LineChart.SortingPolicy value)
createSymbols 这是一个布尔类型的属性。它表示是否需要为未指定符号节点的符号创建符号。 setCreateSymbols(Boolean true)

2 LineChart 类的构造函数

该类包含下面给出的两个构造函数。

  1. public LineChart(Axis Xaxis, Axis Yaxis ) 使用指定的轴创建 LineChart 的新实例。
  2. public LineChart(Axis Xaxis, Axis Yaxis ) 使用指定的轴和数据创建 LineChart 的新实例

3 LineChart 类的例子

在下面的例子中,我们展示了不同年份股票价格的变化。

package com.yiidian;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;

public class LineChartTest extends Application {
  
    @Override  
    public void start(Stage primaryStage) throws Exception {
        //Defining Axis
        final NumberAxis xaxis = new NumberAxis(2008,2018,1);
        final NumberAxis yaxis = new NumberAxis(10,80,5);  
          
        //Defining Label for Axis   
        xaxis.setLabel("Year");  
        yaxis.setLabel("Price");  
          
        //Creating the instance of linechart with the specified axis  
        LineChart linechart = new LineChart(xaxis,yaxis);
          
        //creating the series   
        XYChart.Series series = new XYChart.Series();
          
        //setting name and the date to the series   
        series.setName("Stock Analysis");  
        series.getData().add(new XYChart.Data(2009,25));  
        series.getData().add(new XYChart.Data(2010,15));  
        series.getData().add(new XYChart.Data(2011,68));  
        series.getData().add(new XYChart.Data(2012,60));  
        series.getData().add(new XYChart.Data(2013,35));  
        series.getData().add(new XYChart.Data(2014,55));  
        series.getData().add(new XYChart.Data(2015,45));  
        series.getData().add(new XYChart.Data(2016,67));  
        series.getData().add(new XYChart.Data(2017,78));  
          
        //adding series to the linechart   
        linechart.getData().add(series);  
          
        //setting Group and Scene   
        Group root = new Group(linechart);
        Scene scene = new Scene(root,600,400);
        primaryStage.setScene(scene);  
        primaryStage.setTitle("一点教程网:LineChart Example");
        primaryStage.show();  
    }  
    public static void main(String[] args) {  
        launch(args);  
    }  
      
}  

输出结果为:

热门文章

优秀文章