我正在寻找一个可以提供节点和边缘的库,它可以生成所有节点的坐标列表。但是,应该可以为某些提供固定位置,但不是布局算法应该遵守的所有节点。
到目前为止,我已经尝试过graphviz(fdp,neato),它似乎无法保持某些节点的位置并围绕它们构建布局。
库必须可以与python一起使用,所以它应该是python或c / c ++所以我们可以编写自己的绑定。
下面的图片说明了我正在寻找的内容(这是uDraw项目,它似乎不作为库存在)。
答案 0 :(得分:2)
如果对您有用,您可以在graphviz
反向中执行此操作。为此,您首先绘制右侧图形,然后绘制左侧图形,将节点15,16和17设置为style=invis
。这将为您提供与此处所示相同的布局。
首先绘制左图的一个问题是,软件(dot
或其他东西)自然会尝试绘制一个好看的"没有节点15,16和17的图形,如果稍后需要它们,则可能没有为节点15,16和17留下足够的空间。例如,如果我们试图在节点11和12之间插入节点12a,则在上面所示的图中不存在该节点的空间。另一方面,如果节点12a最初被绘制但不可见,那么软件将为其分配空间,稍后可以将其包括在内。