Отслеживание даты и времени неинформативно - PullRequest
0 голосов
/ 13 мая 2019

Я использовал плоттер SciView от PyCharm (я думаю, что это бэкэнд 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.

Мне удалось немного сузить источник проблемы, закомментировав несколько строк, но это утомительный процесс, и я представляю,есть более целесообразный способ сделать это.

Как я могу точно узнать, какая строка кода вызывает эту ошибку?

1 Ответ

0 голосов
/ 13 мая 2019

В трассировке отображается строка, которая вызывает ошибку интерпретатора, даже если она отсутствует в вашем источнике. Чтобы найти проблему, нужно пройтись по коду, чтобы выявить состояние, вызывающее ошибку.

Отладчик PyCharm делает это менее утомительным. Используйте функцию «step into» с вашими переменными в качестве наблюдателей, пока не получите ошибку.

Или ...

Если SciView работает (только не в интерактивном режиме), попробуйте бэкэнд, отличный от Qt, например, TkAgg.

matplotlib.use('TkAgg')

Интерактивный режим работает с несколькими графическими бэкэндами, и вам может понадобиться попробовать их все, чтобы найти наилучшее соответствие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...