这是我的代码,我用于我的折线图,但由于某种原因,它的工作,但显示一个之字形的模式,不像一个折线图。
我做错了什么吗?我的数据链接到我的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);