从对象< dateIndex'中绘制XLabel日期格式

时间:2014-05-01 09:15:15

标签: python datetime matplotlib

我的对象列表'dateIndex'看起来像这样......

2013-10-16 12:42:49
2013-10-16 12:42:49
2013-10-16 12:42:49
2013-10-16 12:42:49
2013-10-17 09:09:53
2013-10-17 09:10:40
2013-10-17 09:10:42
2013-10-17 09:20:02
2013-10-17 09:30:02
2013-10-17 09:40:02
2013-10-17 09:48:52
2013-10-17 09:59:01

我需要在x标签上获取这些日期和时间,但我不知道如何。

我的绘图功能:

def graphData(dateIndex,irValue):

    fig = plt.figure()
    ax1 = plt.subplot2grid((5,4), (0,0), rowspan=4, colspan=4)#, axisbg='#07000d')
    ax1 = plt.subplot(1,1,1)

    date = mdates.strpdate2num('%d-%m-%Y %H:%M:%S')
    converters = { dateIndex:mdates.strpdate2num('%d-%m-%Y %H:%M:%S') }
    #this is where i get an error -> unhashable type: 'list'
    ax1.plot(date,irValue)
    ax1.grid(True)
    ax1.spines['bottom'].set_color("#5998ff")
    ax1.tick_params(axis='y')
    ax1.xaxis.set_major_locator(mticker.MaxNLocator(10))
    ax1.axis.set_major_formatter(mdates.DateFormatter('%d-%m-%Y %H:%M:%S'))

1 个答案:

答案 0 :(得分:0)

您正在创建mdates.strpdate2num函数,但从未将其应用于实际的日期字符串。

下面给出了一个固定的graphData函数,其中使用了列表推导来应用该函数。我还修复了您的功能的另外两个问题,即:您应该使用plot_date而不是plot,而在设置您的时候,您错过了来自x的{​​{1}}格式化。

xaxis