Matplotlib 在同一图上单独绘制X轴和单独绘制数据()
如果我只使用数据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”,因为必须每分钟监视一次数据 代码是: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
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。请用它编辑您的问题?注释中的代码不可读。包括错误的完整跟踪,将编辑代码并再次发布…不要发布新问题,编辑此问题