如何解释networkx图

时间:2017-10-02 06:32:22

标签: python graph networkx

我需要帮助解释从python包networkx生成的图形。该文档非常适合告诉您如何创建一个,而不是如何理解一个。

在使用pandas读取数据框后,我有一个CSV文件,看起来像这样:

origin_id   destination_id  total_amount    created_at
0   32196   2299             1014.90    2017-06-01 00:10:08
1   33399   321              1000.00    2017-06-01 00:10:45
2   21879   2299             2092.95    2017-06-01 00:18:16
3   5155    2299             321.97     2017-06-01 00:22:46
4   32019   2299             2029.80    2017-06-01 00:23:15

我从中生成有向图:

G1 = nx.DiGraph()
nodes = list(set(df.origin_id + df.destination_id))[:100]
edges = zip(df.origin_id,df.destination_id,df.total_amount)[:100]
G1.add_nodes_from(nodes)
G1.add_weighted_edges_from(edges)
nx.draw(G1,node_size=20) 

输出如下: enter image description here

我需要帮助来了解此图表的含义。

  1. 中心某些节点的粗黑线是什么? 平均值(因为我将权重设置为牵引值,厚度宽度是指具有高值的交易吗?)
  2. 边缘的方向是什么?
  3. 另外,我必须限制我的数据点数(到olny 100),否则节点将重叠并变得不可读。我怎么能克服这个?

    以下示例包含更多数据点 enter image description here

1 个答案:

答案 0 :(得分:1)

1)那些厚的部分黑线试图在有向边的尖端表示箭头。该文件承认这不是很漂亮,但用箭头来说并不容易。

2)很难想象大型网络。但是,对于网络布局,有一个相对较大的options集合可能很有用。您还可以使用pygraphviz(相同链接)进行交互。其中一些可能对解释图表更有帮助。