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:

icon_no1.gif

Preparar datos de origen: Los datos del meme recogidos en una hoja de cálculo se salvan en formato texto separados por tabulaciones.

icon_no2.gif 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.

icon_no3.gifGenerar el gráfico: Se procesa el fichero dot con el programa Graphviz.

flecha.jpg

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.

precedencias.png

Grafo libre: Esta visualización corresponde al dibujo de la propagación del meme sin ninguna restricción.

Comando para generar el fichero dot

precedencias-nivel-mini.jpg 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.

Comando para generar el fichero dot

precedencias-tiempo-mini1.jpg 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.

Comando para generar el fichero dot

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
bajo la categoría Visualizaciones, Entorno de desarrollo

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

citas_dot-recortada.png

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.

citas_neatov2.png

neato: crea “trazados elásticos”. emplea el algoritmo Kamada-Kawai, que es equivalente a un escalado estadístico multidimensional.

citas_fdpv2.png

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

citas_twopiv2.png

twopi: diagrama radial. Se sitúan los nodos en círculos concéntricos dependiendo de su distancia a un nodo raíz dado.
bajo la categoría Visualizaciones

Comentarios