当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX read_graphml用法及代码示例


本文简要介绍 networkx.readwrite.graphml.read_graphml 的用法。

用法:

read_graphml(path, node_type=<class 'str'>, edge_key_type=<class 'int'>, force_multigraph=False)

从路径中读取 GraphML 格式的图形。

参数

path文件或字符串

要写入的文件或文件名。以 .gz 或 .bz2 结尾的文件名将被压缩。

node_type: Python type (default: str)

将节点 id 转换为这种类型

edge_key_type: Python type (default: int)

将 graphml 边 id 转换为这种类型。多重图使用 id 作为边键。非多重图添加到名称为 “id” 的边属性字典。

force_multigraph布尔(默认值:假)

如果为 True,则返回带有边键的多重图。如果 False(默认值)在图中有多重边时返回多重图。

返回

图:NetworkX 图

如果存在平行边或force_multigraph=True,则返回MultiGraph 或MultiDiGraph。否则为图/有向图。如果文件表明它应该是定向的,则返回的图形是定向的。

注意

默认节点和边属性不会传播到每个节点和边。它们可以从G.graph 中获得,如果需要,可以使用以下方法应用于节点和边属性:

>>> default_color = G.graph["node_default"]["color"]  
>>> for node, data in G.nodes(data=True):  
...     if "color" not in data:
...         data["color"] = default_color
>>> default_color = G.graph["edge_default"]["color"]  
>>> for u, v, data in G.edges(data=True):  
...     if "color" not in data:
...         data["color"] = default_color

此实现不支持混合图(有向边和无向边一起)、超图、嵌套图或端口。

对于多重图,GraphML 边 “id” 将用作边键。如果未指定,则将使用它们的 “key” 属性。如果没有“key” 属性,则将提供默认的NetworkX 多图边键。

可以读取带有 yEd “yfiles” 扩展名的文件。节点形状的类型保存在 shape_type 节点属性中。

yEd 压缩文件(扩展名为“file.graphmlz”)可以通过将文件重命名为“file.graphml.gz” 来读取。

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.readwrite.graphml.read_graphml。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。