JavaFX ではさまざまなチャートを利用できますが、私は思い存分に、というレベルまで細かい所を使いこなせていません。そこで簡単ないくつかのサンプルをベースにして少しずつ加工してみようと思います。まずは LineChart のベースサンプルを紹介します。参考サイト[1] を参考にしました。
動作環境は次の通りです。
- OS: Fedora 22 x86_64
- jdk1.8.0_45-1.8.0_45-fcs.x86_64 (Oracle)
- IDE: NetBeans IDE 8.0.2
リスト:LineChartSample.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | package linechartsample; import javafx.application.Application; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.scene.Scene; import javafx.scene.chart.CategoryAxis; import javafx.scene.chart.LineChart; import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; import javafx.scene.chart.XYChart.Series; import javafx.stage.Stage; public class LineChartSample extends Application { @Override public void start(Stage stage) { stage.setTitle( "Line Chart Sample" ); //defining the axes final CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); //creating the chart final LineChart lineChart = new LineChart(xAxis, yAxis); lineChart.setData(getChartData()); lineChart.setTitle( "折れ線グラフのサンプル" ); Scene scene = new Scene(lineChart, 600 , 400 ); stage.setScene(scene); stage.show(); } /** * * @return ObservableList<XYChart.Series<String, Double>> */ private ObservableList<XYChart.Series<String, Double>> getChartData() { double y1 = 0.1 ; double y2 = - 0.1 ; Series<String, Double> series1 = new Series<>(); Series<String, Double> series2 = new Series<>(); series1.setName( "系列1" ); series2.setName( "系列2" ); for ( int i = 2011 ; i < 2021 ; i++) { series1.getData().add( new XYChart.Data(Integer.toString(i), y1)); y1 = y1 + Math.random() - . 5 ; series2.getData().add( new XYChart.Data(Integer.toString(i), y2)); y2 = y2 + Math.random() - . 5 ; } ObservableList<XYChart.Series<String, Double>> seriesList = FXCollections.observableArrayList(); seriesList.addAll(series1, series2); return seriesList; } public static void main(String[] args) { launch(args); } } |
実行例を以下に示します。
このチャートのままでは、プレゼン資料や論文に使えません。次回は、このサンプルをベースにして好きなように修飾してみようと思います。
0 件のコメント:
コメントを投稿