之前可能已经提出这个问题,但我一直无法找到它。
我是编程和工作的新手,主动监控和记录四个设备的电压电平。这些详细信息存储在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
我不确定该怎么做......