Python 3.x 使用MatPlotLib和Sql3根据日期和时间进行多个绘图

Python 3.x 使用MatPlotLib和Sql3根据日期和时间进行多个绘图,python-3.x,matplotlib,sqlite,Python 3.x,Matplotlib,Sqlite,以前可能有人问过这个问题,但我一直找不到 我是一个编程新手,在一个项目中工作,积极监测和记录四个设备的电压水平。这些详细信息存储在sqlite3数据库中,并带有获取它们的日期和时间 现在,我正在尝试使用Sqllite3数据在Matplotlib中创建一个绘图,在同一个图形中包含所有四条记录道。我有一个正在工作,虽然有点乱 以下是我目前的代码: import sqlite3 import matplotlib.pyplot as plt import matplotlib.dates as mda

以前可能有人问过这个问题,但我一直找不到

我是一个编程新手,在一个项目中工作,积极监测和记录四个设备的电压水平。这些详细信息存储在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])
这确实是一个图形,但看起来很奇怪——如果我把原始的数据散列出来,它就可以绘制了

然后,我尝试添加第[3]行和第[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
回溯(最近一次呼叫最后一次):
文件“/home/pi/plot.py”,第41行,在
图_数据()
图形数据中第28行的文件“/home/pi/plot.py”
values.append(第[3]行)
索引器错误:元组索引超出范围

我真的不知道该怎么做……

你添加其他行的代码是什么,错误消息是什么?whrrgarbl请在主帖子上查看我的更新编辑。我还想要一个图例!!!!!五颜六色