Example usage for javafx.scene.chart NumberAxis NumberAxis

List of usage examples for javafx.scene.chart NumberAxis NumberAxis

Introduction

In this page you can find the example usage for javafx.scene.chart NumberAxis NumberAxis.

Prototype

public NumberAxis(double lowerBound, double upperBound, double tickUnit) 

Source Link

Document

Creates a non-auto-ranging NumberAxis with the given upper bound, lower bound and tick unit.

Usage

From source file:Main.java

@Override
public void start(final Stage stage) {
    stage.setWidth(500);//from w w  w  . jav a2  s  .  c o m
    stage.setHeight(500);
    Scene scene = new Scene(new Group());

    VBox root = new VBox();
    NumberAxis lineYAxis = new NumberAxis(0, 100, 10);
    CategoryAxis lineXAxis = new CategoryAxis();

    lineYAxis.setLabel("Sales");
    lineXAxis.setLabel("Products");

    root.getChildren().addAll(lineXAxis);
    scene.setRoot(root);

    stage.setScene(scene);
    stage.show();
}

From source file:Main.java

@Override
public void start(Stage primaryStage) {

    Group root = new Group();
    final NumberAxis xAxis = new NumberAxis(1, 12, 1);

    final NumberAxis yAxis = new NumberAxis();
    final StackedAreaChart<Number, Number> stackedAreaChart = new StackedAreaChart<Number, Number>(xAxis,
            yAxis);//from   w w w . j av a 2 s  .c  o m
    final XYChart.Series<Number, Number> series1 = new XYChart.Series<Number, Number>();

    xAxis.setLabel("Month");
    yAxis.setLabel("Value");

    stackedAreaChart.setTitle("StackedAreaChart");
    series1.setName("XYChart.Series 1");

    series1.getData().add(new XYChart.Data(1, 100));
    series1.getData().add(new XYChart.Data(2, 200));
    series1.getData().add(new XYChart.Data(10, 150));

    XYChart.Series<Number, Number> series2 = new XYChart.Series();
    series2.setName("XYChart.Series 2");

    series2.getData().add(new XYChart.Data(1, 50));
    series2.getData().add(new XYChart.Data(2, 200));
    series2.getData().add(new XYChart.Data(10, 260));

    stackedAreaChart.getData().addAll(series1, series2);

    root.getChildren().addAll(stackedAreaChart);

    primaryStage.setScene(new Scene(root, 500, 400));
    primaryStage.show();
}

From source file:Main.java

@Override
public void start(final Stage stage) {
    stage.setTitle("");
    stage.setWidth(500);//from   www .ja  v a  2 s.com
    stage.setHeight(500);
    Scene scene = new Scene(new Group());

    VBox root = new VBox();

    NumberAxis yAxis = new NumberAxis(0.0, 5.0, 1.0);
    NumberAxis xAxis = new NumberAxis(0.0, 5.0, 1.0);
    ScatterChart scatterChart = new ScatterChart(xAxis, yAxis);

    root.getChildren().addAll(scatterChart);
    scene.setRoot(root);

    stage.setScene(scene);
    stage.show();
}

From source file:Main.java

@Override
public void start(final Stage stage) {
    stage.setTitle("");
    stage.setWidth(500);/*from  ww w. java  2 s  .c o  m*/
    stage.setHeight(500);
    Scene scene = new Scene(new Group());

    VBox root = new VBox();
    NumberAxis lineYAxis = new NumberAxis(0, 100, 10);
    CategoryAxis lineXAxis = new CategoryAxis();

    lineYAxis.setLabel("Sales");
    lineXAxis.setLabel("Products");

    root.getChildren().addAll(lineXAxis);
    scene.setRoot(root);

    stage.setScene(scene);
    stage.show();
}

From source file:Main.java

@Override
public void start(final Stage stage) {
    stage.setTitle("");
    stage.setWidth(500);//  w w w. j ava  2  s.  co  m
    stage.setHeight(500);
    Scene scene = new Scene(new Group());

    VBox root = new VBox();
    NumberAxis lineYAxis = new NumberAxis(0, 100, 10);
    CategoryAxis lineXAxis = new CategoryAxis();

    BarChart barChart = new BarChart(lineXAxis, lineYAxis);

    lineYAxis.setLabel("Sales");
    lineXAxis.setLabel("Products");

    root.getChildren().addAll(barChart);
    scene.setRoot(root);

    stage.setScene(scene);
    stage.show();
}

From source file:Main.java

@Override
public void start(Stage stage) {
    stage.setTitle("Area Chart Sample");
    final NumberAxis xAxis = new NumberAxis(1, 30, 1);
    final NumberAxis yAxis = new NumberAxis(-5, 27, 5);
    final AreaChart<Number, Number> ac = new AreaChart<Number, Number>(xAxis, yAxis);
    xAxis.setForceZeroInRange(true);//ww  w  .  j av  a2s .  com

    ac.setTitle("Temperature Monitoring (in Degrees C)");

    XYChart.Series series1 = new XYChart.Series();
    series1.setName("March");
    series1.getData().add(new XYChart.Data(0, -2));
    series1.getData().add(new XYChart.Data(3, -4));
    series1.getData().add(new XYChart.Data(6, 0));
    series1.getData().add(new XYChart.Data(9, 5));

    XYChart.Series series2 = new XYChart.Series();
    series2.setName("April");
    series2.getData().add(new XYChart.Data(0, 4));
    series2.getData().add(new XYChart.Data(3, 10));
    series2.getData().add(new XYChart.Data(6, 15));
    series2.getData().add(new XYChart.Data(9, 8));

    XYChart.Series series3 = new XYChart.Series();
    series3.setName("May");
    series3.getData().add(new XYChart.Data(0, 20));
    series3.getData().add(new XYChart.Data(3, 15));
    series3.getData().add(new XYChart.Data(6, 13));
    series3.getData().add(new XYChart.Data(9, 12));

    Scene scene = new Scene(ac, 800, 600);
    //scene.getStylesheets().add("areachartsample/Chart.css");
    ac.setHorizontalZeroLineVisible(true);
    ac.getData().addAll(series1, series2, series3);
    stage.setScene(scene);
    stage.show();
}

From source file:Main.java

@Override
public void start(Stage stage) {
    stage.setTitle("Area Chart Sample");
    final NumberAxis xAxis = new NumberAxis(1, 30, 1);
    final NumberAxis yAxis = new NumberAxis(-5, 27, 5);
    final AreaChart<Number, Number> ac = new AreaChart<Number, Number>(xAxis, yAxis);
    xAxis.setForceZeroInRange(true);/*from   w  ww .  ja v a2 s. c  om*/

    ac.setTitle("Temperature Monitoring (in Degrees C)");

    XYChart.Series series1 = new XYChart.Series();
    series1.setName("March");
    series1.getData().add(new XYChart.Data(0, -2));
    series1.getData().add(new XYChart.Data(3, -4));
    series1.getData().add(new XYChart.Data(6, 0));
    series1.getData().add(new XYChart.Data(9, 5));
    series1.getData().add(new XYChart.Data(12, -4));
    series1.getData().add(new XYChart.Data(15, 6));
    series1.getData().add(new XYChart.Data(18, 8));
    series1.getData().add(new XYChart.Data(21, 14));
    series1.getData().add(new XYChart.Data(24, 4));
    series1.getData().add(new XYChart.Data(27, 6));
    series1.getData().add(new XYChart.Data(30, 6));

    XYChart.Series series2 = new XYChart.Series();
    series2.setName("April");
    series2.getData().add(new XYChart.Data(0, 4));
    series2.getData().add(new XYChart.Data(3, 10));
    series2.getData().add(new XYChart.Data(6, 15));
    series2.getData().add(new XYChart.Data(9, 8));
    series2.getData().add(new XYChart.Data(12, 5));
    series2.getData().add(new XYChart.Data(15, 18));
    series2.getData().add(new XYChart.Data(18, 15));
    series2.getData().add(new XYChart.Data(21, 13));
    series2.getData().add(new XYChart.Data(24, 19));
    series2.getData().add(new XYChart.Data(27, 21));
    series2.getData().add(new XYChart.Data(30, 21));

    XYChart.Series series3 = new XYChart.Series();
    series3.setName("May");
    series3.getData().add(new XYChart.Data(0, 20));
    series3.getData().add(new XYChart.Data(3, 15));
    series3.getData().add(new XYChart.Data(6, 13));
    series3.getData().add(new XYChart.Data(9, 12));
    series3.getData().add(new XYChart.Data(12, 14));
    series3.getData().add(new XYChart.Data(15, 18));
    series3.getData().add(new XYChart.Data(18, 25));
    series3.getData().add(new XYChart.Data(21, 25));
    series3.getData().add(new XYChart.Data(24, 23));
    series3.getData().add(new XYChart.Data(27, 26));
    series3.getData().add(new XYChart.Data(30, 26));

    Scene scene = new Scene(ac, 800, 600);
    //scene.getStylesheets().add("areachartsample/Chart.css");
    ac.setHorizontalZeroLineVisible(true);
    ac.getData().addAll(series1, series2, series3);
    stage.setScene(scene);
    stage.show();
}

From source file:Main.java

@Override
public void start(Stage stage) {
    stage.setTitle("Bubble Chart Sample");
    final NumberAxis xAxis = new NumberAxis(1, 53, 4);
    final NumberAxis yAxis = new NumberAxis(0, 80, 10);
    final BubbleChart<Number, Number> blc = new BubbleChart<Number, Number>(xAxis, yAxis);
    xAxis.setLabel("Week");
    xAxis.setTickLabelFill(Color.CHOCOLATE);
    xAxis.setMinorTickCount(4);/*  www .  j  a  v a  2 s.c om*/

    yAxis.setLabel("Product Budget");
    yAxis.setTickLabelFill(Color.CHOCOLATE);
    yAxis.setTickLabelGap(10);
    yAxis.setTickLabelFormatter(new NumberAxis.DefaultFormatter(yAxis, "$ ", null));

    blc.setTitle("Budget Monitoring");

    XYChart.Series series1 = new XYChart.Series();
    series1.setName("Product 1");
    series1.getData().add(new XYChart.Data(3, 35, 2));
    series1.getData().add(new XYChart.Data(12, 60, 1.8));
    series1.getData().add(new XYChart.Data(15, 15, 7));
    series1.getData().add(new XYChart.Data(22, 30, 2.5));
    series1.getData().add(new XYChart.Data(28, 20, 1));
    series1.getData().add(new XYChart.Data(35, 41, 5.5));
    series1.getData().add(new XYChart.Data(42, 17, 9));
    series1.getData().add(new XYChart.Data(49, 30, 1.8));

    XYChart.Series series2 = new XYChart.Series();
    series2.setName("Product 2");
    series2.getData().add(new XYChart.Data(8, 15, 2));
    series2.getData().add(new XYChart.Data(13, 23, 1));
    series2.getData().add(new XYChart.Data(15, 45, 3));
    series2.getData().add(new XYChart.Data(24, 30, 4.5));
    series2.getData().add(new XYChart.Data(38, 78, 1));
    series2.getData().add(new XYChart.Data(40, 41, 7.5));
    series2.getData().add(new XYChart.Data(45, 57, 2));
    series2.getData().add(new XYChart.Data(47, 23, 3.8));

    Scene scene = new Scene(blc);
    blc.getData().addAll(series1, series2);
    //scene.getStylesheets().add("bubblechartsample/Chart.css");
    stage.setScene(scene);
    stage.show();
}

From source file:nl.rivm.cib.episim.model.disease.infection.MSEIRSPlot.java

@Override
public void start(final Stage stage) {
    final SIRConfig conf = ConfigFactory.create(SIRConfig.class);
    final double[] t = conf.t();
    final long[] pop = conf.population();
    final double n0 = Arrays.stream(pop).sum();
    final String[] colors = conf.colors(), colors2 = conf.colors2();

    final Pane plot = new Pane();
    plot.setPrefSize(400, 300);// ww  w.  j  av  a 2s  .c  om
    plot.setMinSize(50, 50);

    final NumberAxis xAxis = new NumberAxis(t[0], t[1], (t[1] - t[0]) / 10);
    final NumberAxis yAxis = new NumberAxis(0, n0, n0 / 10);
    final Pane axes = new Pane();
    axes.prefHeightProperty().bind(plot.heightProperty());
    axes.prefWidthProperty().bind(plot.widthProperty());

    xAxis.setSide(Side.BOTTOM);
    xAxis.setMinorTickVisible(false);
    xAxis.setPrefWidth(axes.getPrefWidth());
    xAxis.prefWidthProperty().bind(axes.widthProperty());
    xAxis.layoutYProperty().bind(axes.heightProperty());

    yAxis.setSide(Side.LEFT);
    yAxis.setMinorTickVisible(false);
    yAxis.setPrefHeight(axes.getPrefHeight());
    yAxis.prefHeightProperty().bind(axes.heightProperty());
    yAxis.layoutXProperty().bind(Bindings.subtract(1, yAxis.widthProperty()));
    axes.getChildren().setAll(xAxis, yAxis);

    final Label lbl = new Label(String.format("R0=%.1f, recovery=%.1ft\nSIR(0)=%s", conf.reproduction(),
            conf.recovery(), Arrays.toString(pop)));
    lbl.setTextAlignment(TextAlignment.CENTER);
    lbl.setTextFill(Color.WHITE);

    final Path[] deterministic = { new Path(), new Path(), new Path() };
    IntStream.range(0, pop.length).forEach(i -> {
        final Color color = Color.valueOf(colors[i]);
        final Path path = deterministic[i];
        path.setStroke(color.deriveColor(0, 1, 1, 0.6));
        path.setStrokeWidth(2);
        path.setClip(new Rectangle(0, 0, plot.getPrefWidth(), plot.getPrefHeight()));
    });

    plot.getChildren().setAll(axes);

    // fill paths with integration estimates
    final double xl = xAxis.getLowerBound(), sx = plot.getPrefWidth() / (xAxis.getUpperBound() - xl),
            yh = plot.getPrefHeight(), sy = yh / (yAxis.getUpperBound() - yAxis.getLowerBound());
    final TreeMap<Double, Integer> iDeterministic = new TreeMap<>();

    MSEIRSTest.deterministic(conf, () -> new DormandPrince853Integrator(1.0E-8, 10, 1.0E-20, 1.0E-20))
            .subscribe(yt -> {
                iDeterministic.put(yt.getKey(), deterministic[0].getElements().size());
                final double[] y = yt.getValue();
                final double x = (yt.getKey() - xl) * sx;
                for (int i = 0; i < y.length; i++) {
                    final double yi = yh - y[i] * sy;
                    final PathElement di = deterministic[i].getElements().isEmpty() ? new MoveTo(x, yi)
                            : new LineTo(x, yi);
                    deterministic[i].getElements().add(di);
                }
            }, e -> LOG.error("Problem", e), () -> plot.getChildren().addAll(deterministic));

    final Path[] stochasticTau = { new Path(), new Path(), new Path() };
    IntStream.range(0, pop.length).forEach(i -> {
        final Color color = Color.valueOf(colors[i]);
        final Path path = stochasticTau[i];
        path.setStroke(color);
        path.setStrokeWidth(1);
        path.setClip(new Rectangle(0, 0, plot.getPrefWidth(), plot.getPrefHeight()));
    });

    final TreeMap<Double, Integer> iStochasticTau = new TreeMap<>();
    MSEIRSTest.stochasticGillespie(conf).subscribe(yt -> {
        final double x = (yt.getKey() - xl) * sx;
        iStochasticTau.put(yt.getKey(), stochasticTau[0].getElements().size());
        final long[] y = yt.getValue();
        for (int i = 0; i < y.length; i++) {
            final double yi = yh - y[i] * sy;
            final ObservableList<PathElement> path = stochasticTau[i].getElements();
            if (path.isEmpty()) {
                path.add(new MoveTo(x, yi)); // first
            } else {
                final PathElement last = path.get(path.size() - 1);
                final double y_prev = last instanceof MoveTo ? ((MoveTo) last).getY() : ((LineTo) last).getY();
                path.add(new LineTo(x, y_prev));
                path.add(new LineTo(x, yi));
            }
        }
    }, e -> LOG.error("Problem", e), () -> plot.getChildren().addAll(stochasticTau));

    final Path[] stochasticRes = { new Path(), new Path(), new Path() };
    IntStream.range(0, pop.length).forEach(i -> {
        final Color color = Color.valueOf(colors2[i]);
        final Path path = stochasticRes[i];
        path.setStroke(color);
        path.setStrokeWidth(1);
        path.setClip(new Rectangle(0, 0, plot.getPrefWidth(), plot.getPrefHeight()));
    });

    final TreeMap<Double, Integer> iStochasticRes = new TreeMap<>();
    MSEIRSTest.stochasticSellke(conf).subscribe(yt -> {
        final double x = (yt.getKey() - xl) * sx;
        iStochasticRes.put(yt.getKey(), stochasticRes[0].getElements().size());
        final long[] y = yt.getValue();
        for (int i = 0; i < y.length; i++) {
            final double yi = yh - y[i] * sy;
            final ObservableList<PathElement> path = stochasticRes[i].getElements();
            if (path.isEmpty()) {
                path.add(new MoveTo(x, yi)); // first
            } else {
                final PathElement last = path.get(path.size() - 1);
                final double y_prev = last instanceof MoveTo ? ((MoveTo) last).getY() : ((LineTo) last).getY();
                path.add(new LineTo(x, y_prev));
                path.add(new LineTo(x, yi));
            }
        }
    }, e -> LOG.error("Problem", e), () -> plot.getChildren().addAll(stochasticRes));

    // auto-scale on stage/plot resize 
    // FIXME scaling around wrong origin, use ScatterChart?
    //         xAxis.widthProperty()
    //               .addListener( (ChangeListener<Number>) ( observable,
    //                  oldValue, newValue ) ->
    //               {
    //                  final double scale = ((Double) newValue)
    //                        / plot.getPrefWidth();
    //                  plot.getChildren().filtered( n -> n instanceof Path )
    //                        .forEach( n ->
    //                        {
    //                           final Path path = (Path) n;
    //                           path.setScaleX( scale );
    //                           path.setTranslateX( (path
    //                                 .getBoundsInParent().getWidth()
    //                                 - path.getLayoutBounds().getWidth())
    //                                 / 2 );
    //                        } );
    //               } );
    //         plot.heightProperty()
    //               .addListener( (ChangeListener<Number>) ( observable,
    //                  oldValue, newValue ) ->
    //               {
    //                  final double scale = ((Double) newValue)
    //                        / plot.getPrefHeight();
    //                  plot.getChildren().filtered( n -> n instanceof Path )
    //                        .forEach( n ->
    //                        {
    //                           final Path path = (Path) n;
    //                           path.setScaleY( scale );
    //                           path.setTranslateY(
    //                                 (path.getBoundsInParent()
    //                                       .getHeight() * (scale - 1))
    //                                       / 2 );
    //                        } );
    //               } );

    final StackPane layout = new StackPane(lbl, plot);
    layout.setAlignment(Pos.TOP_CENTER);
    layout.setPadding(new Insets(50));
    layout.setStyle("-fx-background-color: rgb(35, 39, 50);");

    final Line vertiCross = new Line();
    vertiCross.setStroke(Color.SILVER);
    vertiCross.setStrokeWidth(1);
    vertiCross.setVisible(false);
    axes.getChildren().add(vertiCross);

    final Tooltip tip = new Tooltip("");
    tip.setAutoHide(false);
    tip.hide();
    axes.setOnMouseExited(ev -> tip.hide());
    axes.setOnMouseMoved(ev -> {
        final Double x = (Double) xAxis.getValueForDisplay(ev.getX());
        if (x > xAxis.getUpperBound() || x < xAxis.getLowerBound()) {
            tip.hide();
            vertiCross.setVisible(false);
            return;
        }
        final Double y = (Double) yAxis.getValueForDisplay(ev.getY());
        if (y > yAxis.getUpperBound() || y < yAxis.getLowerBound()) {
            tip.hide();
            vertiCross.setVisible(false);
            return;
        }
        final double xs = xAxis.getDisplayPosition(x);
        vertiCross.setStartX(xs);
        vertiCross.setStartY(yAxis.getDisplayPosition(0));
        vertiCross.setEndX(xs);
        vertiCross.setEndY(yAxis.getDisplayPosition(yAxis.getUpperBound()));
        vertiCross.setVisible(true);
        final int i = (iDeterministic.firstKey() > x ? iDeterministic.firstEntry()
                : iDeterministic.floorEntry(x)).getValue();
        final Object[] yi = Arrays.stream(deterministic).mapToDouble(p -> getY(p, i))
                .mapToObj(yAxis::getValueForDisplay).map(n -> DecimalUtil.toScale(n, 1)).toArray();
        final int j = (iStochasticTau.firstKey() > x ? iStochasticTau.firstEntry()
                : iStochasticTau.floorEntry(x)).getValue();
        final Object[] yj = Arrays.stream(stochasticTau).mapToDouble(p -> getY(p, j))
                .mapToObj(yAxis::getValueForDisplay).map(n -> DecimalUtil.toScale(n, 0)).toArray();
        final int k = (iStochasticRes.firstKey() > x ? iStochasticRes.firstEntry()
                : iStochasticRes.floorEntry(x)).getValue();
        final Object[] yk = Arrays.stream(stochasticRes).mapToDouble(p -> getY(p, k))
                .mapToObj(yAxis::getValueForDisplay).map(n -> DecimalUtil.toScale(n, 0)).toArray();
        final String txt = String.format("SIR(t=%.1f)\n" + "~det%s\n" + "~tau%s\n" + "~res%s", x,
                Arrays.toString(yi), Arrays.toString(yj), Arrays.toString(yk));

        tip.setText(txt);
        tip.show(axes, ev.getScreenX() - ev.getSceneX() + xs, ev.getScreenY() + 15);
    });

    try {
        stage.getIcons().add(new Image(FileUtil.toInputStream("icon.jpg")));
    } catch (final IOException e) {
        LOG.error("Problem", e);
    }
    stage.setTitle("Deterministic vs. Stochastic");
    stage.setScene(new Scene(layout, Color.rgb(35, 39, 50)));
    //         stage.setOnHidden( ev -> tip.hide() );
    stage.show();
}

From source file:tw.edu.sju.ee.eea.module.iepe.project.window.IepeRealtimeSpectrumElement.java

private Scene createScene() {

    xAxis = new NumberAxis(0, MAX_DATA_POINTS, MAX_DATA_POINTS / 10);
    xAxis.setForceZeroInRange(false);/*  w ww.  j  a v  a 2s.  c o  m*/
    xAxis.setAutoRanging(false);

    NumberAxis yAxis = new NumberAxis();
    yAxis.setAutoRanging(true);

    //-- Chart
    final LineChart<Number, Number> sc = new LineChart<Number, Number>(xAxis, yAxis) {
        // Override to remove symbols on each data point
        @Override
        protected void dataItemAdded(XYChart.Series<Number, Number> series, int itemIndex,
                XYChart.Data<Number, Number> item) {
        }
    };
    sc.setAnimated(false);
    sc.setId("liveAreaChart");
    sc.setTitle("Animated Area Chart");

    //-- Chart Series
    series = new LineChart.Series<Number, Number>();
    series.setName("Area Chart Series");
    sc.getData().add(series);

    return new Scene(sc);
}