ребра networkx не подключаются к узлам - PullRequest
0 голосов
/ 06 августа 2020

Мне нужен совет, как сделать график A похожим на график 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...