使用 d3.js 可视化数据组的数据技术

Visualizing data techniques for groups of data using d3.js

我有一个应用程序列表和提供对这些应用程序的访问的服务器,有大量交叉,例如:

Servers 01-09 provide App A, App, B
Servers 05-09 provide App C
Servers 10-14 also provide App A

目前,我在一张 sheet 纸上画了很多方框,其中列出了服务器及其应用程序,它们被分组到服务器 运行 相同的应用程序中。使用上面的例子:一个标有 01-09 的盒子,里面写着 App A 和 App B,并与另一个标有 05-09 的盒子重叠,里面写着 App C。

我想将其转化为 d3 提供的可视化效果(我也在学习 d3),我可以在网站上展示。我想到了一种超级 venn diagram 之类的东西?目标是轻松查看服务器组 运行 相同的应用程序。

有没有其他人遇到过这种可视化问题 - 您使用了什么技术? d3 内置了哪些可用于此实例的内容?

对我来说,最简单的方法是在 table 中,因为你只有两个维度:

| Server | App A | App B | App C |
|--------------------------------|
| 01     |   X   |       |       |
| 02     |       |       |       |
etc

如果您设置为 d3.js(非常合理),我会使用 Co-occurrence graph 垂直服务器和水平应用程序。

或者,您可以尝试 labelled force 使用具有一种形状的应用程序和具有另一种形状的服务器。我认为这不如 table!

可读

在这种情况下,一个选项是使用二分图进行可视化。

https://en.wikipedia.org/wiki/Bipartite_graph

二分图是具有两组不同节点的图,其中同一组的成员之间没有边,并且所有边都从一组到另一组。

在这里您可以将应用程序(A、B、C 等)作为一组,将服务器 (01-14) 作为另一组。

此外,这取决于您希望通过此可视化实现什么。例如,如果您的目的是显示和比较应用程序服务器数量 运行 的服务器负载,则可以使用节点大小对其进行编码。