parse_graphml#
- parse_graphml(graphml_string, node_type=<class 'str'>, edge_key_type=<class 'int'>, force_multigraph=False)[源代码]#
从字符串中读取图形格式的图形。
- 参数
- graphml_string字符串
包含图形文档信息的字符串(例如,图形文档文件的内容)。
- 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图表
如果没有找到平行边,则返回Graph或DiGraph。否则,将返回多重图或多重有向图。
笔记
默认节点和边缘属性不会传播到每个节点和边缘。它们可以从
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多图边键。
实例
>>> G = nx.path_graph(4) >>> linefeed = chr(10) # linefeed =
>>> s = linefeed.join(nx.generate_graphml(G)) >>> H = nx.parse_graphml(s)