I am using graphviz to draw a construction of a tree step by step.
It shows like the following:
The tree should show from top to down, not left to right.
The constructing code of the above image:
digraph test1 {
subgraph cluster000005 {
node_1 [label="2, 4"]
node_2 [label=1]
node_1 -> node_2
node_3 [label=3]
node_1 -> node_3
node_4 [label=5]
node_1 -> node_4
label="add 5"
}
subgraph cluster000004 {
node_5 [label=2]
node_6 [label=1]
node_5 -> node_6
node_7 [label="3, 4"]
node_5 -> node_7
label="add 4"
}
subgraph cluster000003 {
node_8 [label=2]
node_9 [label=1]
node_8 -> node_9
node_10 [label=3]
node_8 -> node_10
label="add 3"
}
subgraph cluster000002 {
node_11 [label="1, 2"]
label="add 2"
}
subgraph cluster000001 {
node_12 [label=1]
label="add 1"
}
rankdir=LR
}
Is this what you are after?
This:
digraph test1 {
// added "invisible clusters" to get the "real clusters"
// to align vertically
// don't understand why this was necessary
subgraph clusterInvis1 {
subgraph cluster000005 {
node_1 [label="2, 4" ]
node_2 [label=1]
node_3 [label=3]
node_4 [label=5]
node_1 -> node_2
node_1 -> node_3
node_1 -> node_4
label="add 5"
}
subgraph clusterInvis2 {
subgraph cluster000004 {
node_5 [label=2]
node_6 [label=1]
node_7 [label="3, 4"]
node_5 -> node_6
node_5 -> node_7
label="add 4"
}
subgraph cluster000003 {
node_8 [label=2 ]
node_9 [label=1]
node_10 [label=3 ]
node_8 -> node_9
node_8 -> node_10
label="add 3"
}
peripheries=0 // place here for cluster only (not nodes)
}
peripheries=0 // place here for cluster only (not nodes)
}
subgraph cluster000002 {
node_11 [label="1, 2" ]
label="add 2"
}
subgraph cluster000001 {
node_12 [label=1 ]
label="add 1"
}
//rankdir=LR
edge [style=invis]
node_12 -> node_11 -> node_8
// shorthand to define two edges
{node_9 node_10} -> node_5
{node_6 node_7} -> node_1
}