使用MatPlotLib和Sql3

时间:2017-02-06 18:39:20

标签: python-3.x matplotlib sqlite

之前可能已经提出这个问题,但我一直无法找到它。

我是编程和工作的新手,主动监控和记录四个设备的电压电平。这些详细信息存储在sqlite3数据库中,其中包含日期和时间。

我现在尝试使用Sqllite3数据在Matplotlib中创建一个包含同一图表上所有四条轨迹的图。我有一个工作,虽然它有点乱。

到目前为止,这是我的代码:

import sqlite3
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from dateutil import parser
import time
import datetime

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

def graph_data():
        c.execute('SELECT DTG, Battery_Level1, Battery_Level2, Battery_Leve3, Battery_Level4 FROM Voltages')
        data = c.fetchall()
        dates = []
        values = []

        plt.xlabel('Time')
        plt.ylabel('Voltage')
        plt.title('PiPower Manager')

        for row in data:
            dates.append(parser.parse(row[0]))
            values.append(row[1])

        plt.plot_date(dates, values,'-',)



        plt.show()

graph_data()
c.close
conn.close()

但是我尝试添加其他显示的行会导致错误。任何帮助将不胜感激。

更新1

我大部分都试过玩

部分
for row in data:
    dates.append(parser.parse(row[0]))
    values.append(row[1])

我添加了一个类似下面的新部分

for row in data:
    dates.append(parser.parse(row[0]))
    values.append(row[2])

这是图表,但看起来很奇怪 - 如果我将原始图表哈希,那么就可以了。

然后我尝试添加row [3]和row [4]但是我收到错误;

Traceback (most recent call last):
  File "/home/pi/plot.py", line 41, in <module>
    graph_data()
  File "/home/pi/plot.py", line 28, in graph_data
    values.append(row[3])
IndexError: tuple index out of range

我不确定该怎么做......

0 个答案:

没有答案