Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Make graphviz nodes left align

I want the nodes in the second column (C and E) to left align, rather than center.

digraph left {
    graph [rankdir="LR", splines=ortho];
    node [shape=record];

    l1 [label="A\l|B\l"];
    l2 [label="C\l|short\l"];
    l3 [label="E\l|long long text\l"];

    l1 -> l2;
    l1 -> l3;
}

enter image description here

I have seen this question.

But the suggested method of using constant width for nodes is not suitable for me. I want to have them different widths depending on corresponding label widths.

like image 802
Masroor Avatar asked Oct 24 '14 04:10

Masroor


1 Answers

It seems that the node position in a graph is in all situations calculated from it's center. Until there is no other implementation, the only way to achieve an "aligned" look-a-like is to use a fitting width.

digraph left {
    graph [rankdir=LR splines=ortho]
    node [shape=record]

    l1 [label="A\l|B\l"]
    l2 [label="C\l|short\l" width=1.3]
    l3 [label="E\l|long long text\l"]

    l1 -> l2
    l1 -> l3
}

results in this: enter image description here

like image 155
CodeFreezr Avatar answered Nov 29 '22 19:11

CodeFreezr