diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 0f7cb58e30f0..afee7551a091 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -41,17 +41,6 @@ Features that depend on the Python Imaging Library, such as JPEG handling, do not work, since the version of PIL for Python 3.x is not sufficiently mature. -Object-oriented interface -------------------------- - -Damon McDougall has reduced some of the boilerplate code needed to interact -with the object-oriented interface. Now a figure canvas is set up by default:: - - >>> from matplotlib.figure import Figure - >>> fig = Figure() - >>> ax = fig.add_subplot(1, 1, 1) - >>> fig.savefig('figure.pdf') - PGF/TikZ backend ---------------- Peter Würtz wrote a backend that allows matplotlib to export figures as diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index 9760336b5bf8..e221989a6dbd 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -515,5 +515,3 @@ def print_to_buffer(self): (int(renderer.width), int(renderer.height))) renderer.dpi = original_dpi return result - -FigureCanvas = FigureCanvasAgg diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index 00471f0398c1..966e618fa408 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -512,5 +512,3 @@ def _save (self, fo, format, **kwargs): ctx.show_page() surface.finish() - -FigureCanvas = FigureCanvasCairo diff --git a/lib/matplotlib/backends/backend_cocoaagg.py b/lib/matplotlib/backends/backend_cocoaagg.py index dd4142404e8c..5c9c04938874 100644 --- a/lib/matplotlib/backends/backend_cocoaagg.py +++ b/lib/matplotlib/backends/backend_cocoaagg.py @@ -89,7 +89,7 @@ def stop_event_loop(self): FigureCanvasBase.stop_event_loop_default(self) stop_event_loop.__doc__=FigureCanvasBase.stop_event_loop_default.__doc__ -FigureCanvas = FigureCanvasCocoaAgg + NibClassBuilder.extractClasses('Matplotlib.nib', mplBundle) diff --git a/lib/matplotlib/backends/backend_emf.py b/lib/matplotlib/backends/backend_emf.py index 7a289b79829b..50da4fea706f 100644 --- a/lib/matplotlib/backends/backend_emf.py +++ b/lib/matplotlib/backends/backend_emf.py @@ -727,8 +727,6 @@ def print_emf(self, filename, dpi=300, **kwargs): def get_default_filetype(self): return 'emf' -FigureCanvas = FigureCanvasEMF - class FigureManagerEMF(FigureManagerBase): """ Wrap everything up into a window for the pylab interface diff --git a/lib/matplotlib/backends/backend_fltkagg.py b/lib/matplotlib/backends/backend_fltkagg.py index a8215e4aa2cf..52d4bd3b1efd 100644 --- a/lib/matplotlib/backends/backend_fltkagg.py +++ b/lib/matplotlib/backends/backend_fltkagg.py @@ -231,8 +231,6 @@ def stop_event_loop(self): FigureCanvasBase.stop_event_loop_default(self) stop_event_loop.__doc__=FigureCanvasBase.stop_event_loop_default.__doc__ -FigureCanvas = FigureCanvasFltkAgg - def destroy_figure(ptr, figman): figman.window.hide() Fltk.Fl.wait(0) # This is needed to make the last figure vanish. diff --git a/lib/matplotlib/backends/backend_gdk.py b/lib/matplotlib/backends/backend_gdk.py index 556fea2c16a2..c0790c6591bb 100644 --- a/lib/matplotlib/backends/backend_gdk.py +++ b/lib/matplotlib/backends/backend_gdk.py @@ -434,7 +434,7 @@ def new_figure_manager_given_figure(num, figure): return manager -class FigureCanvasGDK(FigureCanvasBase): +class FigureCanvasGDK (FigureCanvasBase): def __init__(self, figure): FigureCanvasBase.__init__(self, figure) @@ -472,5 +472,3 @@ def _print_image(self, filename, format, *args, **kwargs): 0, 0, 0, 0, width, height) pixbuf.save(filename, format) - -FigureCanvas = FigureCanvasGDK diff --git a/lib/matplotlib/backends/backend_gtk.py b/lib/matplotlib/backends/backend_gtk.py index 87ac0398a525..760404d83e4e 100644 --- a/lib/matplotlib/backends/backend_gtk.py +++ b/lib/matplotlib/backends/backend_gtk.py @@ -144,7 +144,7 @@ def _on_timer(self): return False -class FigureCanvasGTK(gtk.DrawingArea, FigureCanvasBase): +class FigureCanvasGTK (gtk.DrawingArea, FigureCanvasBase): keyvald = {65507 : 'control', 65505 : 'shift', 65513 : 'alt', @@ -519,8 +519,6 @@ def stop_event_loop(self): FigureCanvasBase.stop_event_loop_default(self) stop_event_loop.__doc__=FigureCanvasBase.stop_event_loop_default.__doc__ -FigureCanvas = FigureCanvasGTK - class FigureManagerGTK(FigureManagerBase): """ Public attributes diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 3c65bc3f7c36..30597dfdd6ed 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -98,7 +98,7 @@ def _on_timer(self): self._timer = None return False -class FigureCanvasGTK3(Gtk.DrawingArea, FigureCanvasBase): +class FigureCanvasGTK3 (Gtk.DrawingArea, FigureCanvasBase): keyvald = {65507 : 'control', 65505 : 'shift', 65513 : 'alt', diff --git a/lib/matplotlib/backends/backend_gtk3agg.py b/lib/matplotlib/backends/backend_gtk3agg.py index 44e4516bd1c6..c05e0266631a 100644 --- a/lib/matplotlib/backends/backend_gtk3agg.py +++ b/lib/matplotlib/backends/backend_gtk3agg.py @@ -67,7 +67,6 @@ def print_png(self, filename, *args, **kwargs): agg = self.switch_backends(backend_agg.FigureCanvasAgg) return agg.print_png(filename, *args, **kwargs) -FigureCanvas = FigureCanvasGTK3Agg class FigureManagerGTK3Agg(backend_gtk3.FigureManagerGTK3): pass diff --git a/lib/matplotlib/backends/backend_gtk3cairo.py b/lib/matplotlib/backends/backend_gtk3cairo.py index b2fef69e7289..2b1fefc04d4b 100644 --- a/lib/matplotlib/backends/backend_gtk3cairo.py +++ b/lib/matplotlib/backends/backend_gtk3cairo.py @@ -34,7 +34,6 @@ def on_draw_event(self, widget, ctx): return False # finish event propagation? -FigureCanvas = FigureCanvasGTK3Cairo class FigureManagerGTK3Cairo(backend_gtk3.FigureManagerGTK3): pass diff --git a/lib/matplotlib/backends/backend_gtkagg.py b/lib/matplotlib/backends/backend_gtkagg.py index c6ad67640417..cdd0bbae8723 100644 --- a/lib/matplotlib/backends/backend_gtkagg.py +++ b/lib/matplotlib/backends/backend_gtkagg.py @@ -111,7 +111,6 @@ def print_png(self, filename, *args, **kwargs): agg = self.switch_backends(FigureCanvasAgg) return agg.print_png(filename, *args, **kwargs) -FigureCanvas = FigureCanvasGTKAgg """\ Traceback (most recent call last): diff --git a/lib/matplotlib/backends/backend_gtkcairo.py b/lib/matplotlib/backends/backend_gtkcairo.py index d57734646bf0..2cd41ba720eb 100644 --- a/lib/matplotlib/backends/backend_gtkcairo.py +++ b/lib/matplotlib/backends/backend_gtkcairo.py @@ -55,7 +55,6 @@ def _renderer_init(self): if _debug: print('%s.%s()' % (self.__class__.__name__, _fn_name())) self._renderer = RendererGTKCairo (self.figure.dpi) -FigureCanvas = FigureCanvasGTKCairo class FigureManagerGTKCairo(FigureManagerGTK): def _get_toolbar(self, canvas): diff --git a/lib/matplotlib/backends/backend_macosx.py b/lib/matplotlib/backends/backend_macosx.py index 9f64f967aec9..73dffb83b9ec 100644 --- a/lib/matplotlib/backends/backend_macosx.py +++ b/lib/matplotlib/backends/backend_macosx.py @@ -352,7 +352,6 @@ def new_timer(self, *args, **kwargs): """ return TimerMac(*args, **kwargs) -FigureCanvas = FigureCanvasMac class FigureManagerMac(_macosx.FigureManager, FigureManagerBase): """ diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index 3211a2eb80d4..06f9b1d30156 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -2299,8 +2299,6 @@ def print_pdf(self, filename, **kwargs): else: # we opened the file above; now finish it off file.close() -FigureCanvas = FigureCanvasPdf - class FigureManagerPdf(FigureManagerBase): pass diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 8cee93a32236..efdc7b340edc 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -838,8 +838,6 @@ def _render_texts_pgf(self, fh): def get_renderer(self): return RendererPgf(self.figure, None) -FigureCanvas = FigureCanvasPgf - class FigureManagerPgf(FigureManagerBase): def __init__(self, *args): FigureManagerBase.__init__(self, *args) diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py index cc0420deffdc..5a0d9ead019d 100644 --- a/lib/matplotlib/backends/backend_ps.py +++ b/lib/matplotlib/backends/backend_ps.py @@ -1357,8 +1357,6 @@ def write(self, *kl, **kwargs): shutil.move(tmpfile, outfile) os.chmod(outfile, mode) -FigureCanvas = FigureCanvasPS - def convert_psfrags(tmpfile, psfrags, font_preamble, custom_preamble, paperWidth, paperHeight, orientation): """ diff --git a/lib/matplotlib/backends/backend_qt.py b/lib/matplotlib/backends/backend_qt.py index 8ea2c048d2cd..38c5705de35c 100644 --- a/lib/matplotlib/backends/backend_qt.py +++ b/lib/matplotlib/backends/backend_qt.py @@ -203,8 +203,6 @@ def stop_event_loop(self): FigureCanvasBase.stop_event_loop_default(self) stop_event_loop.__doc__=FigureCanvasBase.stop_event_loop_default.__doc__ -FigureCanvas = FigureCanvasQT - class FigureManagerQT( FigureManagerBase ): """ Public attributes diff --git a/lib/matplotlib/backends/backend_qt4.py b/lib/matplotlib/backends/backend_qt4.py index 0ff9a69d2a28..6c22bbb92e25 100644 --- a/lib/matplotlib/backends/backend_qt4.py +++ b/lib/matplotlib/backends/backend_qt4.py @@ -377,8 +377,6 @@ def idle_draw(*args): self._idle = True if d: QtCore.QTimer.singleShot(0, idle_draw) -FigureCanvas = FigureCanvasQT - class FigureManagerQT( FigureManagerBase ): """ Public attributes diff --git a/lib/matplotlib/backends/backend_qt4agg.py b/lib/matplotlib/backends/backend_qt4agg.py index ddba18fcd527..07017818e853 100644 --- a/lib/matplotlib/backends/backend_qt4agg.py +++ b/lib/matplotlib/backends/backend_qt4agg.py @@ -145,5 +145,3 @@ def blit(self, bbox=None): def print_figure(self, *args, **kwargs): FigureCanvasAgg.print_figure(self, *args, **kwargs) self.draw() - -FigureCanvas = FigureCanvasQTAgg diff --git a/lib/matplotlib/backends/backend_qtagg.py b/lib/matplotlib/backends/backend_qtagg.py index 61fc731fd733..91a9cd47133e 100644 --- a/lib/matplotlib/backends/backend_qtagg.py +++ b/lib/matplotlib/backends/backend_qtagg.py @@ -156,5 +156,3 @@ def blit(self, bbox=None): def print_figure(self, *args, **kwargs): FigureCanvasAgg.print_figure(self, *args, **kwargs) self.draw() - -FigureCanvas = FigureCanvasQTAgg diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py index c02287a15c43..e57ebcde69c4 100644 --- a/lib/matplotlib/backends/backend_svg.py +++ b/lib/matplotlib/backends/backend_svg.py @@ -1143,8 +1143,6 @@ def _print_svg(self, filename, svgwriter, fh_to_close=None, **kwargs): def get_default_filetype(self): return 'svg' -FigureCanvas = FigureCanvasSVG - class FigureManagerSVG(FigureManagerBase): pass diff --git a/lib/matplotlib/backends/backend_template.py b/lib/matplotlib/backends/backend_template.py index eaf21c08e78f..ae7f01088e9c 100644 --- a/lib/matplotlib/backends/backend_template.py +++ b/lib/matplotlib/backends/backend_template.py @@ -245,8 +245,6 @@ def print_foo(self, filename, *args, **kwargs): def get_default_filetype(self): return 'foo' -FigureCanvas = FigureCanvasTemplate - class FigureManagerTemplate(FigureManagerBase): """ Wrap everything up into a window for the pylab interface diff --git a/lib/matplotlib/backends/backend_tkagg.py b/lib/matplotlib/backends/backend_tkagg.py index 53d86f81cf87..92198928d25f 100644 --- a/lib/matplotlib/backends/backend_tkagg.py +++ b/lib/matplotlib/backends/backend_tkagg.py @@ -505,8 +505,6 @@ def stop_event_loop(self): FigureCanvasBase.stop_event_loop_default(self) stop_event_loop.__doc__=FigureCanvasBase.stop_event_loop_default.__doc__ -FigureCanvas = FigureCanvasTkAgg - class FigureManagerTkAgg(FigureManagerBase): """ Public attributes diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 628025362728..b58433f53d53 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1400,7 +1400,6 @@ def _onEnter(self, evt): """Mouse has entered the window.""" FigureCanvasBase.enter_notify_event(self, guiEvent = evt) -FigureCanvas = FigureCanvasWx ######################################################################## # diff --git a/lib/matplotlib/backends/backend_wxagg.py b/lib/matplotlib/backends/backend_wxagg.py index c10b0ee5d19a..5b301a045f04 100644 --- a/lib/matplotlib/backends/backend_wxagg.py +++ b/lib/matplotlib/backends/backend_wxagg.py @@ -105,8 +105,6 @@ def print_figure(self, filename, *args, **kwargs): if self._isDrawn: self.draw() -FigureCanvas = FigureCanvasWxAgg - class NavigationToolbar2WxAgg(NavigationToolbar2Wx): def get_canvas(self, frame, fig): return FigureCanvasWxAgg(frame, -1, fig) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index be4c5fb5aa45..798cd661fc1e 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -318,7 +318,7 @@ def __init__(self, self.patch.set_aa(False) self._hold = rcParams['axes.hold'] - self.canvas = self._setup_canvas() + self.canvas = None if subplotpars is None: subplotpars = SubplotParams() @@ -330,14 +330,6 @@ def __init__(self, self.clf() self._cachedRenderer = None - def _setup_canvas(self): - """ - Return the FigureCanvas instance defined by the currently loaded backend. - """ - import matplotlib.backends as mbackends # lazy import - backend_mod = mbackends.pylab_setup()[0] - return backend_mod.FigureCanvas(self) - def show(self, warn=True): """ If using a GUI backend with pyplot, display the figure window.