read_graphml#

read_graphml(path, node_type=<class 'str'>, edge_key_type=<class 'int'>, force_multigraph=False)[源代码]#

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

参数
path文件或字符串

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

node_type: Python type (default: str)

将节点ID转换为此类型

edge_key_type: Python type (default: int)

将graph ml边ID转换为此类型。多重图使用id作为边关键字。非多重图添加到名称为“id”的边属性DICT。

force_multigraph布尔值(默认值:FALSE)

如果为True,则返回带有边关键点的多重图。如果为FALSE(默认值),则当图形中有多条边时,将返回多重图形。

返回
图表:网络X图表

如果存在平行边或 force_multigraph=True 然后返回多重图或多重有向图。否则为图/有向图。如果文件指示应该定向,则返回的图形是定向的。

笔记

默认节点和边缘属性不会传播到每个节点和边缘。它们可以从 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

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

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

可以读取扩展名为Yed“yfiles”的文件。节点形状的类型保留在 shape_type 节点属性。

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