Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/env python
- from tkinter import *
- from tkinter import filedialog
- def displayGraph(canvas, vertices, edges):
- radius = 3
- for vertex, x, y in vertices:
- canvas.create_text(x - 2 * radius, y - 2 * radius, text = str(vertex), tags = "graph")
- canvas.create_oval(x - radius, y - radius, x + radius, y + radius, fill = "black", tags = "graph")
- for v1, v2 in edges:
- canvas.create_line(vertices[v1][1], vertices[v1][2], vertices[v2][1], vertices[v2][2], tags = "graph")
- def main():
- infile = open(filedialog.askopenfilename(),'r')
- #infile = open("./file.txt",'r')
- numberOfVertices = int(infile.readline())
- print(numberOfVertices)
- vertices = []
- edges = []
- for i in range(numberOfVertices):
- items = infile.readline().strip().split()
- vertices.append([int(items[0]), int(items[1]), int(items[2])])
- for j in range(3, len(items)):
- edges.append([int(items[0]), int(items[j])])
- print(vertices)
- print(edges)
- infile.close()
- window = Tk()
- window.title("Display a Graph")
- frame1 = Frame(window)
- frame1.pack()
- canvas = Canvas(frame1, width = 300, height = 200)
- canvas.pack()
- displayGraph(canvas, vertices, edges)
- window.mainloop()
- main()
Advertisement
Add Comment
Please, Sign In to add comment