Соединение дуг между линиями в Dot (GraphViz) - PullRequest
1 голос
/ 13 февраля 2010

Мне нужно составить граф пространства состояний для моего курса ИИ, и я надеялся использовать GraphViz, чтобы сделать его (намного быстрее, чем Dia). Единственное, что я не могу понять, как это сделать, это как сделать соединение «И», которое в основном представляет собой дугу между двумя линиями, соединяющимися с одним и тем же узлом. Это возможно?

1 Ответ

1 голос
/ 13 февраля 2010

Да. Хотя для этого нет явного синтаксиса точек, вот как это делается почти всегда:

# just graph set-up
digraph new_graph {
ratio = "auto"
mincross = 2.0

# draw some nodes
"001" [shape=box, regular=1, style=filled, fillcolor="#FCD975"] ;
"017" [shape=circle  , regular=1,style=filled,fillcolor="#9ACEEB"   ] ;
"007" [shape=diamond  , regular=1,style=filled,fillcolor="#FCD975"   ] ;
# the key line--creating tiny node w/ no label, no color
# i use this style because it mimics the 'midpoint' style used in Omnigraffle et al.
"LN01" [shape=diamond,style=filled,label="",height=.1,width=.1] ;

# draw the edges
"001" -> "LN01" [dir=none,weight=1] ;
"007" -> "LN01" [dir=none,weight=1] ;
"LN01" -> "017" [dir=none, weight=2] ;
}

альтернативный текст http://img121.imageshack.us/img121/2547/dotgvziv.png

...