0

我有自定义控件 - 大小为 300x300 像素的图表,其中包含超过一百万个点(可能更少)。很明显,现在他的工作非常缓慢。我正在寻找算法,它只显示几个点,视觉差异最小。

我有一个指向具有我需要的功能的组件的链接(200 万点演示):

对于如何实现这种功能的任何数学、链接或想法,我将不胜感激。

4

2 回答 2

3

如果我正确理解您的问题,那么您正在寻找一个数据集的图表,其中您有大约 1M 点,但图表的水平分辨率要小得多?如果是这样,您可以对数据集进行下采样以获取可用 x 值的数量。如果您的数据以相等的间隔排序,您可以提取每 N 个点并绘制它。选择 N 使得点数是分辨率的两倍(在这种情况下,N=2000 将为您显示 500 个点)。

如果间隔彼此非常不同(不规则间隔),您可以使用多项式或样条曲线或任何其他适合的方法来近似您的图形,然后从该近似值中插入 300-600 个点。

编辑:

根据数据的性质,当您简单地对每个 N't 点进行采样时,最终可能会出现混叠伪影。可能有更好的方法来解决这个问题,但同样 - 这取决于想要绘制的内容。

于 2010-12-30T19:48:01.220 回答
-1

您可以随时购买控件 - 它正在出售!

John-Daniel Trask(Mindscape 的联合创始人;-)

于 2011-01-07T07:25:34.300 回答