Mathematica:重复的边缘

我试图从邻接表中生成一个图形,但是Mathematica不想绘制我的图形,因为我认为有多个边。 这是我的脚本:

Needs["GraphUtilities`"]
data = Import["adj_matrix.txt", "Table"];
data2 = Flatten[Table[{data[[i, 1]] [UndirectedEdge] data[[i, 2]]}, {i, 1, 
  Length[data]}]];
graph1 = Graph[data2]

我得到的错误是:Graph :: supp:不支持混合图和多图。

我的清单中没有任何“正确的”重复项,唯一出现的重复项类型是1-> 2和2-> 1。 我想知道如何从列表中删除这些“重复项目”。


您可以使用AdjacencyGraph[]直接将邻接矩阵转换为Graph 。 这可能是最简单的解决方案:

AdjacencyGraph[data]

如果您的矩阵包含除0和1之外的其他元素,请使用

AdjacencyGraph@Clip[data]

要从无向图的边列表中过滤出重复项,请使用

Union[Sort /@ edgeList]
链接地址: http://www.djcxy.com/p/20253.html

上一篇: Mathematica : duplicate edges

下一篇: How to Label Graph Edges with their weights