New ScreenPanel
This commit is contained in:
Executable
+64
@@ -0,0 +1,64 @@
|
||||
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))
|
||||
Reference in New Issue
Block a user