Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Matplotlib类时间和日期x轴_Python_Matplotlib - Fatal编程技术网

Python Matplotlib类时间和日期x轴

Python Matplotlib类时间和日期x轴,python,matplotlib,Python,Matplotlib,我有下面的函数(saveFigure),当我运行独立实例(其中x是date)和其他实例(其中x是time)时,该函数可以正常工作 但在一个python实例中,如果我使用x作为日期,然后使用x作为时间调用此函数,我会得到以下错误: plt.savefig(param.location + os.sep + param.fileName + str(dim) + '.png') File "C:\Anaconda\lib\site-packages\matplotlib\pyplot.py"

我有下面的函数(saveFigure),当我运行独立实例(其中x是date)和其他实例(其中x是time)时,该函数可以正常工作

但在一个python实例中,如果我使用x作为日期,然后使用x作为时间调用此函数,我会得到以下错误:

  plt.savefig(param.location + os.sep + param.fileName + str(dim) + '.png')
  File "C:\Anaconda\lib\site-packages\matplotlib\pyplot.py", line 472, in savefig
    return fig.savefig(*args, **kwargs)
  File "C:\Anaconda\lib\site-packages\matplotlib\figure.py", line 1370, in savefig
    self.canvas.print_figure(*args, **kwargs)
  File "C:\Anaconda\lib\site-packages\matplotlib\backends\backend_qt4agg.py", line 161, in print_figure
    FigureCanvasAgg.print_figure(self, *args, **kwargs)
  File "C:\Anaconda\lib\site-packages\matplotlib\backend_bases.py", line 2096, in print_figure
    **kwargs)
  File "C:\Anaconda\lib\site-packages\matplotlib\backends\backend_agg.py", line 492, in print_png
    FigureCanvasAgg.draw(self)
  File "C:\Anaconda\lib\site-packages\matplotlib\backends\backend_agg.py", line 440, in draw
    self.figure.draw(self.renderer)
  File "C:\Anaconda\lib\site-packages\matplotlib\artist.py", line 54, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\Anaconda\lib\site-packages\matplotlib\figure.py", line 1006, in draw
    func(*args)
  File "C:\Anaconda\lib\site-packages\matplotlib\artist.py", line 54, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\Anaconda\lib\site-packages\matplotlib\axes.py", line 2086, in draw
    a.draw(renderer)
  File "C:\Anaconda\lib\site-packages\matplotlib\artist.py", line 54, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "C:\Anaconda\lib\site-packages\matplotlib\axis.py", line 1050, in draw
    ticks_to_draw = self._update_ticks(renderer)
  File "C:\Anaconda\lib\site-packages\matplotlib\axis.py", line 937, in _update_ticks
    tick_tups = [t for t in self.iter_ticks()]
  File "C:\Anaconda\lib\site-packages\matplotlib\axis.py", line 881, in iter_ticks
    majorLocs = self.major.locator()
  File "C:\Anaconda\lib\site-packages\matplotlib\ticker.py", line 897, in __call__
    raise NotImplementedError('Derived must override')
NotImplementedError: Derived must override


def saveFigure(self, df, x, y, param, dim, timeBased):

        ax = plt.subplot(111)                           
        ax.bar(x, y)                          

        if hasattr(param, 'title'):
            ax.set_title(param.title)

        if hasattr(param, 'ylabel'):            
            if hasattr(param.ylabel, '__iter__') and dim < len(param.ylabel):
                ax.set_ylabel(param.ylabel[dim])
            else:
                ax.set_ylabel(param.ylabel)

        if hasattr(param, 'xlabel'):
            ax.set_xlabel(param.xlabel)        

        plt.gcf().autofmt_xdate()


        plt.savefig(param.location + os.sep + param.fileName + str(dim) + '.png')       
plt.savefig(param.location+os.sep+param.fileName+str(dim)+'.png')
savefig中第472行的文件“C:\Anaconda\lib\site packages\matplotlib\pyplot.py”
返回图savefig(*args,**kwargs)
savefig中的文件“C:\Anaconda\lib\site packages\matplotlib\figure.py”,第1370行
self.canvas.print_图(*args,**kwargs)
文件“C:\Anaconda\lib\site packages\matplotlib\backends\backend\u qt4agg.py”,第161行,如图所示
图canvasagg.打印图(self,*args,**kwargs)
文件“C:\Anaconda\lib\site packages\matplotlib\backend\u base.py”,第2096行,如图所示
**kwargs)
文件“C:\Anaconda\lib\site packages\matplotlib\backends\backend\u agg.py”,第492行,打印格式为png
图CAVASAGG.draw(自绘制)
文件“C:\Anaconda\lib\site packages\matplotlib\backends\backend\backend\u agg.py”,绘图中第440行
self.figure.draw(self.renderer)
文件“C:\Anaconda\lib\site packages\matplotlib\artist.py”,第54行,在draw\u包装中
绘制(艺术家、渲染器、*args、**kwargs)
文件“C:\Anaconda\lib\site packages\matplotlib\figure.py”,第1006行,在绘图中
func(*args)
文件“C:\Anaconda\lib\site packages\matplotlib\artist.py”,第54行,在draw\u包装中
绘制(艺术家、渲染器、*args、**kwargs)
文件“C:\Anaconda\lib\site packages\matplotlib\axes.py”,第2086行,在绘图中
a、 绘制(渲染器)
文件“C:\Anaconda\lib\site packages\matplotlib\artist.py”,第54行,在draw\u包装中
绘制(艺术家、渲染器、*args、**kwargs)
文件“C:\Anaconda\lib\site packages\matplotlib\axis.py”,第1050行,在绘图中
勾号\u到\u绘制=自。\u更新\u勾号(渲染器)
文件“C:\Anaconda\lib\site packages\matplotlib\axis.py”,第937行,在更新中
tick_tups=[t代表self.iter_ticks()中的t]
文件“C:\Anaconda\lib\site packages\matplotlib\axis.py”,第881行,在iter\U中
majorLocs=self.major.locator()
调用中第897行的文件“C:\Anaconda\lib\site packages\matplotlib\ticker.py”__
raise NOTEImplementedError('派生必须重写')
NotImplementedError:派生必须重写
def saveFigure(自身、df、x、y、参数、dim、基于时间):
ax=plt.子批次(111)
轴杆(x,y)
如果hasattr(参数“title”):
ax.集合标题(参数标题)
如果hasattr(参数'ylabel'):
如果hasattr(param.ylabel,“\uuu iter””)和dim
一次心理调试的尝试:你能尝试在两次连续的
saveFigure
调用之间用
plt.clf()
清除图形吗?就是这样。。。。谢谢你,伙计