Моя линейная диаграмма не работает должным образом на javafx, пожалуйста

это мой код, который я использовал для своего линейного графика, но по какой-то причине он работает, но показывает зигзагообразный шаблон и не ведет себя как линейный график.

я делаю что-то неправильно здесь? мои данные связаны с моим веб-сервером

private недействительным построитьLineChart() { LineChart1.getData().clear();

    for (CheckBox checkBox : Arrays.asList(CheckBox1, CheckBox2, CheckBox3,CheckBox4, CheckBox5, CheckBox6,CheckBox7, CheckBox8, CheckBox9)) {
        if (checkBox.isSelected()) {
            XYChart.Series series = new XYChart.Series();
            series.setName(checkBox.getText());

            for (Sales sale : sales) {
                if (sale.getVehicle().equals(checkBox.getText()))

                {

                    series.getData().add(new XYChart.Data<>(sale.getQTR(), sale.getQuantity()));
                }         
            }

                  for (Sales sale : sales) {
                if (sale.getYear().equals(checkBox.getText()))


                {

                    series.getData().add(new XYChart.Data<>(sale.getQTR(), sale.getQuantity()));
                }         
            }
                  for (Sales sale : sales) {
                if (sale.getRegion().equals(checkBox.getText()))

                {
             series.getData().add(new XYChart.Data<>(sale.getQTR(), sale.getQuantity()));
                }         
            }

            LineChart1.getData().add(series);
        }
    }
}

person user3435884    schedule 19.03.2014    source источник


Ответы (1)


Не уверен, какова ваша конечная цель, но я угадаю вашу проблему.

Если вы пытаетесь создать отдельную строку для каждой из ваших разных категорий (автомобиль, год выпуска, регион), то у вас должна быть отдельная серия для каждой из них.

    XYChart.Series vehicleSeries = new XYChart.Series();
    XYChart.Series yearSeries = new XYChart.Series();
    XYChart.Series regionSeries = new XYChart.Series();

Затем вы обновите данную серию в зависимости от того, какой тип продажи вы оцениваете.

vehicleSeries.getData().add(new XYChart.Data<>(sale.getQTR(), sale.getQuantity()));

Наконец, вы должны добавить все эти серии на линейную диаграмму.

lineChart1.getData().addAll(vehicleSeries, yearSeries, regionSeries);
person philosowaffle    schedule 08.01.2015