使用matplotlib和AutoDateLocator的python程序出现奇怪错误
我已经创建了一个python程序,它使用matplotlib来绘制数据,并且一直运行良好,直到今天,出现了一个错误。程序使用自动日期定位器和简明格式。如下面错误日志的最后一行所示,收到的错误为:使用matplotlib和AutoDateLocator的python程序出现奇怪错误,python,matplotlib,date-formatting,Python,Matplotlib,Date Formatting,我已经创建了一个python程序,它使用matplotlib来绘制数据,并且一直运行良好,直到今天,出现了一个错误。程序使用自动日期定位器和简明格式。如下面错误日志的最后一行所示,收到的错误为: > IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed 由于很难发布更多关于我的程序功能以及使用的数据的详细信息,我想知道是否有一个明显的解决上述问题的方法,或者您是否可以指导我在哪
> IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed
由于很难发布更多关于我的程序功能以及使用的数据的详细信息,我想知道是否有一个明显的解决上述问题的方法,或者您是否可以指导我在哪里查找问题
Tkinter回调中的异常
回溯(最近一次呼叫最后一次):
文件“C:\ProgramData\Anaconda3\lib\tkinter\u init\uuuz.py”,第1883行,
在呼叫中
return self.func(*args)
文件“C:\Users\Nick\Desktop\Uni\TUC
研究\论文\代码\ python\test\myGUI_V3.py“,第841行,在plotMeas中
fig.tight_layout()
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\cbook\deprecation.py”,
第411行,输入
包装纸
return func(*inner_args, **inner_kwargs)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\figure.py”,
第2613行,紧凑布局
kwargs=抓紧布局图(
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\tight\u layout.py”,
第303行,在get_tight_布局图中
kwargs = auto_adjust_subplotpars(fig, renderer,
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\tight\u layout.py”,
第84行,在
自动调整子批次
bb += [ax.get_tightbbox(renderer, for_layout_only=True)]
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\axes\u base.py”,
第4155行,在
拿到紧盒子
bb_xaxis = self.xaxis.get_tightbbox(
ticks_to_draw = self._update_ticks()
ticks_to_draw = self._update_ticks()
ticks_to_draw = self._update_ticks()
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\axis.py”,第行
1109号,在收货箱里
bb_xaxis = self.xaxis.get_tightbbox(
ticks_to_draw = self._update_ticks()
ticks_to_draw = self._update_ticks()
ticks_to_draw = self._update_ticks()
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\axis.py”,第行
1030,在更新中
minor_labels = self.minor.formatter.format_ticks(minor_locs)
minor_labels = self.minor.formatter.format_ticks(minor_locs)
minor_labels = self.minor.formatter.format_ticks(minor_locs)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\dates.py”,第行
797,格式为
if len(np.unique(tickdate[:, level])) > 1:
if len(np.unique(tickdate[:, level])) > 1:
if len(np.unique(tickdate[:, level])) > 1:
索引器错误:数组的索引太多:数组是一维的,但为2
索引
回溯(最近一次呼叫最后一次):
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\backends\backend\u qt5.py”,
第480行,输入
_空转
self.draw()
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\backends\backend\u agg.py”,
第407行,绘制中
self.figure.draw(self.renderer)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\artist.py”,
第41行,在draw_包装中
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\figure.py”,
第1863行,绘制中
mimage._draw_list_compositing_images(
mimage._draw_list_compositing_images(
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\image.py”,第行
131,在
_绘制\列表\合成\图像
a、 绘制(渲染器)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\artist.py”,
第41行,在draw_包装中
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\cbook\deprecation.py”,
第411行,在包装器中
返回函数(*内部参数,**内部参数)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\axes\u base.py”,
第2747行,绘制中
mimage._draw_list_compositing_images(renderer, self, artists)
mimage._draw_list_compositing_images(renderer, self, artists)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\image.py”,第行
131,在
_绘制\列表\合成\图像
a、 绘制(渲染器)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\artist.py”,
第41行,在draw_包装中
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\axis.py”,第行
1164,平局
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\axis.py”,第行
1030,在更新中
minor_labels = self.minor.formatter.format_ticks(minor_locs)
minor_labels = self.minor.formatter.format_ticks(minor_locs)
minor_labels = self.minor.formatter.format_ticks(minor_locs)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\dates.py”,第行
797,格式为
if len(np.unique(tickdate[:, level])) > 1:
if len(np.unique(tickdate[:, level])) > 1:
if len(np.unique(tickdate[:, level])) > 1:
索引器错误:数组的索引太多:数组是一维的,但为2
索引
回溯(最近一次呼叫最后一次):
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\backends\backend\u qt5.py”,
第480行,输入
_空转
self.draw()
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\backends\backend\u agg.py”,
第407行,绘制中
self.figure.draw(self.renderer)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\artist.py”,
第41行,在draw_包装中
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\figure.py”,
第1863行,绘制中
mimage._draw_list_compositing_images(
mimage._draw_list_compositing_images(
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\image.py”,第行
131,在
_绘制\列表\合成\图像
a、 绘制(渲染器)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\artist.py”,
第41行,在draw_包装中
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\cbook\deprecation.py”,
第411行,在包装器中
返回函数(*内部参数,**内部参数)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\axes\u base.py”,
第2747行,绘制中
mimage._draw_list_compositing_images(renderer, self, artists)
mimage._draw_list_compositing_images(renderer, self, artists)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\image.py”,第行
131,在
_绘制\列表\合成\图像
a、 绘制(渲染器)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\artist.py”,
第41行,在draw_包装中
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
return draw(artist, renderer, *args, **kwargs)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\axis.py”,第行
1164,平局
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\axis.py”,第行
1030,在更新中
minor_labels = self.minor.formatter.format_ticks(minor_locs)
minor_labels = self.minor.formatter.format_ticks(minor_locs)
minor_labels = self.minor.formatter.format_ticks(minor_locs)
文件
“C:\ProgramData\Anaconda3\lib\site packages\matplotlib\dates.py”,第行
797,格式为
if len(np.unique(tickdate[:, level])) > 1:
if len(np.unique(tickdate[:, level])) > 1:
if len(np.unique(tickdate[:, level])) > 1:
索引器错误:数组的索引太多:数组是一维的,但为2
索引
事实证明,AutoDateLocator的设置存在问题。由于特定的数据集,无法根据我为minticks、maxticks和intervald元组选择的值正确设置次要刻度。因此,ConcidateFormatter尝试使用定位器时对于小刻度,出现了上述错误
使用简单的DateFormatter时,没有出现错误,但小刻度和它们的标签都没有出现在绘图上。这可能值得向matplotlib报告一个自包含的示例。它至少应该更优雅地出错。