繁体   English   中英

测试图形是Edgelist文件中的有向图还是无向图

[英]Testing if a graph is Directed or Undirected Graph from Edgelist file

我有一个文本文件,它是边缘列表文件。 我知道如何读取文件(使用Canopy Enthought),但是我不知道如何获取有关所需图形的信息。

主要问题 :是否可以使用networkx命令检测此图(从边缘列表文件创建)是有向的还是无向的? 还是只是称重或称重?

我相信您必须在使用边缘列表文件之前指定图的类型。 因为边缘列表文件仅由包含要连接的节点的元组组成,而无需说明它们如何连接。 因此,例如,如果您创建一个图形G = nx.Graph() ,那么如果文件中的节点对重复,则它们之间仍然会有一条边,并且节点的顺序无关紧要; ((node1,node2)等效于(node2,node1))。 如果您以G = nx.DiGraph()创建图,则节点的顺序会有所不同。 同样,在重复的情况下,指定G = nx.MultiGraph()会存在多个边。 读取边缘列表文件时, G = nx.MultiDiGraph()将具有不同的结果。 因此,请查看图形类型文档以了解所需的类型。

要检查图形是否有向,可以使用 nx.is_directed(G) ,您可以在此处找到文档。

检查图形是否加权没有具体类型可以说明图形是否具有加权边。 但周围的工作可以检查是否含有边重量所谓的属性,如提到这里 可以通过

'weight' in G[1][2] # Returns true if an attribute called weight exists in the edge connecting nodes 1 and 2.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM