0

我正在尝试绘制社交网络

例如,我有一个人 A,他有 5 个追随者,这些追随者和这个人将由一个顶点表示,然后有一条边连接它们。最有可能的是,其中至少有一半是相互关注的,形成了一个大的“网络”。

我尝试在 QuickGraph 中执行此操作,但是遇到了一些问题:

  1. 该图最终看起来更像是一个流程图而不是一个网络,来自 QuickGraph 前面的示例:

在此处输入图像描述

  1. 当我用真实数据进行测试时,图表就变成了一个巨大的、滞后的、意大利面条般的墨水

创建这种图表的最佳方法是什么?

作为参考,我希望制作一个如下所示的图表:

在此处输入图像描述

4

1 回答 1

1

所以你正在使用的数据结构是一个有向图——也就是说,你的节点的边有一个方向,从跟随者到被跟随者。

看起来您正在使用dot来呈现您的图表,如果您的数据有某种开始和结束,这是一种很好的布局方式 - 如果整体感觉早到晚,源到汇,更简单复杂的。

你真的没有那个,你的示例图片更典型的是无向图。同样的人dot也做neato,它让你的图表更接近你想要的图片。

我根本不知道 QuickGraph 的 API,但我也想知道;

  • 更改您正在创建的图形数据结构 - 尝试切换到类似的东西UndirectedGraph,看看是否最终会切换渲染
  • 查看您的渲染方法中是否有选项可以渲染无向图而不是有向图。
于 2019-03-16T12:16:30.813 回答