这是我用于我的折线图的代码,但由于某种原因它可以工作但显示锯齿形图案并且不像行折线图那样。
我在这做错了吗?我的数据链接到我的网络服务器private void constructLineChart(){ 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);
}
}
}
答案 0 :(得分:0)
不确定您的最终目标是什么,但我会猜测您的问题。
如果您尝试为每个不同类别(车辆,年份,地区)创建单独的行,那么您应该为每个类别创建一个单独的系列。
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);