Как добавить метки при указании отношений с помощью нотации x-> y-> z? - PullRequest
2 голосов
/ 19 мая 2011

Есть ли способ добавить отдельные метки при указании графика в следующем формате?

digraph {
    1 -> 2 -> 3 -> 1
}

1 Ответ

5 голосов
/ 19 мая 2011

Если вы имеете в виду метки на узлах, это можно сделать так:

digraph { 
    1 [label="A"]
    2 [label="B"]
    3 [label="C"]
    1 -> 2 -> 3 -> 1 
 }

Если вы хотите пометить края, вы должны разделить их следующим образом:

digraph { 
    1 -> 2 [label="A"]
    2 -> 3 [label="B"]
    3 -> 1 [label="C"]
}

Причину, по которой вы не можете сделать что-то вроде 1 -> 2 [label="x"] -> 3 [label="y"]..., можно найти в спецификации dot :

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 ]

Каждый edge_stmt может иметь только один attr_list.

...