Pregunta

¿Cuáles son algunas de las técnicas de minimización de solapamiento ventaja cuando trazar un gráfico? (Preferiblemente relacionadas con GraphViz) también están allí cualquier software existente que puede diseño de un gráfico de una forma planar?

Presentación actual - http://www.evecakes.com/doodles/master.gif

La sección de color rosa en la esquina superior izquierda se ve bien mientras que la sección de color azul claro tiene algunas coincidencias borde evitable.

¿Fue útil?

Solución

Para gráficas generales, el problema de una determinación de una disposición plana de un gráfico con menos bordes de cruce (la Crossing Número ) es NP-duro. Por lo tanto se utilizan algunos métodos heurísticos (algoritmos como el diseño basado Fuerza ).

La página a continuación se describen brevemente los algoritmos graphviz y sugiere algunas formas de usarlos para el beneficio. También tiene enlaces a los archivos PDF que debería contener más información acerca de los algoritmos:

  

http://rss.acs.unt.edu/ rdoc / biblioteca / Rgraphviz / html / GraphvizLayouts.html

Espero que ayude.

Otros consejos

La siguiente biblioteca de Java de código abierto tiene un par de algoritmos que pueden ayudar en la disposición de grafos planos. http://open.trickl.com/trickl-graph/index.html

En particular, las siguientes clases proporcionan soluciones analíticas al problema:

ChrobakPayneLayout (basado en el Boost C ++ aplicación por Aaron Windsor) http://www.boost.org/doc/libs /1_37_0/libs/graph/doc/straight_line_drawing.html

FoldFreeLayout (basado sobre el Anchor-libre distribuido Localización en Redes de Sensores  * Nissanka B. Priyantha, Hari Balakrishnan, Erik Demaine, y Seth Teller)

Lo que es posible que desee hacer es usar algo como esto como el primer "intento", que garantiza que no haya superposiciones, aunque no puede verse bien. A continuación, puede aplicar un algoritmo de fuerza dirigida a espaciar los nodos de manera más justa.

Por desgracia, la biblioteca sólo acaba de ser lanzado también lo es corto en la documentación. sin embargo, podría ser útil al proporcionar algún código real en lugar de sólo teoría.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top