Мне нужен совет, как сделать график 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')