示例#1
0
def plotth():
    data = db.read_db()
    xdataTemp = []
    ydataTemp = []
    xdataHumidity = []
    ydataHumidity = []
    for i in range(0, len(data['temperature'])):
        xdataTemp.append(data['temperature'][i]['_id'])
        ydataTemp.append(data['temperature'][i]['value'])
    for i in range(0, len(data['humidity'])):
        xdataHumidity.append(data['humidity'][i]['_id'])
        ydataHumidity.append(data['humidity'][i]['value'])
    # Filter out (remove) all 'None' values from the dictionary and replace by previous value
        # Solution: https://stackoverflow.com/questions/35868549/fill-na-in-a-list-with-the-last-know-value-in-python
    for i, j in enumerate(ydataTemp):
        if j is None:
            if i == 0: ydataTemp = next(item for item in ydataTemp if item is not None)
            else: ydataTemp[i] = ydataTemp[i-1]
    for i, j in enumerate(ydataHumidity):
        if j is None:
            if i == 0: ydataHumidity = next(item for item in ydataHumidity if item is not None)
            else: ydataHumidity[i] = ydataHumidity[i - 1]
    xdataTemp = [datetime.strptime(date, "%m/%d/%Y;%H:%M:%S") for date in xdataTemp]
    xdataHumidity = [datetime.strptime(date, "%m/%d/%Y;%H:%M:%S") for date in xdataHumidity]
    plot = figure(x_axis_label='date', x_axis_type='datetime', width=600, height=600)
    plot.line(xdataTemp, ydataTemp, line_width=2, line_color='green')
    plot.line(xdataHumidity, ydataHumidity, line_width=2, line_color='blue')
    # return Markup(file_html(plot, CDN, "data"))
    return json.dumps(json_item(plot, "thplot"))
示例#2
0
文件: start.py 项目: dozebear/CrossIN
 def connect_db(self):
     # 初始化按钮
     for i, starter in enumerate(read_db()):
         button = self.gridLayout.itemAt(i).widget()
         button.fname = starter.fname
         button.name = starter.name
         button.state = starter.state
         button.setText(button.name)
示例#3
0
def plotlx():
    data = db.read_db()
    xdata = []
    ydata = []
    for i in range(0, len(data['light'])):
        xdata.append(data['light'][i]['_id'])
        ydata.append(data['light'][i]['value'])
    plot = figure(x_axis_type='datetime', width=600, height=600)
    xdata = [datetime.strptime(date, "%m/%d/%Y;%H:%M:%S") for date in xdata]
    ydata = list(map(float, ydata))
    plot.line(xdata, ydata, line_width=2)
    return json.dumps(json_item(plot, "lxplot"))
示例#4
0
def plotir():
    data = db.read_db()
    xdata = []
    ydata = []
    for i in range(0, len(data['infrared'])):
        xdata.append(data['infrared'][i]['_id'])
        ydata.append(data['infrared'][i]['value'])
    plot = figure(x_axis_type='datetime', y_range=Range1d(bounds=(0, 1)), width=600, height=600)
    plot.step(xdata, ydata, line_width=2, mode="center")
    xdata = [datetime.strptime(date, "%m/%d/%Y;%H:%M:%S") for date in xdata]
    ydata = list(map(float, ydata))
    plot.line(xdata, ydata, line_width=2)
    # return Markup(file_html(plot, CDN, "data"))
    return json.dumps(json_item(plot, "irplot"))