避免Networkx中的节点和边缘重叠

时间:2019-01-15 05:25:44

标签: python data-visualization networkx

我有一个名为final_net的数据框,它类似于推文的源和目标:

From     Destination    Count
A        B              31
A        C              25
B        C              24
...

我想做的是使用Networkx创建网络图。为此,我编写了以下代码:

# libraries
import pandas as pd
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt

plt.figure(figsize=(20,10))
# Build your graph
G=nx.from_pandas_edgelist(final_net.head(25), 'from', 'to', create_using=nx.DiGraph() )

# Custom the nodes:
nx.draw(G, with_labels=True, 
        node_color='skyblue', node_size=2200, 
        edge_color=final_net.head(25)['count'], width=3, edge_cmap=plt.cm.OrRd,
        arrowstyle='->',arrowsize=20,
        font_size=10, font_weight="bold",
        pos=nx.random_layout(G, seed=13))

我仅使用最频繁的25个链接并创建网络图。但是我想通过以下方式来整理一下图表:

  • 没有节点重叠
  • 没有边缘重叠
  • 节点彼此靠近以避免边缘过长

我的结果是:enter image description here

0 个答案:

没有答案