Visualizando con Graphviz el meme de Enjut@ Mojamut@
Publicado el 9-Julio-2008
Este post es la continuación de la entrada “Juntos pero no revueltos” y aquí se publicarán algunas visualizaciones estáticas del meme de Enjut@ Mojamut@ y el proceso que he seguido para obtenerlas. El objetivo es mostrar que visualizar está al alcance de todos los que quieran ponerse a ello.
El pasado mes de marzo en un post titulado “Graphviz” se describió esta herramienta ilustrándola con varios ejemplos de visualización realizados por Gustavo Romero, estudiante de Telecomunicaciones en la Universidad Carlos III. Basándome en su experiencia (tuvo la amabilidad de pasarme sus fuentes) la he aplicado al meme de Enjut@ Mojamu@ haciendo algunos cambios en el tipo de herramienta de filtrado de datos. A continuación se describe el procedimiento en tres pasos:
Preparar datos de origen: Los datos del meme recogidos en una hoja de cálculo se salvan en formato texto separados por tabulaciones.
Transformar datos a formato dot: Se aplica un filtro awk al fichero de texto separado por tabulaciones y se genera un fichero en formato dot.
Generar el gráfico: Se procesa el fichero dot con el programa Graphviz.

Se han realizado tres visualizaciones que se presentan a continuación indicando el filtro awk aplicado, el fichero dot generado y el tipo de visualización elegida. En el post de Graphviz se explican los tipos de visualización de esta herramienta.
Al pulsar en las imágenes aparecerán en su tamaño real.
Grafo libre: Esta visualización corresponde al dibujo de la propagación del meme sin ninguna restricción.
|
|
![]() |
Grafo por nivel de propagación: esta visualización corresponde al dibujo de la propagación del meme en la que se ha forzado a que los nodos se sitúen en su nivel de propagación.
|
![]() |
Grafo por tiempo de propagación: esta visualización corresponde al dibujo de la propagación del meme en la que se ha forzado a que los nodos se sitúen en su día publicación.
|
Entornos de ejecución
| Linux | Utilizar el comando awk y bajarse el ejecutable para Graphviz para linux. |
| Windows | Bajarse el awk para Windows y el Graphviz para Windows |
Graphviz
Publicado el 2-Marzo-2008
El contenido de este post y la imágenes que se presentan, provienen del PFC que está realizando Gustavo Romero, alumno de la Universidad Carlos III, sobre visualización.
Graphviz es una aplicación de visualización de gráficos de código abierto que incluye un gran número de programas de trazado de grafico; además cuenta con interfaces interactivas y vía web, así como herramientas auxiliares y bibliotecas de funciones, existiendo versiones tanto para Windows como para Linux.
Los programas de diseño de Graphviz parten de descripciones de gráficos en texto plano, lo que les permite ser editados por los usuarios y no necesitar un programa adicional para ello. Los diagramas son realizados en varios formatos: imágenes (jpg o png), SVG (Scalable Vector Graphics, gráficos vectoriales en dos dimensiones) para páginas web, Postscript para ser incluido en PDFs u otros documentos, o también pueden ser representados en un navegador interactivo, donde el usuario pueda editarlo (Graphviz también soporta GXL, Graph eXchange Language).
Graphviz cuenta con muchas características para personalizar los diagramas tales como opciones para etiquetas, colores, fuentes, diseños en forma de tabla, estilos de línea, enlaces y formas. En la práctica, los gráficos suelen ser generados partiendo de fuentes externas de datos, pero también puede hacerse manualmente, bien editando un fichero de texto plano en lenguaje DOT o bien mediante un editor gráfico.
Dentro del paquete Graphviz se encuentran distintos programas para generar gráficos en función de unos parámetros determinados. A continuación se explican cada uno de ellos y como ejemplo se visualizará las citas de los Blogs de periodistas de la tesis de Tíscar Lara, que ya se representaron en la primera maqueta de BarriBlog.
| Imagen | Programa |
| dot: realiza dibujos “jerárquicos” o por capas de gráficos directos. El algoritmo de representación trata de colocar todos los enlaces en la misma dirección (de arriba abajo o de izquierda a derecha) y después trata de evitar los cruces entre enlaces, y por último, reducir sus longitudes. | |
| neato: crea “trazados elásticos”. emplea el algoritmo Kamada-Kawai, que es equivalente a un escalado estadístico multidimensional. | |
| fdp: crea “trazados elásticos”. Implementa el heurístico Fruchterman-Reingold que incluye un solucionador por cuadrículas para manejar los gráficos más grandes y los grupos dentro de los gráficos indirectos | |
| twopi: diagrama radial. Se sitúan los nodos en círculos concéntricos dependiendo de su distancia a un nodo raíz dado. |








