Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8181581

Line chart X Axis order elements when using more than one data series

XMLWordPrintable

    • x86_64
    • windows_7

      FULL PRODUCT VERSION :
      java version "1.8.0_131"
      Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
      Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.1.7601]

      A DESCRIPTION OF THE PROBLEM :
      When using Line chart with more than one data series
      the elements values of the first X_AXIS will be first regardless of their location together in the two series

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      please run the example



      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Jan must be the first element in the X_Axis and not June
      ACTUAL -
      Jun is the first because of the order of the series

              lineChart.getData().addAll(series1, series2, series3);



      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      package app.dlg.form;
      import javafx.application.Application;
      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.stage.Stage;
       
       
      public class LineChartSample extends Application {
       
          @Override public void start(Stage stage) {
              stage.setTitle("Line Chart Sample");
              final CategoryAxis xAxis = new CategoryAxis();
              final NumberAxis yAxis = new NumberAxis();
               xAxis.setLabel("Month");
              final LineChart<String,Number> lineChart =
                      new LineChart<String,Number>(xAxis,yAxis);
             
              lineChart.setTitle("Stock Monitoring, 2010");
                                
              XYChart.Series series1 = new XYChart.Series();
              series1.setName("Portfolio 1");
              
              XYChart.Series series2 = new XYChart.Series();
              series2.setName("Portfolio 2");
              
              XYChart.Series series3 = new XYChart.Series();
              series3.setName("Portfolio 3");
              
      // series1.getData().add(new XYChart.Data("Jan", 23));
      // series1.getData().add(new XYChart.Data("Feb", 14));
      // series1.getData().add(new XYChart.Data("Mar", 15));
      // series1.getData().add(new XYChart.Data("Apr", 24));
      // series1.getData().add(new XYChart.Data("May", 34));
              series1.getData().add(new XYChart.Data("Jun", 36));
              series1.getData().add(new XYChart.Data("Jul", 22));
              series1.getData().add(new XYChart.Data("Aug", 45));
              series1.getData().add(new XYChart.Data("Sep", 43));
              series1.getData().add(new XYChart.Data("Oct", 17));
              series1.getData().add(new XYChart.Data("Nov", 29));
              series1.getData().add(new XYChart.Data("Dec", 25));
              
      // series2.getData().add(new XYChart.Data("Jan", 33));
      // series2.getData().add(new XYChart.Data("Feb", 34));
      // series2.getData().add(new XYChart.Data("Mar", 25));
      // series2.getData().add(new XYChart.Data("Apr", 44));
      // series2.getData().add(new XYChart.Data("May", 39));
      // series2.getData().add(new XYChart.Data("Jun", 16));
      // series2.getData().add(new XYChart.Data("Jul", 55));
              series2.getData().add(new XYChart.Data("Aug", 54));
              series2.getData().add(new XYChart.Data("Sep", 48));
              series2.getData().add(new XYChart.Data("Oct", 27));
              series2.getData().add(new XYChart.Data("Nov", 37));
              series2.getData().add(new XYChart.Data("Dec", 29));
              
              series3.getData().add(new XYChart.Data("Jan", 44));
              series3.getData().add(new XYChart.Data("Feb", 35));
              series3.getData().add(new XYChart.Data("Mar", 36));
              series3.getData().add(new XYChart.Data("Apr", 33));
              series3.getData().add(new XYChart.Data("May", 31));
              series3.getData().add(new XYChart.Data("Jun", 26));
              series3.getData().add(new XYChart.Data("Jul", 22));
              series3.getData().add(new XYChart.Data("Aug", 25));
              series3.getData().add(new XYChart.Data("Sep", 43));
              series3.getData().add(new XYChart.Data("Oct", 44));
              series3.getData().add(new XYChart.Data("Nov", 45));
              series3.getData().add(new XYChart.Data("Dec", 44));
              
              Scene scene = new Scene(lineChart,800,600);
              lineChart.getData().addAll(series1, series2, series3);
             
              stage.setScene(scene);
              stage.show();
          }
       
       
          public static void main(String[] args) {
              launch(args);
          }
      ---------- END SOURCE ----------

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: