2011-10-06 19 views
10

Tengo el siguiente archivo de puntos/Neato ...Cómo tratar con gráficos de mejor conectada con Neato

graph G 
{ 

    node [color=Red] 

    r01 
    r02 

    r03 

    r04 
    r05 

    r06 
    r07 
    r08 
    r09 

    r10 
    r11 

    node [color=Blue] 

    p01 
    p02 

    p03 

    p04 
    p05 
    p06 

    p07 
    p08 
    p09 
    p10 
    p11 

    p12 
    p13 

    r01 -- r02 
    r01 -- p01 
    r01 -- p02 
    r02 -- p01 
    r02 -- p02 
    p01 -- p02 

    r03 -- p03 

    r04 -- r05 
    r04 -- p04 
    r04 -- p05 
    r04 -- p06 
    r05 -- p04 
    r05 -- p06 
    p04 -- p05 
    p04 -- p06 

    r06 -- r07 
    r06 -- r08 
    r06 -- r09 
    r06 -- p07 
    r06 -- p08 
    r06 -- p09 
    r06 -- p10 
    r06 -- p11 
    r07 -- r08 
    r07 -- r09 
    r07 -- p07 
    r07 -- p08 
    r07 -- p09 
    r07 -- p10 
    r07 -- p11 
    r08 -- r09 
    r08 -- p07 
    r08 -- p08 
    r08 -- p09 
    r08 -- p10 
    r08 -- p11 
    r09 -- p07 
    r09 -- p08 
    r09 -- p09 
    r09 -- p10 
    r09 -- p11 
    p07 -- p08 
    p07 -- p09 
    p07 -- p10 
    p07 -- p11 
    p08 -- p09 
    p08 -- p10 
    p08 -- p11 
    p09 -- p10 
    p09 -- p11 
    p10 -- p11 

    r10 -- r11 
    r10 -- p12 
    r10 -- p13 
    r11 -- p12 
    r11 -- p13 
    p12 -- p13 
} 

... de la que crear this graphic usando neato.

neato -Tpng -o graph-g.png graph-g.txt 

En general, neato hace un trabajo decente, pero el componente conectado más grande en el gráfico se ve bastante ridícula. ¿Qué puedo hacer para que esto se vea mejor? Mi criterio es que ningún nodo debe superponerse y que debe haber suficiente distancia entre los nodos conectados para que pueda ver un poco del borde entre ellos.

+0

Acabo de encontrar esto (http://stackoverflow.com/questions/1039785/need-help-with-overlapping-records-using-graphviz-and-neato), por lo que mi pregunta parece un duplicado. Sin embargo, ¡me gustan las respuestas a este hilo mejor! –

Respuesta

16

Si añade lo siguiente a la parte superior de la gráfica:

overlap=false; 
splines=true; 

El resultado es:

graphviz output no overlap with splines

No sólo los nodos no se solapan más, sino también los bordes está enrutado alrededor de los nodos.

1

Graphviz tiene un atributo overlap (busque here) que a veces se puede aplicar con éxito.

Cuando inserto overlap = false sobre su primer atributo node, la siguiente imagen es el resultado.

Graph using overlap = false

Cuando inserto en lugar overlap = scalexy en el mismo lugar, me sale el siguiente.

Graph using overlap = scalexy

Por desgracia, todavía tiene bordes que pasan a través del nodo p11. Afortunadamente, también se puede encontrar una forma de abordar eso.

Puede ver un ejemplo de overlap = false que salió mal cerca de la parte inferior de este page.

Cuestiones relacionadas