在 LightningChartJs 中获取一系列的可见点

Get visible points for a series in LightningChartJs

LightningChartJs 中是否存在从图表中的线或点系列获取所有 visible points 的函数?

如果我缩放图表,如果没有可用的可见点,我想显示一些东西。在某些情况下,我的数据出现中断。

现在我必须检查范围并过滤该范围内的所有点,但这似乎不是很有效。我想 LC 知道所有可见点并且可以给我。

我非常欢迎任何关于这个主题或其他解决方案的想法。谢谢

LightningChart JS 不会跟踪随时可见的数据点。所以你所使用的解决问题的方法是目前最好的方法。

像这样的东西似乎性能还算不错。

function getDataInRange(data, rangeStart, rangeEnd){
    const inRangeData = []
    const dataLength = data.length
    let curPoint
    for(let i = 0; i < dataLength; i += 1){
        curPoint = data[i]
        if(curPoint.x >= rangeStart && curPoint.x <= rangeEnd){
            inRangeData.push(curPoint)
        }
    }
    return inRangeData
}

在我的个人机器上,它可以在 ~10ms ± 2ms 内处理 100 万个点。如果您只想知道某个点在范围内可见,那么您可以在单个点位于可见范围内时立即中断循环。