64

我正在尝试强制节点的位置。我有节点的 x 和 y 坐标以及它的有向图。我可以使用 rank=same 来处理行(y 坐标),但不知道如何处理列(x 坐标)。

4

3 回答 3

73

您可以使用pos属性(https://www.graphviz.org/doc/info/attrs.html#d:pos),例如:

xxx [
    label = xxx
    pos = "0,0!"
]

yyy [
    label = yyy
    pos = "10,10!"
]

您还必须指定neatofdp布局引擎,以便dot命令行将是(对于 fdp):

dot -Kfdp -n -Tpng -o sample.png sample.dot
于 2011-03-17T19:33:59.273 回答
5

这是我发现的一个例子: https ://observablehq.com/@magjac/placing-graphviz-nodes-in-fixed-positions

本质上,可以为节点指定位置属性“pos”。仅适用于neato 或fdp 布局引擎,不适用于dot。

表示该!位置是一个输入,不应更改。

于 2019-10-10T17:05:44.633 回答
0

我无法-n使用dot -Kfdp.

但是,我能够使用以下命令使其与neato一起工作:

neato sample.dot -n -Tpng -o sample.png

于 2016-07-06T10:41:01.077 回答