graph - 可视化 - 与项目值成比例的圆圈大小

标签 graph visualization graphviz diagram dot

我对 Graphviz 越来越熟悉,想知道是否可以生成如下所示的图表/图表(不确定你叫它什么)。如果没有,有人知道什么是好的开源框架吗? (首选,C++,Java 或 Python)。

enter image description here

最佳答案

根据 Many Eyes ‌ ,这是一个气泡图。他们说:

It is especially useful for data sets with dozens to hundreds of values, or with values that differ by several orders of magnitude.

...

To see the exact value of a circle on the chart, move your mouse over it. If you are charting more than one dimension, use the menu to choose which dimension to show. If your data set has multiple numeric columns, you can choose which column to base the circle sizes on by using the menu at the bottom of the chart.


因此,任何带有大量气泡的演示文稿(尤其是带有许多小气泡)都必须是动态的才能响应鼠标。
我对气泡图的通常做法是显示三个或四个变量(x、y 和另一个通过气泡大小的变量,可能还有另一个带有气泡颜色或阴影的变量)。使用动画,您也可以显示随着时间的推移的发展 - 参见 GapMinder . FlowingData提供了一个很好的示例,其中包含有关如何在 R 中制作静态气泡图的教程。
但是,在问题中显示的示例中,气泡的位置似乎在某种程度上使相似的公司靠近在一起。即便如此,我还不清楚确切的设计标准。例如,我曾预计大众汽车比辉瑞更接近通用汽车(如果使用某种公司相似性衡量标准来放置气泡),但在此图中并非如此。
您可以使用 Graphviz 来生成气泡图的静态版本,但这样做会涉及很多工作。您必须对数据进行预处理以计算相似度矩阵,从该矩阵中获取边权重,为每个气泡分配颜色和大小,然后让预处理脚本编写隐藏所有边的 Graphviz 文件,并通过 neato 运行 Graphviz 文件。绘制它。

关于graph - 可视化 - 与项目值成比例的圆圈大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18677902/

相关文章:

java - Java Swing 中的图形绘制仅绘制点

apache-spark - Spark 流可视化

javascript - 如何在D3.js中的svg上显示直线?

json - Vega 根据另一列值计算相对变化

doxygen - 使用 doxygen 创建(通过 graphviz 的点)整个程序的图形表示

graphviz - 在graphviz中生成邻接矩阵

python - 基于顶点名称 Python igraph 执行图的并集

android - 如何停止AChartEngine动态折线图沿y轴滚动?

python - networkx edge-to-node 节点到边缘表示

visualization - Graphviz:左右子图,左右内部子图