【问题标题】:Reducing lag when plotting large data sets on iOS Charts在 iOS 图表上绘制大型数据集时减少延迟
【发布时间】:2019-12-17 11:58:48
【问题描述】:

我正在使用 iOS 图表 (https://github.com/danielgindi/Charts) 来可视化一些数据集。我需要能够可视化包含 400 万个加点的大型数据集并与之交互。但是,在图表呈现之前和之后尝试与数据进行交互时,我遇到了明显的延迟。

起初,我根本无法显示数据,但通过将图表类型从折线图切换为散点图,我找到了解决办法。

现在我能够可视化数据集,但是当我单击图表的特定区域时,加载图表需要大约 30 秒,而每个标记大约需要大约 10 秒才能弹出。缩放功能也明显延迟。

我已经在较小的数据集上尝试了这些功能,并确认它们在数据较少时按预期工作。

如果有帮助的话,代码结构如下:

Populate dataPoints with X/Y coordinates

Initialize ScatterChartDataSet with dataPoints

Initialize ScatterChartData object with the set

Set graph.data equal to the data object

所以到最后,我希望能够使用图表可视化大约 400 万个数据点,并在没有明显延迟的情况下启用用户交互。关于如何加快速度的任何想法?提前谢谢!

【问题讨论】:

    标签: swift optimization charts bigdata lag


    【解决方案1】:

    当您尝试在屏幕上绘制整个数据集时,我认为您无法加快渲染速度。无论如何这都是徒劳的,因为你不会看到所有的数据点——你有 400 万个点,但最多只有几千个像素。我认为你有两个选择:

    使用 setVisibleXRangeMaximum() 限制可见数据的范围,并让用户滚动浏览数据

    -或-

    自己将数据点抽取到合理数量的可显示点。

    【讨论】:

      猜你喜欢
      • 2019-12-12
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多