如何得到正确表示二叉树的graphviz点

如何得到正确表示二叉树的graphviz点,graphviz,Graphviz,我有下面的点代码 digraph BST { node [fontname="Arial"]; 1 -> 0.4; 0.4 -> 0.19; null0 [shape=point]; 0 -> null0; null1 [shape=point]; 0 -> null1; 0.4 -> 0.21; null2 [shape=point]; 0 -> null2; null3

我有下面的点代码

digraph BST {
    node [fontname="Arial"];
    1 -> 0.4;
    0.4 -> 0.19;
    null0 [shape=point];
    0 -> null0;
    null1 [shape=point];
    0 -> null1;
    0.4 -> 0.21;
    null2 [shape=point];
    0 -> null2;
    null3 [shape=point];
    0 -> null3;
    1 -> 0.6;
    0.6 -> 0.21;
    0.21 -> 0.09;
    null4 [shape=point];
    0 -> null4;
    null5 [shape=point];
    0 -> null5;
    0.21 -> 0.12;
    null6 [shape=point];
    0 -> null6;
    null7 [shape=point];
    0 -> null7;
    0.6 -> 0.39;
    null8 [shape=point];
    0 -> null8;
    null9 [shape=point];
    0 -> null9;
}
这就是输出 问题是我希望
0.21
节点(0.4)
的左子节点,并且希望
节点(0.6),节点(0.4)
0.21
作为两个独立的节点而不是一个节点引用

注意:不要介意空值,它们是自动生成的。稍后将修复它。

我希望我的输出如下所示

DOT代码中应该有哪些更改


-谢谢

您必须将节点名称和标签分开

digraph BST {
    node [fontname="Arial" ];
    l1  [ label = "1" ];
    l21 [ label = "0.4" ];
    l22 [ label = "0.6" ];
    l31 [ label = "0.21" ];
    l32 [ label = "0.19" ];
    l33 [ label = "0.21" ];
    l34 [ label = "0.39" ];
    l41 [ label = "0.09" ];
    l42 [ label = "0.12" ];

    l1  -> { l21 l22 };
    l21 -> { l31 l32 };
    l22 -> { l33 l34 };
    l31 -> { l41 l42 };
}
产生