Так что я никогда раньше не использовал Networkx, так что это может быть основа c. В настоящее время я использую пару функций для вывода словарей простых графиков, например, цикл цикла. Например, если я запускаю эту функцию для n = 5, я получаю словарь: {1: [5, 2], 2: [1, 3], 3: [2, 4], 4: [3, 5], 5: [4, 1]}.
Я начал пытаться использовать Networkx для их визуализации и имею следующую функцию для вывода ребер графа:
def generate_edges(graph): # generate edges of the graph
edges = []
for node in graph: # checks each node
for neighbour in graph[node]:
edges.append((node,neighbour)) # returns the node,neighbour pair as an edge
return edges
I'm затем используйте следующую функцию для создания визуализации сети:
def visualise(graph):
edges = generate_edges(graph)
nodes = list(graph.keys())
G = nx.graph
G.add_edges_from(edges)
G.nodes(data=True)
nx.write_graphml(G,'so.graphml')
print(nx.info(G))
return G
graph = generate_simplegraph('cycle',10)
visualise(graph)
, где 'цикл' - это тип графика, а 10 - это количество узлов. Я получаю сообщение об ошибке:
модуль 'networkx.classes.graph' не имеет атрибута 'add_edges_from'
Может кто-нибудь сказать мне, почему я получаю эту ошибку и как это исправить пожалуйста? Все, что я хочу сделать, это визуализировать сеть. Также я импортировал networkx как nx.