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


Python NetworkX generate_gml用法及代碼示例

本文簡要介紹 networkx.readwrite.gml.generate_gml 的用法。

用法:

generate_gml(G, stringizer=None)

以 GML 格式生成圖形 G 的單個條目。

參數

GNetworkX 圖

要轉換為 GML 的圖形。

stringizer可調用的,可選的

stringizer 將非整數/非浮點數/非字典值轉換為字符串。如果它不能將值轉換為字符串,它應該引發 ValueError 來表明這一點。默認值:無。

返回

行:字符串的生成器

GML 數據行。不附加換行符。

拋出

NetworkXError

如果 stringizer 無法將值轉換為字符串,或者要轉換的值不是字符串,而 stringizer 為 None。

注意

名為 ‘directed’, ‘multigraph’, ‘node’ 或 ‘edge’ 的圖屬性、名為 ‘id’ 或 ‘label’ 的節點屬性、名為 ‘source’ 或 ‘target’(或 ‘key’,如果 G 是多重圖)的邊屬性將被忽略,因為這些屬性名稱用於對圖結構進行編碼。

GML 文件使用 7 位 ASCII 編碼存儲,任何擴展的 ASCII 字符 (iso8859-1) 都顯示為 HTML 字符實體。在不指定 stringizer /destringizer 的情況下,代碼能夠按照 GML 規範的要求寫入 int / float / str / dict / list 數據。要寫入其他數據類型,以及讀取 str 以外的數據,您需要顯式提供 stringizer /destringizer

有關 GML 文件格式的其他文檔,請參閱GML url

有關更多詳細信息,請參閱模塊文檔字符串 networkx.readwrite.gml

例子

>>> G = nx.Graph()
>>> G.add_node("1")
>>> print("\n".join(nx.generate_gml(G)))
graph [
  node [
    id 0
    label "1"
  ]
]
>>> G = nx.OrderedMultiGraph([("a", "b"), ("a", "b")])
>>> print("\n".join(nx.generate_gml(G)))
graph [
  multigraph 1
  node [
    id 0
    label "a"
  ]
  node [
    id 1
    label "b"
  ]
  edge [
    source 0
    target 1
    key 0
  ]
  edge [
    source 0
    target 1
    key 1
  ]
]

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.readwrite.gml.generate_gml。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。