2

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

Networkx 似乎没有按照格式的要求用双引号括起节点标签。

我的代码很简单

    for link in links:
        graph.add_node(label)
        graph.add_edge(label, link)

    nx.write_pajek(graph, 'path_to_file.net', encoding = 'UTF-8')

你遇到过类似的事情吗?

4

1 回答 1

1

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

networkx 手册链接到的 pajek文档:

label - 如果标签以字符 A..Z 或 0..9 开头,第一个空格确定标签的结尾(例如:vertex1),包含更多单词的标签必须包含在一对特殊字符中(例如:“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

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

于 2013-08-22T11:09:44.930 回答