使用Python绘制日常曲线图
我想制作一个每天的图表,显示小时和浓度的关系。我正在使用matplotlib和datetime模块。
当我写:
import datetime
from pylab import *
b = [datetime.time(12,0), datetime.time(13,0)]
c = [4,5]
plot(b,c)
show()
...它不太好使。
我必须使用datetime对象,而不是时间对象,才能制作这个图表:
a = [datetime.datetime(2005,5,10,12), datetime.datetime(2005,5,10,13)]
c = [4,5]
plot(a,c)
show()
但是我真的希望能用时间对象来制作这个图表...有没有什么好主意?
2 个回答
0
Time这个函数会返回秒数。
>>>print time.time()
1297696979.78
>>>print date.fromtimestamp(today)
2011-02-14
今天这个变量我设置成了当前的时间,也就是time.time()。我不太明白你为什么要把变量放进time()这个函数里。
3
你可以看看这个 matplotlib 的文档:
http://matplotlib.sourceforge.net/api/dates_api.html
问题在于,matplotlib 只会把日期时间对象转换成浮点数,而对 datetime.time 这种时间格式似乎没有相应的支持。
编辑:一种可能的解决办法是,先获取一个默认的日期(比如“今天”),然后把它和你想要的具体时间结合起来,如果你不在乎具体的日期的话:
import datetime
from pylab import *
d = datetime.date.today()
tt = [datetime.time(12,0), datetime.time(13,0)]
b = []
for t in tt:
b.append(datetime.datetime.combine(d,t))
c = [4,5]
plot(b,c)
show()