如何存储networkx图以便在Gephi中可视化?

时间:2017-09-01 22:31:53

标签: python networkx gephi graph-visualization

我正在使用Python中的Networkx模块进行pagerank算法。我有一个列表字典,其中字典的键是页面的标题,其值是通过该页面引用的所有标题。

因此,为了创建可视化,我首先这样做了:

G = nx.DiGraph()
G = nx.from_dict_of_lists(ref_dict)

其中ref_dict是上面提到的字典。

创建图表后,我使用Networkx的write_edgelist函数以csv格式存储图形。

nx.write_edgelist(subG,'PageRanks2.csv')

这就是我的问题所在。 csv文件将边存储为:

node1 node2 {} node1 node3 {}

当我在Gephi中直接使用此文件时,它将{}视为节点并相​​应地显示可视化。 那么什么应该是存储networkx图形以使其可视化的最佳格式?

2 个答案:

答案 0 :(得分:7)

使用write_gexf函数,如:nx.write_gexf(G," test.gexf"), 并使用Gephi打开文件,然后您将在getphi中看到它。

参考https://networkx.github.io/documentation/networkx-1.10/reference/generated/networkx.readwrite.gexf.write_gexf.html#write-gexf

答案 1 :(得分:2)

您可以指定data参数告诉networkx不要添加{}

nx.write_edgelist(subG,'PageRanks2.csv', data=False)

networkx和gephy支持其他格式(例如GraphML),如果您的数据具有与之关联的属性,则可以完成更复杂的数据可视化任务。