當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。