Matplotlib 在同一图上单独绘制X轴和单独绘制数据()

Matplotlib 在同一图上单独绘制X轴和单独绘制数据(),matplotlib,Matplotlib,如果我只使用数据ax1.plotavgData,但无法使用dateFormat作为xaxis进行打印,我的打印非常完美,请帮助我修复此错误,提前感谢 日期索引: 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-1

如果我只使用数据ax1.plotavgData,但无法使用dateFormat作为xaxis进行打印,我的打印非常完美,请帮助我修复此错误,提前感谢

日期索引:

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回调中的异常 回溯最近一次呼叫上次: 文件C:\Python26\Lib\site packages\matplotlib\axes.py,第248行,在\u xy\u中 提升值错误X和y必须具有相同的第一个尺寸 ValueError:x和y必须具有相同的第一个维度

DateFormatter的错误:

_ raise ValueError的DateFormatter发现一个x=0的值,这是一个非法的日期。这通常是因为您没有通知axis它正在打印日期,例如使用ax.xaxis_date'
ValueError:DateFormatter发现一个x=0的值,这是一个非法的日期。这通常是因为您没有通知axis正在打印日期,例如使用ax.xaxis_date

请修复缩进并删除与实际问题无关的任何代码。我认为设置的颜色与此无关。为什么要做两次ax1?移动平均线在边缘处抛出点,只需抛出相同的日期,然后您就可以绘制它们。感谢您的建议,如果我使用ax1,已经删除了所有我用于美化的不需要的代码。plot_datedatenum,Av1仍然抛出错误->raise ValueError'DateFormatter发现了一个x=0的值,这是一个非法日期。这通常是因为您没有通知axis它正在打印日期,例如使用ax.xaxis_date的ValueError:DateFormatter发现一个x=0的值,这是一个非法的日期。这通常是因为您没有通知axis它正在绘制日期,例如ax.xaxis_date。请用它编辑您的问题?注释中的代码不可读。包括错误的完整跟踪,将编辑代码并再次发布…不要发布新问题,编辑此问题