Javafx-charts
JavaFX-チャート
一般に、チャートはデータのグラフィカルな表現です。 *棒グラフ、円グラフ、折れ線グラフ、散布図などのデータを表すさまざまな種類のグラフがあります。
JavaFXは、さまざまな*円グラフ*および* XYグラフ*のサポートを提供します。 XY平面で表されるチャートには、* AreaChart、BarChart、BubbleChart、LineChart、ScatterChart、StackedAreaChart、StackedBarChartなどが含まれます。
各チャートはクラスによって表され、これらのチャートはすべてパッケージ javafx.scene.chart に属します。 Chart という名前のクラスはJavaFXのすべてのチャートの基本クラスであり、 XYChart はXY平面に描画されるすべてのチャートの基本クラスです。
チャートを作成する
チャートを作成するには、する必要があります-
- チャートの軸を定義する
- それぞれのクラスをインスタンス化する
- データを準備してチャートに渡す
各クラスのインスタンス化
チャートを作成するには、それぞれのクラスをインスタンス化します。 たとえば、折れ線グラフを作成する場合は、次のように Line という名前のクラスをインスタンス化する必要があります-
LineChart linechart = new LineChart(xAxis, yAxis);
上記のコードで見られるように、インスタンス化中に、チャートのX軸とY軸をそれぞれ表す2つのオブジェクトを渡す必要があります。
軸の定義
一般的に、チャートの軸は次のように表すことができます-
- 人口、年齢、
- 週の日数、国などのカテゴリ。
JavaFXでは、軸はX軸またはY軸を表す抽象クラスです。 次の図に示すように、各タイプの軸、つまり CategoryAxis および NumberAxis を定義する2つのサブクラスがあります-
カテゴリ軸-このクラスをインスタンス化することにより、各値がカテゴリを表すXまたはY軸を定義(作成)できます。 以下に示すように、このクラスをインスタンス化することにより、カテゴリ軸を定義できます-
CategoryAxis xAxis = new CategoryAxis();
この軸に、あなたは以下に示すように軸のカテゴリとラベルのリストを設定する必要があります-
//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* -このクラスをインスタンス化することにより、各値が数値を表すXまたはY軸を定義(作成)できます。 この *Axis、Long、Double、BigDecimal* などで任意のNumberタイプを使用できます。 次のようにこのクラスをインスタンス化することにより、数値軸を定義できます-
//Defining the axis
NumberAxis yAxis = new NumberAxis();
//Setting labelto the axis
yAxis.setLabel("name of the axis");
XYチャートへのデータの受け渡し
すべてのXYチャートは、XY平面に沿って表されます。 チャートに一連のポイントをプロットするには、一連のXY座標を指定する必要があります。
*javafx.scene.chart* パッケージの *<X、Y>* クラスは、データをチャートに送信できるクラスです。 このクラスは、名前付きシリーズの監視可能なリストを保持します。 以下に示すように、 *XYChart.Series* クラスの* getData()*メソッドを使用して、このリストを取得できます-
ObservableList list = series.getData();
ここで、 series は XYChart.Series クラスのオブジェクトです。 次のように* add()*メソッドを使用して、このリストにデータを追加できます-
list.add(new XYChart.Data(x-axis data, y-axis data));
これらの2行は、以下に示すように一緒に書くことができます-
series.getData().add(new XYChart.Data(x-axis data, y-axis data));
次の表は、JavaFXが提供するさまざまなチャート(クラス)の説明です-
S.No | Chart & Description |
---|---|
1 |
円グラフは、異なる色の円のスライスとしての値の表現です。 これらのスライスにはラベルが付けられ、各スライスに対応する値がチャートに表示されます。 JavaFXでは、円グラフは PieChart という名前のクラスで表されます。 このクラスは、パッケージ javafx.scene.chart に属します。 |
2 |
折れ線グラフまたは折れ線グラフは、直線セグメントで接続された一連のデータポイント(マーカー)として情報を表示します。 折れ線グラフは、同じ時間頻度でデータがどのように変化するかを示しています。 JavaFXでは、折れ線グラフは LineChart という名前のクラスで表されます。 このクラスは、パッケージ javafx.scene.chart に属します。 このクラスをインスタンス化することにより、JavaFXでLineChartノードを作成できます。 |
3 |
エリアチャートは、エリアベースのチャートを描画するために使用されます。 与えられた一連の点と軸の間の面積をプロットします。 一般に、このチャートは2つの量を比較するために使用されます。 JavaFXでは、面グラフは AreaChart という名前のクラスで表されます。 このクラスは、パッケージ javafx.scene.chart に属します。 このクラスをインスタンス化することにより、JavaFXでAreaChartノードを作成できます。 |
4 |
棒グラフは、長方形の棒を使用してグループ化されたデータを表すために使用されます。 これらのバーの長さは値を表します。 棒グラフの棒は、垂直または水平にプロットできます。 JavaFXでは、棒グラフは BarChart という名前のクラスで表されます。 このクラスは、パッケージ javafx.scene.chart に属します。 このクラスをインスタンス化することにより、JavaFXでBarChartノードを作成できます。 |
5 |
バブルチャートを使用して、3次元データを作成します。 3番目の次元は、バブルのサイズ(半径)で表されます。 JavaFXでは、バブルチャートは BubbleChart という名前のクラスで表されます。 このクラスは、パッケージ javafx.scene.chart に属します。 このクラスをインスタンス化することにより、JavaFXでBubbleChartノードを作成できます。 |
6 |
散布図は、デカルト平面にプロットされた2つの変数の値を使用する一種のグラフです。 通常、2つの変数間の関係を見つけるために使用されます。 JavaFXでは、散布図は ScatterChart という名前のクラスで表されます。 このクラスは、パッケージ javafx.scene.chart に属します。 このクラスをインスタンス化することにより、JavaFXでScatterChartノードを作成できます。 |
7 |
JavaFXでは、積み上げ面グラフは StackedAreaChart という名前のクラスで表されます。 このクラスは、パッケージ javafx.scene.chart に属します。 このクラスをインスタンス化することにより、JavaFXでStackedAreaChartノードを作成できます。 |
8 |
JavaFXでは、積み上げ棒グラフは StackedBarChart という名前のクラスで表されます。 このクラスは、パッケージ javafx.scene.chart に属します。 このクラスをインスタンス化することにより、JavaFXでStackedBarChartノードを作成できます。 |