64 lines
1.5 KiB
Python
Executable File
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)) |