绘图xaxis分离并绘制数据在同一图上分开()

时间:2014-05-01 12:36:44

标签: matplotlib

如果我只使用数据“ax1.plot(avgData)”,但我无法使用dateFormat作为xaxis进行绘图,请完成绘图,请帮我修复此错误,提前致谢...

dateIndex:

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 2013-10-17 10:09:01 2013-10-17 10:19:01 2013-10-17 10:29:01 2013-10-17 10:39:01 2013-10-17 10:45:24 2013-10-17 10:55:33 2013-10-17 11:00:43 2013-10-17 11:01:26 2013-10-17 11:05:33 2013-10-17 11:15:33

irValue:

124227.75 12693.62 53575.75 163444.38 0 197659.5 178733.12 202309.25 0 173196.62 0 0 209882 220471.38 37940.38 0 223880.12 224268.25 0 32587.62

我需要绘制时间和日期格式(('%d-%m-%Y%H:%M:%S'),必须每分钟监控完整的数据......

代码是:

def graphData(dateIndex,irValue,mar):

    dateIndex.pop() #taking out the last data which is zero
    irValue.pop() #taking out the last data to equals the size

    avgData = movingaverage(irValue,mar)
    spLen = len(dateIndex[mar-1:])

    fig = plt.figure()
    ax1 = plt.subplot2grid((5,4), (0,0), rowspan=4, colspan=4)
    ax1 = plt.subplot(1,1,1)

    date = mdates.strpdate2num('%Y-%m-%d %H:%M:%S')

    datenum = [date(i) for i in dateIndex] # Apply date function here.

    ax1.plot(datenum,avgData) #ax1.plot(avgData)
    ax1.grid(True)
    ax1.spines['bottom'].set_color("#5998ff")
    ax1.tick_params(axis='y')
    ax1.xaxis.set_major_locator(mticker.MaxNLocator(10))
    ax1.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H:%M:%S'))

    fig.autofmt_xdate()

    plt.show()

我得到的实际错误:

Tkinter回调中的异常 Traceback(最近一次调用最后一次): 文件“C:\ Python26 \ Lib \ site-packages \ matplotlib \ axes.py”,第248行,在_xy_from_xy中 提高ValueError(“x和y必须具有相同的第一个维度”) ValueError:x和y必须具有相同的第一维

我为DateFormatter获得的错误:

_     提高ValueError('DateFormatter发现x = 0的值,这是一个非法日期。这通常是因为你没有通知轴它正在绘制日期,例如用ax.xaxis_date()') ValueError:DateFormatter发现值为x = 0,这是一个非法日期。这通常是因为您没有告知轴它正在绘制日期,例如使用ax.xaxis_date()

0 个答案:

没有答案