Края скрыты узлами - PullRequest
       0

Края скрыты узлами

0 голосов
/ 05 февраля 2020

Если я сгенерирую маленькие узлы (см. Рисунок node_size = 100), ребра не будут скрыты узлами. Но если я увеличу размер узлов (см. Рис. Node_size = 1000), они покроют края.

Как я могу отрегулировать положение конечных точек ребер так, чтобы они не были скрыты узлами?

Код для воспроизведения рисунка с использованием сети x 2.4, python3:

fig = plt.figure(figsize=(3,3)) 
ax = fig.add_subplot(111)

G=nx.MultiDiGraph()

G.add_node(0,pos=(0,0.8))
G.add_node(1,pos=(0,0))
G.add_edge(0,1)
G.add_edge(1,0)

pos=nx.get_node_attributes(G,'pos')

nx.draw_networkx_nodes(G,pos, node_size = 100, nodelist=[0], node_color = 'r')
nx.draw_networkx_nodes(G,pos, node_size = 100, nodelist=[1], node_color = 'b')

nx.draw_networkx_edges(G,pos,connectionstyle='arc3, rad = 0.7',edgelist = [(0,1)], width = 2)
nx.draw_networkx_edges(G,pos,connectionstyle='arc3, rad = 0.7',edgelist = [(1,0)], width = 2)

ax.set_axis_off()
fig.set_tight_layout('tight')
fig.savefig('test_hidden' + '.png')
fig.show()

enter image description here

1 Ответ

0 голосов
/ 05 февраля 2020

Обходным способом показать ориентированный граф является передача параметра alpha в draw_networkx_nodes, например, так:

nx.draw_networkx_nodes(G,pos, node_size = 1000, nodelist=[0], node_color = 'r', alpha = 0.5)

Это дает следующий рисунок:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...