Hi everyone,
Does anyone have any python code showing how to plot multiple dyamic traces per plot.
Are multiple datasources and renderers the way to go ?
What I’ve got so far and it sort of works but seems to stop updating after a period of time is as follows.
Please don’t judge me by my python, I’m new here
output_server("Temperature",url="http://192.168.1.252:5006")
p = figure(x_axis_type = "datetime",title="Temperature",x_axis_label='Time',y_axis_label='Temp')
p.line(x, y ,legend="Temperature",name='Temperature',color='red')
p.line(x, y2 ,legend="Temperature2",name='Temperature2',color='blue')
show(p)
renderer = p.select(dict(name="Temperature"))
ds = renderer[0].data_source
renderer2 = p.select(dict(name="Temperature2"))
ds2 = renderer2[0].data_source
print ds2.data
ser = serial.Serial('/dev/ttyUSB0', 57600)
while 1:
if update_count==0:
run_start_time=datetime.datetime.now()
line = ser.readline() # read a '\n' terminated line
csvdata = line.split(',')
print csvdata
if len(csvdata) == 6 and not(csvdata[0]=='4'):
x = datetime.datetime.now()
light[csvdata[0]] =[x,int(csvdata[1])]
temperature[csvdata[0]] =[x,float(csvdata[2])]
humidity[csvdata[0]] = [x,float(csvdata[3])]
gas[csvdata[0]] = [x,int(csvdata[4])]
pressure[csvdata[0]] = [x,float(csvdata[5])]
update_count+=1
run_current_time=datetime.datetime.now()
run_elapsed_time=run_current_time-run_start_time
if update_count%4==0:
print 'Doing plot'
if '1' in temperature:
ds.data["x"].append(temperature['1'][0])
ds.data["y"].append(temperature['1'][1])
cursession().store_objects(ds)
if '2' in temperature:
ds2.data["x"].append(temperature['2'][0])
ds2.data["y"].append(temperature['2'][1])
cursession().store_objects(ds2)
Enter code here...
``
Thanks
Lachlan