2011-10-28 5 views

Répondre

16

Vous avez de la chance. Le graphique Boost peut sérialiser et désérialiser le langage dot (qui est la langue utilisée par GraphViz). Il existe plusieurs exemples dans le livre (gratuit) Boost Graph Library et sur le site.

Voir par exemple: http://www.boost.org/doc/libs/release/libs/graph/doc/write-graphviz.html

Si vous prenez la sortie de l'échantillon sur la page Web précédente et exécutez

dot -Tpng dot > test.png 

Vous obtiendrez quelque chose comme l'image suivante:

enter image description here

Voici un lien direct vers un example using dynamic properties

+0

C'est génial, merci pour votre réponse, je vais pleurer ça. Mais est-il possible de visualiser un graphe en utilisant les arêtes et les sommets de type setS (pas vecS)? Parce que je vois que dans tous les exemples de graphviz le graphe utilise vecS (qui ont un index). – shn

+0

Puisque mon graphe utilise setS pour le vertex, je dois soit fournir une carte de propriétés vertex_index pour mon graphe, soit donner un argument explicite vertex_id à write_graphviz, sinon write_graphviz ne fonctionnera pas. Pouvez-vous me donner un exemple très simple de la façon de fournir une carte de propriétés vertex_index pour mon graphe, ou donner un argument explicite vertex_id à write_graphviz? Mon graphique est défini comme suit: typedef adjacency_list Graphique; Où NodeData et EdgeData sont des structures. – shn

Questions connexes