通过共享节点属性定位networkx节点

时间:2016-01-17 23:49:04

标签: python layout attributes draw networkx

是否可以在networkx图中定位节点,以便共享某个(单个)属性的节点彼此聚集在一起?

例如,如果节点代表人,并且每个节点都有一个属性'age',那么当我绘制图形时,如何才能使相同年龄的人彼此靠近?这可能吗?

2 个答案:

答案 0 :(得分:0)

您可以指定每个节点的x,y坐标。因此,如果您对想要它的外观有所了解,可以对其进行编程。你可以尝试弹簧布局,但这不会被击中或错过,这将是更多的失误。尝试它的方法是将相同数据的节点相互连接。 (同龄人有一个或多个边缘)

我认为这种方法能够很好地处理大量数据的唯一方法是使用名为Gephi的工具根据节点数据等手动操作......就像网络图的Photoshop一样。

答案 1 :(得分:0)

我建议采用另一种方法。为节点创建一个额外属性,该属性对应于要用于分组的属性值范围。例如,如果您的属性为年龄,则创建范围18-3031-40等。将结果保存为GraphML格式并使用NodeXL加载网络(不是免费的不过了,你可以收取少量费用

在NodeXL中,您可以按某些属性对节点进行分组,并将不同的组布局,以便属于同一组的节点彼此靠近布局。您还可以从布局选项列表中选择组中节点的布局方式)