我正在使用力导向布局绘制图形,问题是创建的图形是随机且不可预测的方向,这使得查看它们有些混乱。例如,假设节点 A 是两个独立图 G1 和 G2 的成员。使用力导向布局,节点 A 最终可能位于 G1 的左侧,但位于 G2 的右侧。

现在,我试图通过在应用图形布局算法后以确定的方式自动旋转图形来减少混乱。人们可以计算出 最小外接矩形 为此,但如果旋转算法可以包含一些有关顶点和边的附加信息,那就更好了。

在这种情况下,每个顶点都是一个带有时间戳和字数的文档,边代表文档之间的无向和有向关系。也许有一种方法可以旋转图表,使较旧的文档集中在左侧,而较新的文档集中在右侧?与链接相同:箭头应该更多地指向右侧而不是左侧。这听起来像是一个合理的方法,但我不知道如何计算这样的东西(谷歌也没有真正帮助)。

笔记:

  • 我认为有一些图形布局算法可以处理旋转,但我更喜欢涉及力导向布局的解决方案。
  • 可以让用户手动旋转图形,但这需要保存图形方向,这是我希望避免的事情,因为文档数据库中没有空间。
有帮助吗?

解决方案

您可以使用

  • 动态力导向算法,保留帧之间用户的心理图(例如,运动中的图形绘制,图算法与应用杂志 (JGAA), 6(3), 353–-370, 2002),或
  • 普罗克拉斯特斯分析 平移、旋转和缩放框架,以便保留“地标点”的相对位置。

其他提示

您可以使用使用种子生成随机数的布局。尝试一下 胡一凡多级算法格菲.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top