matplotlib中的时间格式

时间:2016-02-15 10:28:07

标签: python matplotlib

我有一些代码在y轴上绘制一些随机数据,并绘制y轴上的当前时间。

我的问题很简单,但我无法弄清楚如何去做。我在x轴上绘制的时间格式如下:

enter image description here

我的问题是,如何摆脱最后6位数字?我格式化日期时间错了吗? 我在这里查看了其他问题,大多数人在使用datetime.datetime.now()

时似乎没有这个问题

我的代码在

下面
time_start = datetime.datetime.now()
time_current = time_start                       
dt = time_current - time_start


fig1 = plt.figure(figsize=(6,2))                      
plt.ion()                                       


while dt.seconds < 100:

    DateFormatter('%H.%M.%S')
    x = datetime.datetime.now()


    y1 = np.random.random()*30                  
    y2 = np.random.random()
    y3 = np.random.random()*-10


    plt.plot(x,y1, color='blue', marker = 'o')
    plt.plot(x,y2, color='orange', marker = 'o')
    plt.plot(x,y3, color='grey', marker = 'o')

    plt.gcf().autofmt_xdate()

    plt.xlabel('Time')                                                       
    plt.ylabel('Temperature/degrees')

    plt.pause(2)                                                           


    time_current = datetime.datetime.now()                       
    dt = time_current - time_start

    plt.draw()  

fig1.savefig('foo1.png')
plt.show(block=True)   

2 个答案:

答案 0 :(得分:1)

您实际上并未使用自己创建的DateFormatter。尝试:

date_formatter = DateFormatter('%H.%M.%S')
ax = plt.gca()
ax.xaxis.set_major_formatter(date_formatter)

答案 1 :(得分:0)

您实际上并未使用DateFormatter

试试这个:

plt.gca().xaxis.set_major_formatter(DateFormatter('%H.%M.%S'))