chart.js中的动态更新时间数据将冻结图表

问题描述 投票:0回答:1

我正在通过ng2-charts使用chart.js来显示简单的折线图,该折线图上填充了X值为时间戳的动态数据。因此,我正在使用chart.js的time cartesian axis

当我开始将数据推入图表时,一切都很好,但我想将显示的数据量限制为最大值,因此我实现了一种简单的机制,其中最老的元素在填充时会从数组中删除。] >

此行为似乎使图表冻结,结果显示为bug

问题显示在此堆栈闪电中:只需等待几秒钟,使数组具有三个值(最大值):

https://stackblitz.com/edit/ng2-charts-line-template-gzhikq

如果我从chart.js中删除“时间”配置并手动输入标签,则不会出现问题(但这不是我想要的!)。

https://stackblitz.com/edit/ng2-charts-line-template-rs6enh

因此问题似乎与时间轴的使用有关。我已经尝试了上述错误中解释的解决方案,但均无效果(可能是因为它们处理的是症状而不是根本原因)。非常感谢您的帮助。

我正在通过ng2-charts使用chart.js来显示简单的折线图,该折线图上填充了X值为时间戳的动态数据。因此,当我启动时,我使用的是chart.js的时间笛卡尔轴。

angular chart.js ng2-charts
1个回答
0
投票

在代码中,将元素添加到data数组,并在超过三个条目的限制后立即删除最旧的元素。这种方法的问题在于,Angular不会注意到data数组中的更改,因为它的引用没有更改,并且其大小保持不变。

© www.soinside.com 2019 - 2024. All rights reserved.