Как построить график матрицы смежности с помощью MATLAB

Я хочу создать график, показывающий связи между узлами из матрицы смежности, как показано ниже.

gplot кажется лучшим инструментом для этого. Однако, чтобы использовать его, мне нужно передать координаты каждого узла. Проблема в том, что я не знаю, где должны быть координаты, я надеялся, что функция сможет найти хороший макет для меня.

Например, вот мой вывод с использованием следующих произвольных координат:

 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-");

Который трудно прочитать, но если я немного поиграюсь с координатами и поменяю их на следующие, это станет намного более читабельным.

   crd = [0.5 0;
         0 1;
         0 2;
         1 2;
         1 1;
         1.5 2.5];

Я не ожидаю идеально оптимизированных координат или чего-то еще, но как я могу сказать MATLAB, чтобы он автоматически вычислял для меня набор координат, который выглядит хорошо, используя какой-то видалгоритм поэтому я могу построить график, похожий на верхнюю картинку.

Заранее спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос