Узел не имеет позиции в Networkx - PullRequest
0 голосов
/ 06 мая 2019

Код пытается построить график Networkx и добавить цвета на узле, однако он сообщил мне, что ошибка на NetworkXError: Node 'Contact2' has no position.

import pandas as pd
%matplotlib notebook
import matplotlib.pyplot as plt
import networkx as nx
import numpy as np

G = nx.DiGraph()
G.add_edge('Owner','Contact1')
G.add_edge('Owner','Conatct2')
G.add_edge('Contact1','Firm1')
G.add_edge('Conatct2','Firm2')
G.add_edge('Firm1','Org1')
G.add_edge('Firm1','Org2')
G.add_edge('Firm2','Org3')

pos=nx.spring_layout(G)
nx.draw_networkx(G)
nx.draw_networkx_nodes(G,pos,
                           nodelist=['Owner'],
                           node_color='k',
                           node_size=500,
                       alpha=0.8)
nx.draw_networkx_nodes(G,pos,
                           nodelist=['Contact1','Contact2'],
                           node_color='r',
                           node_size=500,
                       alpha=0.8)
nx.draw_networkx_nodes(G,pos,
                           nodelist=['Firm1','Firm2'],
                           node_color='#8B8378',
                           node_size=500,
                       alpha=0.8)
nx.draw_networkx_nodes(G,pos,
                           nodelist=['Org1','Org2','Org3'],
                           node_color='r',
                           node_size=500,
                       alpha=0.8)

1 Ответ

0 голосов
/ 06 мая 2019

У вас просто орфографическая ошибка:

G.add_edge('Owner','Conatct2')

У вас есть Conatct2 узел. Вы должны заменить его на Contact2.

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