Vaadin:如何更新图表的数据?

Vaadin: How to update a chart's data?

我很难找到用新数据更新图表的方法。 使用以下方法将数据添加到图表:

Configuration conf = chart.getConfiguration();
conf.addSeries(series);

但是没有对应的“remove(series)”!?! 因此,如果我想更新显示的数据并添加另一个系列,我实际上会在图表中添加另一条线(或条形图或我选择的任何可视化),这显然不是我 want/need.

我第一次尝试克服这个问题是获取旧数据系列并将它们从图表中删除,但是 getSeries() 我只得到现有系列的不可修改副本,因此尝试以 java.lang.UnsupportedOperationException.

结束

因此我的问题是:如何说服现有图表删除所有旧数据系列? 不要告诉我,我每次都需要重新创建整个图表组件,拜托!

您没有提到任何版本,但至少过去可以从 DataSeries 本身中删除项目。因此,您可以清空并重新填充它,而不是删除系列。设置时保存系列参考。或者你可以例如从不可修改的列表创建一个新的 ArrayList,在那里进行更改,然后再次设置系列(使用 setSeries,而不是 addSeries)。然后调用 chart.drawChart(); 应该会触发重新绘制。