调用chart.zoom()后释放X轴及时序图数据清理问题咨询
问题1:恢复X轴自动滚动
要恢复X轴的自动滚动行为,只需重新对X轴设置滚动策略即可——手动调用zoom会中断progressive滚动的自动执行逻辑。直接调用X轴实例的setScrollStrategy方法,重新传入AxisScrollStrategies.progressive:
// 针对默认X轴 chart.getDefaultAxisX().setScrollStrategy(AxisScrollStrategies.progressive) // 若使用自定义X轴,替换为你的轴实例 // customXAxis.setScrollStrategy(AxisScrollStrategies.progressive)
执行此操作后,X轴会恢复自动跟随最新数据滚动的状态,无需双击轴触发。
问题2:数据清理配置调整
你对minDataPointCount的作用存在误解:该参数的核心逻辑是仅当数据点总数超过设定值时,才会启动清理逻辑,且清理时会保证至少保留设定数量的点;如果所有数据点都处于当前视图范围内,即使总数远超设定值,也不会触发清理。
要实现“始终保留至少120k个点,同时清理无需渲染的旧数据”,需要调整数据清理配置:
- 设置
minDataPointCount: 120000:确保无论如何都至少保留120k个数据点; - 显式开启
cleanOutOfView: true:强制清理当前视图范围外的旧数据; - 若需要严格限制数据点总数不超过120k(即使视图内的点数量超过该值),可同时添加
maxDataPointCount: 120000,此时会先清理视图外的旧数据,若仍超出上限,则删除最早的点。
示例配置代码:
series.setDataCleaning({ minDataPointCount: 120000, maxDataPointCount: 120000, cleanOutOfView: true })
另外,数据清理默认在添加新数据时自动触发,如果是一次性加载大量历史数据,可手动调用series.cleanData()立即执行清理操作。
内容的提问来源于stack exchange,提问作者td2thinh
相关产品推荐
相关产品推荐

