微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

替换 lineSeries 中的最后一个 Y 值

如何解决替换 lineSeries 中的最后一个 Y 值

我想在动态图表中替换线系列中的最后一个 X 值,例如,如果添加不同的 y 值与相同的 X ,它会多次绘制图表

  linechart.add({ x: 100,y: 20 } )
  linechart.add({ x: 100,y: 30 } )
  linechart.add({ x: 100,y: 32 } )
  linechart.add({ x: 100,y: 25 } )

但是当我运行类似上面的东西时,我希望最终的折线图应该只从 20 到 25。我需要这个动态图表,它在最后一个 X 值上每秒显示实时价格,但仅在 1 分钟后移动 x 轴。

解决方法

到目前为止,修改 Line Series 中先前推送的数据的唯一方法是清除所有内容并将修改后的数据添加回来。

在您的情况下,因为它只是经常变化的最后一个数据点,您可以将图表分成两个 LineSeries。 第一个 LineSeries 将保存所有已在 X 轴上移动的数据点,如您所述。 第二个 LineSeries 在任何给定时间只保存两个点,一个是最新的“移动”数据点,另一个是最新的实时价格。每次实时价格发生变化时,您将清除然后将这两个点推送到该次要线系列。

linechart.clear().add([ latestShiftedDataPoint,latestLivePriceDataPoint ])

这将带来最佳性能,并希望也能如您所愿。

当然,将图表分成两个系列是完全可选的,如果数据点的总数不是太高,或者如果您想看重简单性而不是性能,当然可以只用一个 LineSeries 来完成,每次实时价格变化时再次使用 clear 方法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。