You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IPython中Matplotlib手动缩放后回退/主页按钮异常及报错问题

Matplotlib缩放/回退按钮异常及版本查询方案

一、获取Matplotlib版本的正确方法

你提到print(matplotlib.__version__)无法使用,大概率是还没导入matplotlib库导致的,试试下面几种靠谱的方法:

  • 在IPython控制台中执行:
import matplotlib
print(matplotlib.__version__)
  • 如果你用conda管理环境,直接在终端里查看:
conda list matplotlib
  • 要是用pip安装的matplotlib,终端执行:
pip show matplotlib

二、问题详情

复现代码

运行以下代码可生成预期图像,但后续操作会出现异常:

import matplotlib.pyplot as plt
import numpy as np
%matplotlib
test_numbers = np.ones((1000,1), dtype=float)
test_numbers[500] = 0
fig, ax = plt.subplots()
ax.plot(test_numbers)

异常现象

  1. 手动缩放图形窗口功能正常,但点击窗口中的回退或主页按钮时,轴缩放会被强制设置为([0,1], [0,1])
  2. 调整图形窗口大小后,再使用缩放+回退功能,会触发如下错误:
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 155, in __draw_idle_agg
    self.draw()
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 127, in draw
    super(FigureCanvasQTAggBase, self).draw()
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\backends\backend_agg.py", line 430, in draw
    self.figure.draw(self.renderer)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\artist.py", line 55, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\figure.py", line 1299, in draw
    renderer, self, artists, self.suppressComposite)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\image.py", line 138, in _draw_list_compositing_images
    a.draw(renderer)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\artist.py", line 55, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\axes\_base.py", line 2437, in draw
    mimage._draw_list_compositing_images(renderer, self, artists)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\image.py", line 138, in _draw_list_compositing_images
    a.draw(renderer)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\artist.py", line 55, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\axis.py", line 1133, in draw
    ticks_to_draw = self._update_ticks(renderer)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\axis.py", line 974, in _update_ticks
    tick_tups = list(self.iter_ticks())
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\axis.py", line 917, in iter_ticks
    majorLocs = self.major.locator()
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\dates.py", line 1061, in __call__
    self.refresh()
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\dates.py", line 1081, in refresh
    dmin, dmax = self.viewlim_to_dt()
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\dates.py", line 839, in viewlim_to_dt
    return num2date(vmin, self.tz), num2date(vmax, self.tz)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\dates.py", line 445, in num2date
    return _from_ordinalf(x, tz)
File "C:\Users\mypath\AppData\Local\Continuum\Miniconda3\lib\site-packages\matplotlib\dates.py", line 260, in _from_ordinalf
    dt = datetime.datetime.fromordinal(ix).replace(tzinfo=UTC)
ValueError: ordinal must be >= 1

已知环境信息:Python 3.6.3、IPython 6.2.1、conda 4.4.6


内容的提问来源于stack exchange,提问作者Eulenfuchswiesel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:46:10