Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import matplotlib.pyplot as plt
- from matplotlib.patches import Ellipse, Circle
- import random
- r = lambda: random.randint(0,255)
- def pCircle(point, rad, **kwargs):
- if "color" not in kwargs:
- return Ellipse(point,2*rad,2*rad)
- else:
- return Ellipse(point,2*rad,2*rad, color = kwargs["color"])
- def drawCircles(circles, w, h, sub, hasColors):
- #print(circles)
- ax = plt.subplot(sub) # note we must use plt.subplots, not plt.subplot
- draw = []
- m = 0
- for x in circles:
- if hasColors:
- draw.append(pCircle((x[0],x[1]), 5, color = cluster_colors[x[2]]))
- else:
- draw.append(pCircle((x[0],x[1]), 5))
- ax.set_aspect('equal')
- ax.axis([0,w,0,h])
- for y in draw:
- ax.add_artist(y)
- plt.draw()
- def drawLines(lines):
- for x in lines:
- plt.plot([x[0][0], x[1][0]], [x[0][1], x[1][1]], 'k-')
- f = open("../cplusplus/tests1000.txt","r");
- flines = open("../cplusplus/MST.txt","r");
- flines_start = open("../cplusplus/start.txt","r");
- fclasters = open("clasters.txt","r");
- fcluster_points = open("cluster_points.txt","r");
- circles = []
- start_lines = []
- lines = []
- clasters = []
- cluster_points = []
- cluster_colors = [0]*100000
- for x in (f.readlines())[1:]:
- nums = [float(n) for n in x.split()];
- circles.append((nums[0], nums[1]));
- for x in (flines_start.readlines()):
- nums = [float(n) for n in x.split()];
- start_lines.append([[nums[0],nums[1]],[nums[2],nums[3]], nums[4]]);
- for x in (flines.readlines()):
- nums = [float(n) for n in x.split()];
- lines.append([[nums[0],nums[1]],[nums[2],nums[3]], nums[4]]);
- for x in (fclasters.readlines()):
- nums = [float(n) for n in x.split()];
- clasters.append([[nums[0],nums[1]],[nums[2],nums[3]], nums[4]]);
- for x in (fcluster_points.readlines()):
- nums = [float(n) for n in x.split()];
- cluster_points.append([nums[0],nums[1], int(nums[2])]);
- cluster_colors[int(nums[2])] = '#%02X%02X%02X' % (r(),r(),r());
- drawCircles(circles, 600,600,131, False)
- drawCircles(circles, 600,600,132, False)
- drawLines(lines)
- drawCircles(cluster_points, 600,600,133, True)
- drawLines(clasters)
- plt.show();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement