Files
dev/script/MultiplePlot.py
2018-01-19 10:56:53 +01:00

64 lines
1.5 KiB
Python
Executable File

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))