Как добавить Graph из networkx в tkinter
Я пытаюсь добавить в tkinker созданный заранее граф с помощью networkx, но я не знаю как добавить его в какое-нибудь поле внутри приложения.
def Tkinter():
window.title("Название дам потом")
mainmenu = Menu(window)
window.config(menu=mainmenu)
window.geometry('1080x800')
window.focus_set()
filemenu = Menu(mainmenu, tearoff=1)
filemenu.add_command(label="Открыть")
filemenu.add_command(label="Создать граф", command=CreateGraph)
filemenu.add_command(label="Обновить данные",command=Update)
filemenu.add_command(label="Новый",command=createNewWindow)
filemenu.add_command(label="Сохранить...")
helpmenu = Menu(mainmenu, tearoff=0)
helpmenu.add_command(label="Помощь")
helpmenu.add_command(label="О программе")
mainmenu.add_cascade(label="Файл",
menu=filemenu)
mainmenu.add_cascade(label="Справка",
menu=helpmenu)
window.mainloop()
def CreateGraph():
with open("Data.txt", encoding="utf-8") as f: # Чтение из файла название вершин и рёбер
data = [line.split() for line in f]
G = nx.Graph()
G.add_weighted_edges_from(data)
pos = nx.circular_layout(G)
nx.draw(G, pos, node_size=60, font_size=8, with_labels=True)
plt.show()
Ответы (1 шт):
Автор решения: Сергей
→ Ссылка
- Сохраните граф, как картинку в формате, который поддерживается tkinter, допустим в .png. https://graphviz.readthedocs.io/en/stable/manual.html#formats
- Разместите полученную картинку на холсте Canvas tkinter.