在matplotlib中为样本分配日期

时间:2010-11-03 14:22:18

标签: python numpy matplotlib

给定一些任意数据的numpy数组,如何绘制它以使日期出现在x轴上?在这种情况下,样本0将是一些时间,比如7:00,之后的每个样本将间隔一分钟,因此对于60个样本,显示的时间应该是7:00,7:01,..., 7:59。

我在这里看了一些其他问题,但他们都需要实际设定一个日期和其他一些与我想做的事情相比感觉非常高的东西。

谢谢!

了Christoph

1 个答案:

答案 0 :(得分:1)

如果为x轴使用日期时间对象数组,则plot()函数的行为与您想要的一样(假设您不希望显示从7:00到7:59的所有60个标签) 。以下是示例代码:

import random
from pylab import *
from datetime import *
N = 60
t0 = datetime.combine(date.today(), time(7,0,0))
delta_t = timedelta(minutes=1)
x_axis = t0 + arange(N)*delta_t
plot(x_axis, random(N))
show()

关于combine()函数的使用,请参阅问题python time + timedelta equivalent