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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。