【发布时间】:2019-01-02 04:51:58
【问题描述】:
我通过将对象字典传递给add_nodes_from 函数来添加节点。
然后我通过将列表传递给add_edges_from 函数来指定边。
当添加边时,它们会创建重复的节点,而不是使用之前已经添加的节点。
import networkx as nx
import matplotlib.pyplot as plt
from Employee import Employee
G = nx.DiGraph()
employees = {
"John": Employee("John"),
"Mathews": Employee("Mathews"),
"Joseph": Employee("Joseph"),
"Lana": Employee("Lana"),
"Debrah": Employee("Debrah"),
"Greg": Employee("Greg"),
"Bob": Employee("Bob"),
"Mary": Employee("Mary"),
}
connections = [
(employees.get("John"), employees.get("Debrah")),
(employees.get("John"), employees.get("Mary")),
(employees.get("Mary"), employees.get("Greg")),
(employees.get("Mary"), employees.get("Lana")),
(employees.get("Mary"), employees.get("Debrah")),
(employees.get("Mathews"), employees.get("Joseph")),
(employees.get("Mathews"), employees.get("Debrah")),
(employees.get("Mathews"), employees.get("Mary")),
(employees.get("Lana"), employees.get("Debrah")),
(employees.get("Greg"), employees.get("Bob")),
]
G.add_nodes_from(employees)
G.add_edges_from(connections)
print(G.nodes)
输出
['约翰','马修斯','约瑟夫','拉娜','黛布拉','格雷格','鲍勃','玛丽', 约翰、黛布拉、玛丽、格雷格、拉娜、马修斯、约瑟夫、鲍勃]
【问题讨论】: