import random def clear_plot(): title = "test" plots = get_plots(title = title) if len(plots)>0: plots[0].clear() def add_plot(x,y, name=None, clear = False): title = "test" plots = get_plots(title = title) p = None if len(plots)==0: p = plot(None,name=name, title = title)[0] p.getAxis(p.AxisId.X).setRange(-50,150) p.getAxis(p.AxisId.Y).setRange(-50,150) p.setLegendVisible(True) else: p = plots[0] if clear: p.clear() p.addSeries(LinePlotSeries(name)) s = p.getSeries(name) s.setLinesVisible(False) s.setPointSize(3) s.setData(x, y) #In the first time the plot shows, it takes some time for the color to be assigned while s.color is None: time.sleep(0.001) hull = LinePlotSeries(name + " Hull", s.color) """ #Bounding box x1,x2,y1,y2 = min(x), max(x), min(y), max(y) (hx,hy) = ([x1,x2, x2, x1, x1], [y1, y1, y2, y2, y1]) """ #Convex Hull (hx,hy) = convex_hull(x=x, y=y) hx.append(hx[0]) hy.append(hy[0]) p.addSeries(hull) hull.setLineWidth(2) hull.setData(hx,hy) hull.setColor(s.color) clear_plot() x=[] y=[] for step in range(1,5): x=[] y=[] for i in range(20): x.append(random.random() * 100 / step) y.append(random.random() * 100/ step) add_plot (x,y,"Step " + str(step))