8000 'FigureCanvasAgg' object has no attribute '_is_idle_drawing' (1.5.0rc1) · Issue #5094 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content
'FigureCanvasAgg' object has no attribute '_is_idle_drawing' (1.5.0rc1) #5094
Closed
@mdehoon

Description

@mdehoon

Using the MacOSX backend as well as other backends (e.g. the PDF backend), saving a figure to a PNG fails with 1.5.0rc1:

>>> from pylab import *
>>> figure()
<matplotlib.figure.Figure object at 0x10a387210>
>>> plot([1,2,5])
[<matplotlib.lines.Line2D object at 0x10c864a10>]
>>> savefig("test.png")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/pyplot.py", line 690, in savefig
    res = fig.savefig(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/figure.py", line 1540, in savefig
    self.canvas.print_figure(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/backend_bases.py", line 2136, in print_figure
    canvas = self._get_output_canvas(format)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/backend_bases.py", line 2072, in _get_output_canvas
    return self.switch_backends(canvas_class)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/backend_bases.py", line 2296, in switch_backends
    newCanvas = FigureCanvasClass(self.figure)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/backend_bases.py", line 1681, in __init__
    figure.set_canvas(self)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/figure.py", line 563, in set_canvas
    self.stale = True
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/artist.py", line 267, in stale
    self.stale_callback(self, val)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/pyplot.py", line 564, in _auto_draw_if_interactive
    fig.canvas.draw_idle()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/backend_bases.py", line 2023, in draw_idle
    if not self._is_idle_drawing:
AttributeError: 'FigureCanvasAgg' object has no attribute '_is_idle_drawing'
>>> Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/artist.py", line 61, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/figure.py", line 1134, in draw
    func(*args)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/artist.py", line 61, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/axes/_base.py", line 2203, in draw
    self.apply_aspect()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/axes/_base.py", line 1329, in apply_aspect
    self.set_position(position, which='active')
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/axes/_base.py", line 836, in set_position
    self.stale = True
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/artist.py", line 267, in stale
    self.stale_callback(self, val)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/figure.py", line 56, in _stale_figure_callback
    self.figure.stale = val
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/artist.py", line 267, in stale
    self.stale_callback(self, val)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/pyplot.py", line 564, in _auto_draw_if_interactive
    fig.canvas.draw_idle()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0rc1-py2.7-macosx-10.9-intel.egg/matplotlib/backend_bases.py", line 2023, in draw_idle
    if not self._is_idle_drawing:
AttributeError: 'FigureCanvasAgg' object has no attribute '_is_idle_drawing'

This error does not occur with matplotlib 1.4.3.

Metadata

Metadata

Assignees

Labels

Release criticalFor bugs that make the library unusable (segfaults, incorrect plots, etc) and major regressions.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0