Py学习  »  Python

尝试用python绘制sqlite数据图

RLynch • 5 年前 • 1238 次点击  
import sqlite3
import time
import datetime
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from matplotlib import style
style.use('fivethirtyeight')##Use any style you like

from dateutil import parser
from w1thermsensor import W1ThermSensor


conn = sqlite3.connect('temp_sensor2.db')
c = conn.cursor()

def graph_data():
        c.execute('SELECT datestamp, temperature FROM datetemp 
               ORDER BY id DESC LIMIT 10')
        data = c.fetchall()
        date = []
        temperature = []

        for row in data:
            date.append(parser.parse(row[0]))
            temperature.append(row[1])
        plt.plot_date(date,temperature,'-')##line style
        plt.show()

graph_data()

我试图用python从sqlite数据库中绘制一些温度数据。上面的代码将生成一个图-但是我正在尝试绘制最后10个条目,它似乎是随机地在数据库中选择10个(连续的)条目来绘制图。有什么想法吗?我知道很近! 同样,这个图与时间戳并不完全对应,而是一次只对应一件事!!!! 提前谢谢你。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/44326
 
1238 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Ben Dickson
Reply   •   1 楼
Ben Dickson    6 年前

在SQL语句中:

'SELECT datestamp, temperature FROM datetemp ORDER BY id DESC LIMIT 10'

目前还不清楚该id是如何生成的。您可能正在按某个随机的32位字符串进行排序。如果您想要10个最近的条目,请尝试:

SELECT datestamp, temperature FROM datetemp ORDER BY datestamp DESC LIMIT 10