【问题标题】:Vaadin: How to update a chart's data?Vaadin:如何更新图表的数据?
【发布时间】:2021-06-23 11:59:00
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: vaadin vaadin-flow vaadin-charts vaadin20


    【解决方案1】:

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

    【讨论】:

    • 嗨安娜 - 感谢您的回复。将尝试按照建议处理它。 Vaadin 版本是 v20.0.1。
    • 只是为了记录:这种方法奏效了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多