2010-02-13 4 views
1

Je dois créer un graphe d'espace d'état pour mon cours d'IA, et j'espérais utiliser GraphViz pour le faire (beaucoup plus vite que Dia). La seule chose que je n'arrive pas à comprendre est comment faire une connexion "Et", qui est essentiellement un arc entre deux lignes se connectant au même nœud. Est-ce possible?Relier des arcs entre les lignes dans Dot (GraphViz)

Répondre

1

Oui. Bien qu'il n'y ait pas de syntaxe de point explicite pour cela, voici la façon dont il est presque toujours fait:

# 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] ; 
} 

alt text http://img121.imageshack.us/img121/2547/dotgvziv.png

Questions connexes