Gráfico JavaFX StackedArea

Um componente JavaFX StackedAreaChart é capaz de desenhar gráficos de áreas empilhadas dentro de seus aplicativos JavaFX. Um gráfico de áreas empilhadas é semelhante a um gráfico de áreas com múltiplas séries de dados, exceto que um gráfico de áreas empilhadas exibe as séries de dados (e, portanto, as áreas) empilhadas umas sobre as outras, onde o gráfico de áreas normal as sobreporia.

O componente JavaFX StackedAreaChart é representado pela classe java.scene.chart.StackedAreaChart.

StackedAreaChart Eixo X e Eixo Y

Um JavaFX StackedAreaChart desenha um gráfico de área empilhada. Um gráfico de área empilhada é um gráfico bidimensional, o que significa que o gráfico tem um eixo X e um eixo Y. Os gráficos de área normalmente possuem dois eixos numéricos. Um eixo numérico é representado pela classe JavaFX javafx.scene.chart.NumberAxis.

Você precisa definir o eixo X e o eixo Y usados ​​por um arquivo StackedAreaChart. Aqui está um exemplo de criação de duas NumberAxisinstâncias JavaFX:

NumberAxis xAxis = new NumberAxis();
xAxis.setLabel("Last 7 Days");

NumberAxis yAxis = new NumberAxis();
yAxis.setLabel("Visits");

Criando um StackedAreaChart

Você cria um componente JavaFX StackedAreaChart criando uma instância da StackedAreaChartclasse. Você precisa passar um eixo X e um eixo Y para o StackedAreaChartconstrutor. Aqui está um StackedAreaChartexemplo de instanciação JavaFX:

NumberAxis xAxis = new NumberAxis();
xAxis.setLabel("No of employees");

NumberAxis yAxis = new NumberAxis();
yAxis.setLabel("Revenue per employee");

StackedAreaChart stackedAreaChart = new StackedAreaChart(xAxis, yAxis);

Série de dados StackedAreaChart

Para fazer com que um componente JavaFX StackedAreaChartexiba quaisquer pontos, você deve fornecer a ele uma série de dados . Uma série de dados é uma lista de pontos de dados. Cada ponto de dados contém um valor X e um valor Y.

Para ver quaisquer áreas empilhadas, você deve adicionar duas ou mais séries de dados ao StackedAreaChartcomponente. O StackedAreaChartexibe os valores da série de dados empilhados uns sobre os outros.

Aqui está um exemplo de criação de duas séries de dados e adição delas a um StackedAreaChartcomponente:

XYChart.Series dataSeries1 = new XYChart.Series();
dataSeries1.setName("Desktop");

dataSeries1.getData().add(new XYChart.Data( 0, 567));
dataSeries1.getData().add(new XYChart.Data( 1, 612));
dataSeries1.getData().add(new XYChart.Data( 2, 800));
dataSeries1.getData().add(new XYChart.Data( 3, 780));
dataSeries1.getData().add(new XYChart.Data( 4, 650));
dataSeries1.getData().add(new XYChart.Data( 5, 610));
dataSeries1.getData().add(new XYChart.Data( 6, 590));

stackedAreaChart.getData().add(dataSeries1);

XYChart.Series dataSeries2 = new XYChart.Series();
dataSeries2.setName("Mobile");

dataSeries2.getData().add(new XYChart.Data( 0, 101));
dataSeries2.getData().add(new XYChart.Data( 1, 110));
dataSeries2.getData().add(new XYChart.Data( 2, 140));
dataSeries2.getData().add(new XYChart.Data( 3, 132));
dataSeries2.getData().add(new XYChart.Data( 4, 115));
dataSeries2.getData().add(new XYChart.Data( 5, 109));
dataSeries2.getData().add(new XYChart.Data( 6, 105));

stackedAreaChart.getData().add(dataSeries2);

Os dados nesta série de dados representam os dados de visitas de usuários em computadores e dispositivos móveis há 7 dias.

Adicionando um StackedAreaChart ao gráfico de cena

Para tornar um JavaFX StackedAreaChartvisível, você deve adicioná-lo ao gráfico de cena JavaFX. Isso significa adicionar o StackedAreaCharta um Sceneobjeto ou adicionar o AreaCharta um componente de layout que é adicionado a um Sceneobjeto.

Aqui está um exemplo que adiciona um StackedAreaChartao gráfico de cena JavaFX:

package com.jenkov.javafx.charts;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.StackedAreaChart;
import javafx.scene.chart.XYChart;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class StackedAreaChartExperiments extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("StackedAreaChart Experiments");

        NumberAxis xAxis = new NumberAxis();
        xAxis.setLabel("7 Day Interval");

        NumberAxis yAxis = new NumberAxis();
        yAxis.setLabel("Visits");

        StackedAreaChart stackedAreaChart = new StackedAreaChart(xAxis, yAxis);

        XYChart.Series dataSeries1 = new XYChart.Series();
        dataSeries1.setName("Desktop");

        dataSeries1.getData().add(new XYChart.Data( 0, 567));
        dataSeries1.getData().add(new XYChart.Data( 1, 612));
        dataSeries1.getData().add(new XYChart.Data( 2, 800));
        dataSeries1.getData().add(new XYChart.Data( 3, 780));
        dataSeries1.getData().add(new XYChart.Data( 4, 650));
        dataSeries1.getData().add(new XYChart.Data( 5, 610));
        dataSeries1.getData().add(new XYChart.Data( 6, 590));

        stackedAreaChart.getData().add(dataSeries1);

        XYChart.Series dataSeries2 = new XYChart.Series();
        dataSeries2.setName("Mobile");

        dataSeries2.getData().add(new XYChart.Data( 0, 101));
        dataSeries2.getData().add(new XYChart.Data( 1, 110));
        dataSeries2.getData().add(new XYChart.Data( 2, 140));
        dataSeries2.getData().add(new XYChart.Data( 3, 132));
        dataSeries2.getData().add(new XYChart.Data( 4, 115));
        dataSeries2.getData().add(new XYChart.Data( 5, 109));
        dataSeries2.getData().add(new XYChart.Data( 6, 105));

        stackedAreaChart.getData().add(dataSeries2);

        VBox vbox = new VBox(stackedAreaChart);

        Scene scene = new Scene(vbox, 400, 200);

        primaryStage.setScene(scene);
        primaryStage.setHeight(300);
        primaryStage.setWidth(1200);

        primaryStage.show();
    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}

A aplicação resultante da execução deste exemplo seria semelhante a esta:

Acho que você gosta

Origin blog.csdn.net/weiweiqiao/article/details/132697489
Recomendado
Clasificación