我有一个包含10 ^ 5个数据点的大型数据集。现在我正在考虑与大数据集相关的以下问题:
有没有有效的方法可视化非常大的数据集?在我的情况下,我有一个用户集,每个用户有10 ^ 3项。共有10 ^ 5项。我想一次显示每个用户的所有项目,以便在用户之间进行快速比较。有些人建议使用列表,但我不认为列表是处理这个大数据集的唯一选择。
注意
我想一次显示每个用户的所有项目。
这意味着我想在点击用户时显示所有数据点,当我点击两个用途时,我可以比较数据点之间的差异。
答案 0 :(得分:35)
问题不在于渲染它们。您可以切换到画布或webgl作为渲染部分。您可以找到一些使用canvas和X3DOM与D3数据绑定的示例。但是由于DOM对象的数量会很慢,因此最好将它们分开,就像在parallel coordinates example中一样。此示例还具有渐进式渲染功能,可以加载和渲染所有数据元素。
将它们保存在内存中并在客户端操纵它们也不是问题。 D3经常与Crossfilter一起用于快速数据处理“百万或更多记录”。
对于SVG交互式渲染,10 ^ 5个数据点只是略微过多的点。但是,可视化中的太多数据点通常暗示您具有错误的抽象级别或错误的绘图策略。许多点可能会重叠或视觉融合。那么为什么不聚合这些形状,例如使用热图(重叠点的颜色比例),分箱(hexbin,直方图)或汇总数据集?
如果您想要的是概述,并且比较数据集,您可能需要抽象,例如总结数据集的一些统计数据,然后按需查看详细信息(语义缩放,焦点+上下文,向下钻取)。