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


Python NetworkX parse_graphml用法及代码示例


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

用法:

parse_graphml(graphml_string, node_type=<class 'str'>, edge_key_type=<class 'int'>, force_multigraph=False)

从字符串中读取 GraphML 格式的图形。

参数

graphml_stringstring

包含 graphml 信息的字符串(例如,graphml 文件的内容)。

node_type: Python type (default: str)

将节点 id 转换为这种类型

edge_key_type: Python type (default: int)

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

force_multigraph布尔(默认值:假)

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

返回

图:NetworkX 图

如果没有找到平行边,则返回 Graph 或 DiGraph。否则返回 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 多图边键。

例子

>>> G = nx.path_graph(4)
>>> linefeed = chr(10)  # linefeed =
>>> s = linefeed.join(nx.generate_graphml(G))
>>> H = nx.parse_graphml(s)

相关用法


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