【发布时间】:2016-04-23 01:31:26
【问题描述】:
是否可以在networkx图中定位节点,以便共享某个(单个)属性的节点彼此靠近?
例如,如果节点代表人,并且每个节点都有一个属性“年龄”,那么当我绘制图形时,如何使相同年龄的人彼此靠近?这可能吗?
【问题讨论】:
标签: python layout attributes draw networkx
是否可以在networkx图中定位节点,以便共享某个(单个)属性的节点彼此靠近?
例如,如果节点代表人,并且每个节点都有一个属性“年龄”,那么当我绘制图形时,如何使相同年龄的人彼此靠近?这可能吗?
【问题讨论】:
标签: python layout attributes draw networkx
您可以指定每个节点的 x,y 坐标。因此,如果您对希望它的外观有所了解,则可以对其进行编程。您可以尝试弹簧布局,但这不会被击中或错过,它会更多的错过。尝试它的方法是将相同数据的节点相互连接起来。 (同龄人之间有一条或多条边)
我认为这可以很好地处理大量数据的唯一方法是使用名为 Gephi 的工具根据节点数据等进行手动操作......这就像网络图的 Photoshop。
【讨论】:
我会建议另一种方法。为您的节点创建一个额外的属性,该属性对应于您要用于分组的属性的一系列值。例如,如果您的属性是年龄,则创建范围 18-30、31-40 等。将结果保存为 GraphML 格式并使用 NodeXL 加载网络(不再免费,但您可以购买支付少量费用)
在 NodeXL 中,您可以通过某些属性对节点进行分组,它会布置不同的组,以便属于同一组的节点彼此靠近布置。您还可以从布局选项列表中选择组中节点的布局方式)
【讨论】: