【发布时间】:2013-01-14 20:01:56
【问题描述】:
我正在使用 psycopg2 从数据库中提取数据以获取记录失败的日期和时间。我想将时间绘制在 y 轴上,日期在 x 轴上。点图似乎是理想的选择。
这是我获取数据的代码的一部分,并在其上使用 zip 来制作我想要绘制的两个对象,
cur.execute("SELECT date, time FROM querytimes where server = (%s) AND date > CURRENT_DATE - (%s) AND fail = 'Yes'", (server,days,))
# retrieve the whole result set
data = cur.fetchall()
# close connection
cur.close()
conn.close()
# Test
date, time = zip(*data)
这些是生成的“日期”和时间对象,
(datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime. date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date (2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 10), datetime.date(2013, 1, 11), datetime.date(2013, 1, 12) ), datetime.date(2013, 1, 12), datetime.date(2013, 1, 13))
(datetime.time(15, 25, 3), datetime.time(15, 26, 3), datetime.time(15, 27, 4), datetime.time(15, 28, 3), datetime. time(15, 29, 3), datetime.time(15, 30, 4), datetime.time(15, 31, 3), datetime.time(15, 32, 4), datetime.time(15, 33, 3), datetime.time(15, 34, 3), datetime.time(15, 35, 3), datetime.time(15, 36, 3), datetime.time(15, 37, 3), datetime.time (15, 38, 3), datetime.time(15, 39, 3), datetime.time(15, 40, 3), datetime.time(0, 20, 4), datetime.time(6, 19, 3 ), datetime.time(10, 50, 3), datetime.time(2, 19, 3))
我在绘制此图时遇到问题。据我了解,这些需要在 matplotlib 之前先转换为浮点数才能理解数据?
尝试使用 date2num 并且适用于“日期”对象,但不确定如何为“时间”对象执行此操作。
谢谢
【问题讨论】:
标签: python matplotlib