Размер краев имеет 2 концептуально разных аспекта - ширина и длина .Ширина настраивается и может быть легко установлена для каждого ребра, а длина определяется позиционированием узлов.
Для изменения ширины ребер вызовите draw_networkx_edges и используйте аргумент 'width', который принимает либо float (для постоянного размера ребра)), или массив с плавающей точкой.
Изменение длины ребер может быть сделано путем изменения макета, установленного аргументом 'pos'.Компоновка определяет, где будет располагаться каждый узел.
Поскольку у вас есть дерево, разумным выбором будет использование позиционирования "точка" следующим образом:
import networkx as nx
import matplotlib.pyplot as plt
T = nx.DiGraph()
T.add_edges_from([(0, 1), (0, 2), (1, 3), (1, 4), (2, 5), (2, 6)])
pos = nx.nx_pydot.pydot_layout(T, prog='dot')
nx.draw_networkx(T, pos=pos, arrows= True)
plt.show()
В случае, если вы выбрали 'Нарочно fruchterman_reingold_layout '(он же spring_layout), вы можете поиграть с аргументом' k ', чтобы установить правильное расстояние между узлами.Согласно документации:
k: float (по умолчанию = None) Оптимальное расстояние между узлами.Если None, расстояние устанавливается равным 1 / sqrt (n), где n - количество узлов.Увеличьте это значение для перемещения узлов дальше друг от друга.