ipython matplotlib在手动缩放功能中出现问题

时间:2018-01-08 10:54:29

标签: python matplotlib ipython anaconda

在ipython控制台中运行以下内容

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)

将按预期给出正确的情节。在后续创建的图形窗口上使用手动缩放将根据需要放大。但是,如果在创建的图形窗口中使用“后退”或“主页”按钮,则将轴缩放设置为([0,1],[0,1])。 更糟糕的是,如果我在我实际看到的数据上更改我的数字大小并使用缩放和后退功能将创建以下错误

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

请发表评论,让我知道如何提供所需的正确版本信息(print(matplotlib.__version)不起作用)。我会相应地更新问题。

Python版本3.6.3

IPython 6.2.1

conda 4.4.6

1 个答案:

答案 0 :(得分:0)

这是一个记忆问题

我今天尝试重现错误,并意识到如果没有上传庞大的pandas数据帧(大小(450016,35)),该示例可以正常工作。