反射/反转单向图形边缘
鉴于在mathematica-11中的数据图。 该图包括节点和独立节点(未连接)之间的无向边。
Graph[{1 <-> 2, 2<-> 3, 3<-> 1, 4<-> 5, 5<-> 6, 6<-> 2, 2<-> 4}, VertexLabels -> "Name", VertexShapeFunction -> "Diamond", VertexSize -> Small]
题:
我如何反映(反转)节点之间的边界?
由于它们是单向的,所以通过反射/反转,我的意思是这些节点应该被链接在之前没有边缘(以及前边缘消失)的地方。
Mathematica-11提供了ReverseGraph功能,但是这个功能只能通过它们的方向反射有向边。 有任何想法吗?
理念:
将图转换为AdjacencyMatrix并将其反转。 然后,反转矩阵可以用来创建反射/倒转图。 然而,我坚持反转AdjacencyMatrix,因为结果会出现奇怪的现象:
非常简单,当使用Inverse (AdjacencyMatrix[data]) // MatrixForm
时,真值被替换为Inverse (AdjacencyMatrix[data]) // MatrixForm
有关:
本文将介绍如何反映边缘权重,但不包括边缘本身。
我不确定我完全理解你的问题,所以如果这不是答案,告诉我们为什么不:
opts = {VertexLabels -> "Name", VertexShapeFunction -> "Diamond", VertexSize -> Small}
g1 = Graph[{1 <-> 2, 2 <-> 3, 3 <-> 1, 4 <-> 5, 5 <-> 6, 6 <-> 2, 2 <-> 4}];
那你可能会喜欢
GraphComplement[g1, opts]
或者,如果你想从每个节点到它自己的边缘
AdjacencyGraph[Table[1, {VertexCount[g1]}, {VertexCount[g1]}] - AdjacencyMatrix[g1], opts]
链接地址: http://www.djcxy.com/p/20259.html