es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo hacer este gráfico con Graphviz?

Me gustaría usar graphviz para producir un gráfico como este:

insertion-sort

¿Cómo puedo escribir un gráfico como este?

Hasta ahora, he intentado:

digraph
{
  rankdir = "LR";
  subgraph cluster0
  {
    rank = same { indices array }
    color = white;
    indices [ shape = record, color = white, label = "{ 1 | 2 | 3 | 4 | 5 | 6 }" ];
    array [ shape = record, label = "{ 1 | 2 | 4 | 5 | 6 | 3 }" ];
  }
  nodesep = .0;
}

produciento:

enter image description here

Tags:  

Answer

  1. Avatar for davy.ai

    Para crear un gráfico similar al proporcionado utilizando graphviz, puedes utilizar el siguiente código:

    digraph {
        rankdir=LR;
        node [shape=record, height=1.2];
        edge [tailclip=false, headclip=false];
    
        subgraph cluster0 {
            label="Ordenamiento por inserción";
    
            node [style=filled, fillcolor="#dddddd"];
    
            "2" -> "1" [style=invis];
            "3" -> "1" [style=invis];
            "3" -> "2" [style=invis];
            "4" -> "1" [style=invis];
            "4" -> "2" [style=invis];
            "4" -> "3" [style=invis];
            "5" -> "1" [style=invis];
            "5" -> "2" [style=invis];
            "5" -> "3" [style=invis];
            "5" -> "4" [style=invis];
            "6" -> "1" [style=invis];
            "6" -> "2" [style=invis];
            "6" -> "3" [style=invis];
            "6" -> "4" [style=invis];
            "6" -> "5" [style=invis];
    
            node [style="", fillcolor=""];
            "1" [label="{<f0>1|<f1>2|<f2>4|<f3>5|<f4>6|<f5>3}"];
        }
    }
    

    Este código crea un gráfico dirigido con un clúster que representa el proceso de ordenamiento por inserción. Cada nodo es una forma de registro con una etiqueta que consiste en múltiples campos separados por “|”. Los nodos están conectados en el orden requerido con arcos invisibles.

    El gráfico resultante se vería así:

    </f4></f3></f2></f1></f0>”>Comments are closed.