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

mmo*_*mmo 2 vaadin vaadin-charts vaadin-flow vaadin20

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

Configuration conf = chart.getConfiguration();
conf.addSeries(series);
Run Code Online (Sandbox Code Playgroud)

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

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

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

Ann*_*nen 5

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