我使用的是PyCharm的SciView绘图仪(我认为它是matplotlib后端),但是由于它无法启用缩放和平移和其他功能,因此我将其禁用。现在,我抛出了以下错误:
ValueError: view limit minimum -1.0 is less than 1 and is an invalid Matplotlib date value. This often happens if you pass a non-datetime value to an axis that has datetime units
Traceback (most recent call last):
然后出现一个回溯,该回溯没有以我自己的任何文件结尾。它以
开头File "C:\Path\To\My\Project\lib\site-packages\matplotlib\backends\backend_qt5.py", line 519, in _draw_idle
self.draw()
但以
结尾File "C:\Path\To\My\Project\lib\site-packages\matplotlib\dates.py", line 1000, in viewlim_to_dt
.format(vmin))
这不是我写的文件,所以我什至看不到我的哪个函数引发了此异常。
在脚本的开头我得到了这个:
Backend Qt5Agg is interactive backend. Turning interactive mode on.
通过注释几行,我设法将问题的源头缩小了一点,但这是一个乏味的过程,而且我认为有一种更方便的方法可以做到这一点。
我如何才能确切地找到引起此错误的代码行?
答案 0 :(得分:0)
回溯确实会显示导致解释器错误的行,即使它不在您的源代码中也是如此。单步执行代码以揭示导致错误的状态是您发现问题的方式。
PyCharm调试器使此工作不再那么乏味。将“逐步进入”功能与变量一起用作监视对象,直到出现错误。
或者...
如果SciView工作正常(仅不在交互模式下),请尝试使用Qt以外的后端,例如TkAgg。
matplotlib.use('TkAgg')
交互模式可与多个图形后端一起使用,您可能需要尝试所有图形后端才能找到最合适的对象。