增量图的节点图布局库

Rem*_*emo 10 layout graph graphviz nodes

我正在寻找一个可以提供节点和边缘的库,它可以很好地生成所有节点的坐标列表.但是,应该可以为布局算法应该遵守的一些不是所有节点提供固定位置.

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

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

下面的图片说明了我正在寻找的内容(这是uDraw项目,它似乎不作为库存在).

uDraw增量布局

Sim*_*mon 2

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

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