Превратить неориентированный граф NetworkX в ориентированный граф NetworkX - PullRequest
0 голосов
/ 27 октября 2018

У меня проблема с приведенным ниже фрагментом кода.Края соединяют узлы.Но возможно ли иметь направленную сеть, чтобы, если один «народ» следовал за одним «человеком», но это был только один способ, иметь стрелку или направление по краю.

plt.figure(figsize=(12, 12))

#Create the graph
g = nx.from_pandas_dataframe(peoples_only, source='people_id', target='mans_id') 

layout = nx.spring_layout(g,k=0.05, iterations=1)

people_size = [g.degree(people) * 30 for people in peoples]
nx.draw_networkx_nodes(g, 
                       layout, 
                       nodelist=peoples, 
                       node_size=people_size, # a LIST of sizes, based on g.degree
                       node_color='lightblue')

#draw all
nx.draw_networkx_nodes(g, layout, nodelist=mans, node_color='#cccccc', node_size=100)

#draw popular peoples
popular_mans = [man for man in mans if g.degree(man) > 1]
nx.draw_networkx_nodes(g, layout, nodelist=popular_mans, node_color='orange', node_size=100)

nx.draw_networkx_edges(g, layout, width=1, edge_color="#cccccc")

node_labels = dict(zip(peoples, peoples))
nx.draw_networkx_labels(g, layout, labels=None)

nx.write_gexf(g, "test.gexf")

plt.axis('off')
plt.title("People mans network")
plt.show()

1 Ответ

0 голосов
/ 27 октября 2018

При создании графика укажите create_using=nx.DiGraph()

g = nx.from_pandas_edgelist(peoples_only, source='people_id', target='mans_id', create_using=nx.DiGraph()) 

Это даст вам ориентированный граф от people_id до mans_id.

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