如何获取LightningChart图表可见区域内序列数据的最小与最大值
有现成的内置方法可以实现,不需要自己遍历全量数据处理,以下是两种场景的实现方式:
获取当前图表可见区域的序列最值
调用序列的getBoundariesFromVisibleRange()方法即可直接返回可见区间内的x、y轴极值,调用示例如下:
// 获取当前可见区域的极值 const visibleBoundaries = series.getBoundariesFromVisibleRange() console.log('可见区域x最小值', visibleBoundaries.x.min) console.log('可见区域x最大值', visibleBoundaries.x.max) console.log('可见区域y最小值', visibleBoundaries.y.min) console.log('可见区域y最大值', visibleBoundaries.y.max)
获取指定时间区间内的序列最值
调用序列的getBoundariesBetween(startX, endX)方法,传入你要查询的x轴区间起止值(时间序列场景下直接传入起止时间戳即可),即可返回对应区间内的极值,调用示例如下:
// 比如查询x轴从100到200区间的极值 const intervalBoundaries = series.getBoundariesBetween(100, 200) console.log('指定区间x最小值', intervalBoundaries.x.min) console.log('指定区间x最大值', intervalBoundaries.x.max) console.log('指定区间y最小值', intervalBoundaries.y.min) console.log('指定区间y最大值', intervalBoundaries.y.max)
补充说明
你当前用setInterval控制仅展示最近100个点的场景,不需要手动对全量数据做切片,LightningChart本身支持存储数十万级别的序列数据也不会影响渲染性能,你可以直接全量添加数据后设置x轴自动滚动到最新数据即可,上述两个极值查询接口的性能不受全量数据体量影响,均为常数时间复杂度查询。
内容的提问来源于stack exchange,提问作者Gracie williams
相关产品推荐
相关产品推荐

