Cómo graficar una matriz de adyacencia usando MATLAB
Quiero crear un diagrama que muestre conexiones entre nodos de una matriz de adyacencia como la que se muestra a continuación.
gplot Parece la mejor herramienta para esto. Sin embargo, para usarlo, necesito pasar la coordenada de cada nodo. El problema es que no sé dónde deberían estar las coordenadas, esperaba que la función fuera capaz de encontrar un buen diseño para mí.
Por ejemplo, aquí está mi salida usando las siguientes coordenadas arbitrarias:
A = [1 1 0 0 1 0;
1 0 1 0 1 0;
0 1 0 1 0 0;
0 0 1 0 1 1;
1 1 0 1 0 0;
0 0 0 1 0 0];
crd = [0 1;
1 1;
2 1;
0 2;
1 2;
2 2];
gplot (A, crd, "o-");
Lo cual es difícil de leer, pero si juego un poco con las coordenadas y las cambio a lo siguiente, se vuelve mucho más legible.
crd = [0.5 0;
0 1;
0 2;
1 2;
1 1;
1.5 2.5];
No espero coordenadas perfectamente optimizadas ni nada, pero ¿cómo puedo decirle a MATLAB que descubra automáticamente un conjunto de coordenadas que se vea bien usando algún tipo dealgoritmo entonces puedo graficar algo que se parece a la imagen superior.
Gracias por adelantado.