d3 可视化数据的最佳实践?

d3 Best practices to visualize data?

我正在做一个项目,使用 d3 在散点图中可视化数据点。由于是web应用,区域有限,很多点重叠。总共有 20k 个点,我允许用户使用画笔(及其范围)放大区域,但即使放大,仍然有大量的点重叠。这种情况的一个例子:

有什么好的方法可以仍然可视化底层点,以增强对点的看法或感知?我在考虑是否可以使用透明度,但我不知道是否可以。

可能值得注意的是,所有点都代表基因,因此将它们聚类在表示方面可能不是很合乎逻辑。

如果对数据点的数量感兴趣,那么您可以聚类 点(在client/server 一侧)。如果地图有太多标记 (example cluster map),您通常会看到这种模式。


编辑:

我仍然不太确定我的方向是否正确。要可视化点的数量,您可以使用 3D 可视化。这是来自 Software Cities 项目的想法:

您基本上可以渲染点在平面上的位置并创建垂直圆柱体 - 同一点上的点越多,圆柱体越高。

我建议尝试 d3 的 fisheye plug-in。它允许您使用鼠标缩放和扭曲比例,让您放大区域。

您可以在此处的页面下方看到它与 scatter/bubble 图表一起使用的示例:http://bost.ocks.org/mike/fisheye/

此外,如果你有重叠,我会增加不透明度,这样你就可以看到哪些点有很多重叠,哪些点没有。

这是我使用鱼眼和不透明度创建的具有非常聚集点的示例图:http://crclayton.com/projects/fisheye/

它还允许您将鼠标悬停在各个点上以查看包含有关它们的更多详细信息的工具提示。