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のドキュメントから:

ラベル - ラベルが文字 A..Z または 0..9 で始まる場合、最初の空白がラベルの終わりを決定します (例: vertex1)。それ以上の単語で構成されるラベルは、特殊文字のペアで囲む必要があります (例: "頂点 1")。

そして、{12, 13, single, 'multi part'} という名前の 4 つのノードを持つサンプル グラフを試すと、次の出力が得られます。

*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 に答える