Я работаю с Networkx для создания некоторого класса графиков.
Теперь я бы хотел переставить узлы и повернуть график на (80 °, 90 °, 120 ° градусов)
Как я могу применить перестановку и вращение на графиках с NetworkX?
Edit_1:
Учитывая матрицу смежности графа, я хотел бы повернуть граф таким образом, чтобы он сохранял связь ребер и вершин. Единственное, что меняется - это положение узлов.
Что бы я хотел сделать, это повернуть мой график на 90 градусов.
Ввод:
Матрица смежности графа G
процесс:
Применить вращение к G на 90 градусов
Выход:
Повернутая матрица смежности
Это означает, что граф сохраняет свою топологию и только индекс матрицы смежности, который меняет положение.
Например, узлы 1 с индексом 0 после поворота будут, например, с индексом 4.
Что я пробовал?
1) Я присмотрел numpy.random.permutation()
, но, похоже, он не принимает параметр поворота.
2) В сети X я не нашел ни одной функции, позволяющей делать ротацию.
EDIT2
Учитывая матрицу смежности 5 * 5 (5 узлов:
adj=[[0,1,0,0,1],
[1,0,1,1,0],
[0,0,0,1,1],
[0,0,1,0,1],
[1,1,1,1,0]
]
Я хотел бы переключаться между индексами.
Скажем, что узел 1 заменяет узел 3, узел 3 заменяет узлы 4, а узел 4 заменяет узел 1.
Это просто перестановка узлов (сохранение их ребер).
Я хотел бы сохранить в словаре отображение между исходным индексом и новым индексом после перестановки.
Во-вторых, я хотел бы применить перестановку или поворот этой матрицы смежности на угол 90 °. (Это как применить вращение к изображению). Я не уверен, как это можно сделать.