4

我对 Graphviz 越来越熟悉,想知道是否可以生成如下图/图形(不知道你怎么称呼它)。如果没有,有谁知道有什么好的开源框架可以做到这一点?(首选、C++、Java 或 Python)。

在此处输入图像描述

4

1 回答 1

3

根据Many Eyes的说法,这是一张气泡图。他们说:

它对于具有数十到数百个值或具有几个数量级差异的值的数据集特别有用。

...

要查看图表上圆圈的确切值,请将鼠标移到它上面。如果您要绘制多个维度的图表,请使用菜单选择要显示的维度。如果您的数据集有多个数字列,您可以使用图表底部的菜单选择圆形大小的基础。

因此,任何包含大量气泡(尤其是包含许多小气泡)的演示文稿都必须是动态的才能响应鼠标。

我通常使用气泡图的做法是显示三个或四个变量(x、y 和另一个通过气泡大小的变量,可能还有另一个具有气泡颜色或阴影的变量)。使用动画,您也可以显示随着时间的推移的发展 - 请参阅GapMinderFlowingData提供了一个很好的示例,其中包含有关如何在 R 中制作静态气泡图的教程。

但是,在问题中显示的示例中,气泡的位置似乎在一定程度上使相似的公司靠近。即便如此,我也不清楚确切的设计标准。例如,我预计大众汽车比辉瑞公司更接近通用汽车(如果使用某种公司相似性度量来放置气泡),但在这张图中并非如此。

您可以使用 Graphviz 生成气泡图的静态版本,但这样做会涉及很多工作。您必须预处理数据以计算相似度矩阵,从该矩阵中获取边权重,为每个气泡分配颜色和大小,然后让预处理脚本编写隐藏所有边的 Graphviz 文件并运行 Graphviz 文件neato以绘制它.

于 2013-09-08T21:24:04.530 回答