区域范围系列的 setDataCleaningThreshold

问题描述

我在 3.00 版本中看到有一种叫做 setDataCleaningThreshold 的东西,你能说出它的好处吗,我认为它是为了更快地加载渐进式图表。

const dcThreshold = xVal - 100;
lineseries.setDataCleaningThreshold(dcThreshold);
ArearangeSeries.setDataCleaningThreshold(dcThreshold); // not working

但它不适用于区域范围系列。

Area range Series 中也有 setMaxPointCount,两者有什么区别?

我的图表是渐进式的,我想清除不在视图中的图表并使图表更快。最好的方法是什么?我可以使用 dispose 方法吗?

另外,我们可以将图表向左拖动 click + mouse drag. 吗?我看到发布了 Axis 鼠标和触摸事件 API 之类的东西。你能告诉我用它可以实现什么吗。

(现在是右键单击 + 拖动)。

解决方法

它不适用于区域范围系列。

setDataCleaningThreshold 是新的 API,将慢慢引入现有系列。在 v3.0 中,它仅针对 LineSeries 及其衍生产品(如 PointLineSeries)引入。

为防止混淆,请参阅官方 API 文档以查看是否支持某些方法 - 例如,如果我们查看 AreaSeries,它不是 API 的一部分。

Area range Series 中还有 setMaxPointCount ,是什么 两者的区别?

setMaxPointCountsetDataCleaningThreshold 为相同的目的而存在,并有效地实现相同的目标,但它们基于略有不同的想法。

setMaxPointCount 通过指定要保留在数据“头部”的数据点数量来配置自动数据清理。

setDataCleaningThreshold 通过指定渐进轴上的坐标来配置自动数据清理。可以在方便时清除该坐标“后面”的所有数据点。此配置略优于“最大点数”,因为它对渲染引擎更方便,而且它的行为也更合乎逻辑 - 如果您通过单击鼠标左键拖动到图表 XY 的左上角来应用 fit() 操作,轴将停在数据清理阈值,而不是显示所有数据,包括清理阈值后面的数据。

这两种方法暂时都支持,两者的使用应该没有太大的区别,所以我建议使用你觉得更舒服的那个。

最终数据清理配置将安定下来到一个更简单的 API,但现在我们仍然感觉不同的用户如何使用库,以及我们如何最好地优化性能 - 所以 API 有点混乱(如,有两种方法可以达到相同的目的)。

我的图表是渐进式的,我想清除已淘汰的图表 查看并更快地制作图表。最好的方法是什么?

对于 AreaSeries setMaxPointCount 是唯一的自动选项。 请参阅updated documentation on the method了解详情。

您也可以按照您的建议使用 dispose 方法实施手动数据清理。 但是,请先查看自动数据清理是否适合您。