#python #networkx
Вопрос:
Пожалуйста, рассмотрите эти сети и следующую команду рисования в Networkx:
G.edges(data=True)
OutEdgeDataView([('Paperino', 'LadyCocca', {'weight': 1}), ('Paperino', 'Doraemon', {'weight': 1}), ('Paperino', 'Pollon', {'weight': 1}), ('Aurora', 'Stich', {'weight': 5}), ('Aurora', 'Adelina', {'weight': 4}), ('Stich', 'Aurora', {'weight': 5}), ('Stich', 'LadyCocca', {'weight': 1}), ('Stich', 'Crudelia', {'weight': 1}), ('Stich', 'Pollon', {'weight': 3}), ('LadyCocca', 'Paperino', {'weight': 1}), ('LadyCocca', 'Stich', {'weight': 1}), ('LadyCocca', 'Yattaman', {'weight': 1}), ('LadyCocca', 'Brontolo', {'weight': 2}), ('Crudelia', 'Stich', {'weight': 1}), ('Crudelia', 'Doraemon', {'weight': 1}), ('Crudelia', 'Pollon', {'weight': 1}), ('Adelina', 'Aurora', {'weight': 4}), ('Adelina', 'Yattaman', {'weight': 1}), ('Adelina', 'Brontolo', {'weight': 1}), ('Doraemon', 'Paperino', {'weight': 1}), ('Doraemon', 'Crudelia', {'weight': 1}), ('Doraemon', 'Yattaman', {'weight': 1}), ('Yattaman', 'LadyCocca', {'weight': 1}), ('Yattaman', 'Adelina', {'weight': 1}), ('Yattaman', 'Doraemon', {'weight': 1}), ('Yattaman', 'Pollon', {'weight': 1}), ('Brontolo', 'LadyCocca', {'weight': 2}), ('Brontolo', 'Adelina', {'weight': 1}), ('Pollon', 'Paperino', {'weight': 1}), ('Pollon', 'Stich', {'weight': 3}), ('Pollon', 'Crudelia', {'weight': 1}), ('Pollon', 'Yattaman', {'weight': 1})])
G1.edges(data=True)
EdgeDataView([('Paperino', 'LadyCocca', {'weight': 2}), ('Paperino', 'Doraemon', {'weight': 2}), ('Paperino', 'Pollon', {'weight': 2}), ('Aurora', 'Stich', {'weight': 10}), ('Aurora', 'Adelina', {'weight': 8}), ('Stich', 'LadyCocca', {'weight': 2}), ('Stich', 'Crudelia', {'weight': 2}), ('Stich', 'Pollon', {'weight': 6}), ('LadyCocca', 'Yattaman', {'weight': 2}), ('LadyCocca', 'Brontolo', {'weight': 4}), ('Crudelia', 'Doraemon', {'weight': 2}), ('Crudelia', 'Pollon', {'weight': 2}), ('Adelina', 'Yattaman', {'weight': 2}), ('Adelina', 'Brontolo', {'weight': 2}), ('Doraemon', 'Yattaman', {'weight': 2}), ('Yattaman', 'Pollon', {'weight': 2})])
G1-это точно такой же график G, сделанный неориентированным путем суммирования весов ребер. Теперь я хотел бы нарисовать оба графика с изогнутыми краями, используя одну и ту же точную команду. Но это возможно только для ориентированного графа G. Если G1 передается в качестве входных данных в той же функции, используются прямые линии. Можете ли вы сказать мне, почему и как это исправить? Пожалуйста, ознакомьтесь с командой, используемой для рисования, и приведенными ниже результатами:
nx.draw(G, pos=nx.kamada_kawai_layout(G), cmap=plt.get_cmap("brg"),node_color="#FF0000", node_size = 80, with_labels=False, node_shape="o",
font_color='black', font_size= 12, font_weight = "bold",
connectionstyle='arc3, rad=0.2',
arrowsize = 10, edge_color = "blue",
edgecolors = "blue", linewidths = 2, width = 2,
alpha = 0.8)
Результат для G:
Результат для G1: