我使用NetworkX生成一些图形类别。
我想对节点进行置换并以(80度、90度、120度)旋转图形。
如何在NetworkX上应用排列和旋转?
编辑_1:
给定一个图的邻接矩阵,我想以保留边缘和顶点链接的方式旋转图形。唯一改变的是节点的位置。
我想做的是将我的图旋转90度。
输入:
G图的邻接矩阵
过程:
对G图应用90度旋转
输出:
旋转后的邻接矩阵
这意味着该图保留其拓扑结构,只是邻接矩阵中的索引更改了位置。
例如,在旋转之前位于索引0处的节点1,在旋转后可能会在索引4处。
我尝试过的方法:
1)我查看了numpy.random.permutation()
,但它似乎不接受旋转参数。
2)在networkX中,我没有找到任何允许旋转的函数。
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度的角度进行旋转(就像对图像进行旋转一样)。我不确定应该如何实现。