解决小图中简单的 D3.js 交叉边
Posted
技术标签:
【中文标题】解决小图中简单的 D3.js 交叉边【英文标题】:Solve simple D3.js crossing edges in small graphs 【发布时间】:2021-05-01 16:06:58 【问题描述】:我正在开发一个 Web 应用程序,可让您在交互式图表中加入点。我正在使用 D3.js,带有 force-directed 模块。
但我有一个非常特殊的问题:在小型网络中越界。
我读过这篇文章:D3.js force directed graph, reduce edge crossings by making edges repel each other,但它是关于更大的网络的。
我的网络是这样开始的:
然后,用户将创建边缘,留下如下内容:
问题是我发现了很多可以避免的交叉边缘。这是一个典型的例子:
我该如何解决这个问题?我知道有些案件是无法解决的。但是我的网络将有很少的节点,而且大多数时候可以在不交叉边缘的情况下绘制它们。
如何尝试在这个小型网络中找到最佳布局?提前致谢。
【问题讨论】:
【参考方案1】:Sugiyama Algorithm 和 Gansner et al. 提供边缘最小化。您可以使用多个跨不同开源图形库的 javascript 实现
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review以上是关于解决小图中简单的 D3.js 交叉边的主要内容,如果未能解决你的问题,请参考以下文章