2011-10-28 10 views

Respuesta

16

Estás de suerte.

El gráfico de Boost se puede serializar y deserializar del lenguaje dot (que es el utilizado por GraphViz). Hay varios ejemplos en el libro (gratuito) de Boost Graph Library y en el sitio.

Véase, por ejemplo: http://www.boost.org/doc/libs/release/libs/graph/doc/write-graphviz.html

Si se toma la salida de la muestra en la página anterior y ejecutar

dot -Tpng dot > test.png 

Usted obtendrá algo así como la siguiente imagen:

enter image description here

Aquí hay un enlace directo a un example using dynamic properties

+0

Eso es increíble, gracias por su respuesta, voy a hacer eso. ¿Pero es posible visualizar un gráfico usando bordes y vértices del tipo setS (no vecS)? Porque veo que en todos los ejemplos de graphviz el gráfico usa vecS (que tienen un índice). – shn

+0

Como mi gráfico usa setS para vertex, debo proporcionar un mapa de propiedades vertex_index para mi gráfico, o dar un argumento explícito de vertex_id para write_graphviz, de lo contrario write_graphviz no funcionará. ¿Puede darme un ejemplo muy simple de cómo proporcionar un mapa de propiedades vertex_index para mi gráfico, o dar un argumento vertex_id explícito a write_graphviz? Mi gráfico se define como: typedef adyacencia_list Graph; Donde NodeData y EdgeData son estructuras. – shn

Cuestiones relacionadas