2010-06-30 12 views
5

Durante el desarrollo de software, periódicamente encuentro la necesidad de dibujar algunos gráficos para mi propio uso. A veces ilustran las relaciones en un DB, a veces ilustran relaciones de archivos de código o clases, otras veces hay otros objetos ... De todos modos, la necesidad básica es la misma - Tengo un conjunto de nodos & que me gustaría para diseñar ordenadamente, agregue algunos colores/textos/estilos informativos y opcionalmente imprímalo al final (en varias páginas si es necesario).¿Qué herramientas de diseño, edición y dibujo de gráficos hay?

¿Existe alguna herramienta que me permita hacer esto fácilmente? Características que esperaría:

  • Importar información básica de nodo/borde de un archivo (los datos brutos que he extraído de la base de datos/código/lo que sea);
  • Distribuye automáticamente algunos o todos los nodos en el gráfico;
  • Permitir ajustar manualmente las ubicaciones de nodos y bordes;
    • Las funciones de manipulación del grupo de nodos (retransmisión, rotación, escala) también serían muy agradables;
  • Posibilidad de manipular aspectos visuales de la imagen - cambiar líneas, colores y fuentes; agregar textos e imágenes arbitrarios (posiblemente adjuntándolos a nodos/bordes);
  • Capacidad para modificar el contenido de nodo (A veces necesito sólo un texto simple, a veces es una pequeña mesa, a veces es una lista con viñetas, etc.)
  • Guardar/carga/de impresión (incluyendo a varias páginas con áreas superpuestas para pegar juntos)/exportar a la imagen (tanto vector como raster con anti-aliasing).

Agregado:Here es un gráfico que muestra Traté de visualizar más recientemente. Me gustaría obtener un diseño utilizable que requiera ajustes mínimos antes de poder imprimirlo.

Respuesta

3

Graphviz es uno popular de larga data. Me gusta mucho el motor de diseño yEd, al que le doy la información de GML (pero admite otros formatos).

+1

Buena respuesta y pregunta, es realmente útil ... Me gusta mucho el diseño de la segunda, ¡demasiado hermosa! –

+0

Acabo de probar ambos en un pequeño gráfico de dependencias de archivos PHP (qué archivo incluye qué archivo). Había algo así como 130 archivos (de los cuales la mitad era independiente) y alrededor del mismo número de dependencias. Graphviz prácticamente los alineó a todos, creando un gráfico extremadamente ancho/alto. yEd fue un poco mejor, pero aun así ni siquiera se acercó a nada utilizable. Esperaría algo mejor. –

+1

Creo que yEd tiene diferentes tipos de diseño, tal vez intente algunos? – Mau

1

Puede usar Cytoscape, que es una herramienta de visualización de gráficos. Me gusta la disposición dirigida forzada.

1

encuentro Gephi muy agradable, sobre todo para dos tareas:

  1. Browsing la gráfica, es decir, ocultando algunas partes, los nodos móviles, tratando de comprender sus propiedades al jugar con él.
  2. ¿Presentarlo para exportarlo para una presentación o artículo?

Existen agradables algoritmos de diseño incluidos por defecto, y puede instalar complementos fácilmente desde la herramienta.

Y si su objetivo es obtener una representación informativa y legible de su gráfico, puede considerar el uso de parcelas de colmena. Descripción, ejemplos y herramientas están disponibles en this page. La idea básica es utilizar un método determinista (por oposición a los diseños basados ​​en la fuerza) para colocar nodos, en función de unos pocos atributos o medidas topológicas.La representación resultante permite comparar de manera eficiente diferentes gráficos, o incluso el mismo gráfico considerado desde diferentes perspectivas.

Cuestiones relacionadas