在 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 万个点。如果您只想知道某个点在范围内可见,那么您可以在单个点位于可见范围内时立即中断循环。
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 万个点。如果您只想知道某个点在范围内可见,那么您可以在单个点位于可见范围内时立即中断循环。