Skip to main content
 首页 » 编程设计

python之write_pajek 的 networkx 问题

2025年05月04日8me-sa

我正在使用 python 2.7 和 networkx 1.8 进行一些图形处理,我正在尝试将包含节点标签的图形输出为 Pajek 的 .net 格式。

Networkx 似乎没有按照format 的要求用双引号将节点标签括起来。 .

我的代码很简单

    for link in links: 
        graph.add_node(label) 
        graph.add_edge(label, link) 
 
    nx.write_pajek(graph, 'path_to_file.net', encoding = 'UTF-8') 

你遇到过类似的事情吗?

请您参考如下方法:

您确定需要引用的文字吗?

来自 pajek 的文档 linked to by the networkx manual :

label - if label starts with character A..Z or 0..9 first blank determines end of the label (example: vertex1), labels consisting of more words must be enclosed in pair of special characters (example: "vertex 1")

当尝试使用名为 {12, 13, single, 'multi part'} 的四个节点的示例图时, 我获得以下输出,

*network NetworkX 
*vertices 4 
1 "multi part" 0.0 0.0 ellipse 
2 single 0.0 0.0 ellipse 
3 12 0.0 0.0 ellipse  
4 13 0.0 0.0 ellipse 
*arcs 
1 3 1.0 
2 3 1.0 

引用长文本标签但不引用数字或短标签——即它符合上述标准。