我希望将Pajek数据集转换为networkx Graph()
。数据集来自哥斯达黎加家庭关系。我正在使用非常方便的networkx.read_pajek(pathname)
函数,但遇到了一些麻烦。在我的终端窗口(iPython)切换到正确的目录后,导入networkx as nx
和matplotlib.pyplot as plt
,然后执行以下命令
>> G = nx.read_pajek('SanJuanSur.paj')
>> nx.draw(G)
>> fig = plt.figure(figsize = (15, 10))
>> nx.draw(G)
>> plt.show()
有些不寻常的事情正在发生--很明显,我希望一个经验丰富的人能帮助我。看起来,.paj
文件有许多不同的部分被卡在我下载的一个文件中。不太确定如何打破它,因为没有评论,似乎Pajek在一般情况下是用一个GUI操作。
>> G.node['f49']
{'id': '49', 'shape': '0.5000', 'x': 0.5533, 'y': 0.3766}
希望使用节点的状态(属性范围从0到14)。谢谢!
发布于 2014-04-21 23:59:58
networkx文件阅读器无法处理包含额外“分区”数据的.paj格式文件。不幸的是,它似乎起作用了。但是很明显,你得到了额外的节点和边缘。
如果删除文件SanJuanSur2.net中的所有内容,从*边开始到末尾,您可以使用networkx.read_pajek()读取它。
https://stackoverflow.com/questions/23207136
复制相似问题