Я пытаюсь создать визуальный график с помощью networkx, но края не отображаются.Узлы есть, но края либо не отображаются, либо крайне некорректны.Я посмотрел другие посты, но ни один из них, похоже, не дал ответа.
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np
import networkx as nx
def create_graph(filename, path):
pos = {}
G = nx.Graph()
for index in range(0, len(path2)-1):
pos[index] = (path[index][0], path[index][1])
for index in range(0, len(path)-2):
G.add_edge(index, index+1)
print(G.edges())
G.add_nodes_from(pos.keys())
print(G.nodes())
nx.draw(G, pos, node_color = 'b')
name = filename.split('.')
pic_name = name[0] + ".png"
plt.savefig(pic_name)
Моя оригинальная программа не дает никаких краев, но простая тестовая программа делает.
import graphing
list = [[32.4, 15.15],[12.5, 37.3],[236.3, 62.37],[235.3, 26.46],[324.27, 346.2],[25.45, 344.3],[34.23, 63.3]]
graphing.create_graph("test",list)
Вы можете критиковать все другие вещи, которые я делаю неправильно, но меня в первую очередь интересует, почему края иногда не работают.Есть ли что-то явно не так с моим подходом?
Редактировать: После печати пути также выводятся данные Джибути:
[['22583.3333', '14300.0000'], ['21600.0000', '14150.0000'], ['21600.0000', '14966.6667'], ['21600.0000', '16500.0000'], ['20900.0000', '17066.6667'], ['20833.3333', '17100.0000'], ['23616.6667', '15866.6667'], ['23700.0000', '15933.3333'], ['23883.3333', '14533.3333'], ['24166.6667', '13250.0000'], ['25149.1667', '12365.8333'], ['26283.3333', '12766.6667'], ['26433.3333', '13433.3333'], ['26550.0000', '13850.0000'], ['27096.1111', '13415.8333'], ['27153.6111', '13203.3333'], ['27026.1111', '13051.9444'], ['27462.5000', '12992.2222'], ['27433.3333', '12400.0000'], ['27233.3333', '11783.3333'], ['26733.3333', '11683.3333'], ['26150.0000', '10550.0000'], ['27233.3333', '10450.0000'], ['27266.6667', '10383.3333'], ['27166.6667', '9833.3333'], ['26133.3333', '14500.0000'], ['22683.3333', '12716.6667'], ['22183.3333', '13133.3333'], ['21300.0000', '13016.6667'], ['22583.3333', '14300.0000']]
[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9), (9, 10), (10, 11), (11, 12), (12, 13), (13, 14), (14, 15), (15, 16), (16, 17), (17, 18), (18, 19), (19, 20), (20, 21), (21, 22), (22, 23), (23, 24), (24, 25), (25, 26), (26, 27), (27, 28)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]