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 类的构造函数
该类包含下面给出的两个构造函数。
- public LineChart(Axis Xaxis, Axis Yaxis )
使用指定的轴创建 LineChart 的新实例。: - 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);
}
}
输出结果为:
热门文章
优秀文章