我的折线图在javafx上不能正常工作



这是我的代码,我用于我的折线图,但由于某种原因,它的工作,但显示一个之字形的模式,不像一个折线图。

我做错了什么吗?我的数据链接到我的web服务器

private void constructLineChart() {.clear LineChart1.getData () ();

    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);
        }
    }
}

不知道你的最终目标是什么,但我猜一下你的问题。

如果你想为每一个不同的类别(车辆、年份、地区)创建一个单独的行,那么你应该为每一个类别创建一个单独的系列。

    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);

相关内容

  • 没有找到相关文章

最新更新