Closed
Description
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.