替换 lineSeries 中的最后一个 Y 值
Replace the last Y value in lineSeries
我想替换动态图表中线系列中的最后一个 X 值,例如,如果添加具有相同 X 的不同 y 值,它会多次绘制图表
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 值上每秒显示实时价格,但移动 x轴仅在 1 分钟后。
截至目前,修改 Line Series 中先前推送的数据的唯一方法是清除所有内容并将修改后的数据添加回去。
在您的情况下,因为它只是经常变化的最后一个数据点,您可以将图表分成两个 LineSeries。
如您所述,第一个 LineSeries 将保存所有已在 X 轴上移动的数据点。
第二个 LineSeries 在任何给定时间只包含两个点,一个是最新的“移动”数据点,另一个是最新的实时价格。每次实时价格变化时,您将清除这两个点,然后将其推送到此辅助线系列。
linechart.clear().add([ latestShiftedDataPoint, latestLivePriceDataPoint ])
这将带来最佳性能,并希望也能如您所愿地发挥作用。
当然,将图表分成两个系列是完全可选的,如果数据点总数不是太高,或者你想简单而不是性能,你当然可以只用一个单个 LineSeries,每次实时价格变化时再次使用清除方法。
我想替换动态图表中线系列中的最后一个 X 值,例如,如果添加具有相同 X 的不同 y 值,它会多次绘制图表
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 值上每秒显示实时价格,但移动 x轴仅在 1 分钟后。
截至目前,修改 Line Series 中先前推送的数据的唯一方法是清除所有内容并将修改后的数据添加回去。
在您的情况下,因为它只是经常变化的最后一个数据点,您可以将图表分成两个 LineSeries。 如您所述,第一个 LineSeries 将保存所有已在 X 轴上移动的数据点。 第二个 LineSeries 在任何给定时间只包含两个点,一个是最新的“移动”数据点,另一个是最新的实时价格。每次实时价格变化时,您将清除这两个点,然后将其推送到此辅助线系列。
linechart.clear().add([ latestShiftedDataPoint, latestLivePriceDataPoint ])
这将带来最佳性能,并希望也能如您所愿地发挥作用。
当然,将图表分成两个系列是完全可选的,如果数据点总数不是太高,或者你想简单而不是性能,你当然可以只用一个单个 LineSeries,每次实时价格变化时再次使用清除方法。