layout - 增量图的节点图布局库

标签 layout graph nodes graphviz

我正在寻找一个可以提供节点和边的库,它会生成一个布局良好的所有节点的坐标列表。但是,应该可以为布局算法应该尊重的一些但不是所有节点提供固定位置。

到目前为止,我已经尝试过 graphviz(fdp,neato),它似乎无法保持某些节点的位置并围绕它们构建布局。

该库必须可与 python 一起使用,因此它应该是 python 或 c/c++,以便我们可以编写自己的绑定(bind)。

下面的图片准确地说明了我正在寻找的东西(这是 uDraw 项目,它似乎不作为一个库存在)。

uDraw incremental layout

最佳答案

您可以在 graphviz 中执行此操作相反,如果这对您有用。为此,您将首先绘制右侧图,然后绘制左侧图,其中节点 15、16 和 17 设置为 style=invis .这将为您提供与此处显示的布局大致相同的布局。

首先绘制左侧图表时我可以察觉到的一个问题是,软件(dot 或其他东西)自然会尝试绘制没有节点 15、16 和 17 的“漂亮”图表,并且可能不会离开如果以后需要,可以安装节点 15、16 和 17 的足够空间。例如,如果我们尝试在节点 11 和 12 之间插入节点 12a,则上图中的该节点将没有空间。另一方面,如果节点 12a 最初被绘制但不可见,则软件将为它分配空间,以后可以将其包含在其中。

关于layout - 增量图的节点图布局库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16792847/

相关文章:

r - 在 R 中绘制折线图的交点

C++ - 如何创建具有更改名称的类的实例

c++ - 如何在 C++ 中使变量成为未确定的类型?

c++ - 如何从内存中删除动态添加的节点?

r - 控制流体的高度R发光的行

css - 像乐谱一样灵活的图像缩放/拉伸(stretch)

java - GridBagLayout 动态使用面板内的额外空间

android - 如何以编程方式更改 EditText 的外观?

sql - 东方数据库 SQL : How to find vertices and create edges between them?

email - Jenkins : Sending Build Trend Graph as email