@@ -318,7 +318,7 @@ def __init__(self,
318
318
self .patch .set_aa (False )
319
319
320
320
self ._hold = rcParams ['axes.hold' ]
321
- self .canvas = None
321
+ self .canvas = self . _current_figure_canvas ()
322
322
323
323
if subplotpars is None :
324
324
subplotpars = SubplotParams ()
@@ -330,6 +330,48 @@ def __init__(self,
330
330
self .clf ()
331
331
self ._cachedRenderer = None
332
332
333
+ def _current_figure_canvas (self ):
334
+ b = rcParams ['backend' ].lower ()
335
+ if b == 'agg' :
336
+ from backends .backend_agg import FigureCanvasAgg as FigureCanvas
337
+ elif b == 'cairo' :
338
+ from backends .backend_cairo import FigureCanvasCairo as FigureCanvas
339
+ elif b == 'cocoaag' :
340
+ from backends .backend_cocoaagg import FigureCanvasCocoaAgg as FigureCanvas
341
+ elif b == 'fltkagg' :
342
+ from backends .backend_fltkagg import FigureCanvasFltkAgg as FigureCanvas
343
+ elif b == 'gdk' :
344
+ from backends .backend_gdk import FigureCanvasGDK as FigureCanvas
345
+ elif b == 'gtk' :
346
+ from backends .backend_gtk import FigureCanvasGTK as FigureCanvas
347
+ elif b == 'gtkagg' :
348
+ from backends .backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas
349
+ elif b == 'gtkcairo' :
350
+ from backends .backend_gtkcairo import FigureCanvasGTKCairo as FigureCanvas
351
+ elif b == 'macosx' :
352
+ from backends .backend_macosx import FigureCanvasMac as FigureCanvas
353
+ elif b == 'pdf' :
354
+ from backends .backend_pdf import FigureCanvasPdf as FigureCanvas
355
+ elif b == 'ps' :
356
+ from backends .backend_ps import FigureCanvasPS as FigureCanvas
357
+ elif b == 'qtagg' :
358
+ from backends .backend_qtagg import FigureCanvasQTAgg as FigureCanvas
359
+ elif b == 'qt4agg' :
360
+ from backends .backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
361
+ elif b == 'svg' :
362
+ from backends .backend_svg import FigureCanvasSVG as FigureCanvas
363
+ elif b == 'template' :
364
+ from backends .backend_template import FigureCanvasTemplate as FigureCanvas
365
+ elif b == 'tkagg' :
366
+ from backends .backend_tkagg import FigureCanvasTkAgg as FigureCanvas
367
+ elif b == 'wx' :
368
+ from backends .backend_wx import FigureCanvasWx as FigureCanvas
369
+ elif b == 'wxagg' :
370
+ from backends .backend_wxagg import FigureCanvasWxAgg as FigureCanvas
371
+ else :
372
+ return None
373
+ return FigureCanvas (self )
374
+
333
375
def _get_axes (self ):
334
376
return self ._axstack .as_list ()
335
377
0 commit comments