How to force node position (x and y) in graphviz

前端 未结 3 1901
抹茶落季
抹茶落季 2020-11-27 15:12

I am trying to force position of nodes. I have x and y coordinates of my nodes and its also directed graph. I can use the rank=same to handle row (y coordinate), but can\'t

相关标签:
3条回答
  • 2020-11-27 15:38

    I couldn't get the -n flag work with dot -Kfdp.

    I was however able to get it working with neato using the following command:

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

    0 讨论(0)
  • You can use pos attribute (https://www.graphviz.org/doc/info/attrs.html#d:pos), e.g.:

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

    You will also have to specify neato or fdp layout engine, so that dot command-line would be (for fdp):

    dot -Kfdp -n -Tpng -o sample.png sample.dot
    
    0 讨论(0)
  • 2020-11-27 16:00

    Here is an example I found: https://observablehq.com/@magjac/placing-graphviz-nodes-in-fixed-positions

    Essentially the position attribute "pos" can be specified for a node. Only works with neato or fdp layout engines, not dot.

    The ! indicates that the position is an input and should not be altered.

    0 讨论(0)
提交回复
热议问题