使用x-> y-> z表示法指定关系时如何添加标签?

Mar*_*nus 2 dot graphviz

使用以下格式指定图形时,是否可以添加单个标签?

digraph {
    1 -> 2 -> 3 -> 1
}
Run Code Online (Sandbox Code Playgroud)

And*_*ahl 5

如果你的意思是节点上的标签,可以这样做:

digraph { 
    1 [label="A"]
    2 [label="B"]
    3 [label="C"]
    1 -> 2 -> 3 -> 1 
 }
Run Code Online (Sandbox Code Playgroud)

如果要标记边缘,则必须将它们拆分为:

digraph { 
    1 -> 2 [label="A"]
    2 -> 3 [label="B"]
    3 -> 1 [label="C"]
}
Run Code Online (Sandbox Code Playgroud)

您可以1 -> 2 [label="x"] -> 3 [label="y"]...点规范中找到无法执行此操作的原因:

attr_list   :   '[' [ a_list ] ']' [ attr_list ]
a_list  :   ID [ '=' ID ] [ ',' ] [ a_list ]
edge_stmt   :   (node_id | subgraph) edgeRHS [ attr_list ]
edgeRHS     :   edgeop (node_id | subgraph) [ edgeRHS ]
Run Code Online (Sandbox Code Playgroud)

每个人edge_stmt只能有一个attr_list.

  • 有一个有趣的案例:如果一个节点链接到多个节点,并且所有这些边共享相同的标签,你可以这样做:`1 - > {2; 3;} [label ="abc"]` (2认同)