Превратите неориентированный граф NetworkX в ориентированный граф NetworkX

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

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()
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
0
295
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

При создании графика укажите 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.

Другие вопросы по теме