networkx边缘未连接到节点

时间:2020-08-05 21:24:05

标签: python-3.x networkx

我正在寻求有关如何使graph A看起来像graph B的信息,同时保持弯曲的边缘。两者之间的唯一区别是,我通过在代码中设置arrows = False来生成图B,从而删除了箭头。

如果我移开箭头,则弯曲的边缘将不再正常工作,并且所有边缘都是笔直的。但是,至少边缘完全连接到节点。我的数据是一个包含源节点和目标节点以及相应权重的csv文件:

Napoleon        Myriel          1
Mlle.Baptistine Myriel          8
Mme.Magloire    Myriel          10
Mme.Magloire    Mlle.Baptistine 6
CountessdeLo    Myriel          1

任何帮助将不胜感激!我的代码如下:

import matplotlib.pyplot as plt
import pandas as pd
import networkx as nx



df = pd.read_csv('path_to_data')
G = nx.from_pandas_edgelist(df, source='source', target='target', edge_attr='value', 
                            create_using=nx.DiGraph())

pos = nx.layout.spring_layout(G, k=0.5, iterations=200)

fig, ax = plt.subplots()
node_color = [G.degree(v) for v in G]

nodes = nx.draw_networkx_nodes(G, pos, node_size = 5, node_color= node_color, cmap='plasma')
edges = nx.drawing.nx_pylab.draw_networkx_edges(G, pos, connectionstyle = 'arc3,rad=0.2', 
                                                alpha = 0.15, edge_color='red', width=0.5, 
                                                arrows = True, arrowsize = 4)

ax.axis('off')
fig.set_facecolor('black')

0 个答案:

没有答案