@@ -1282,8 +1282,11 @@ class FigureCanvasSVG(FigureCanvasBase):
1282
1282
1283
1283
fixed_dpi = 72
1284
1284
1285
+ @_check_savefig_extra_args
1286
+ @_api .delete_parameter ("3.4" , "dpi" )
1285
1287
@_api .delete_parameter ("3.5" , "args" )
1286
- def print_svg (self , filename , * args , ** kwargs ):
1288
+ def print_svg (self , filename , * args , dpi = None , bbox_inches_restore = None ,
1289
+ metadata = None ):
1287
1290
"""
1288
1291
Parameters
1289
1292
----------
@@ -1318,32 +1321,24 @@ def print_svg(self, filename, *args, **kwargs):
1318
1321
with cbook .open_file_cm (filename , "w" , encoding = "utf-8" ) as fh :
1319
1322
if not cbook .file_requires_unicode (fh ):
1320
1323
fh = codecs .getwriter ('utf-8' )(fh )
1321
- self ._print_svg (filename , fh , ** kwargs )
1324
+ if dpi is None : # always use this branch after deprecation elapses
1325
+ dpi = self .figure .get_dpi ()
1326
+ self .figure .set_dpi (72 )
1327
+ width , height = self .figure .get_size_inches ()
1328
+ w , h = width * 72 , height * 72
1329
+ renderer = MixedModeRenderer (
1330
+ self .figure , width , height , dpi ,
1331
+ RendererSVG (w , h , fh , image_dpi = dpi , metadata = metadata ),
1332
+ bbox_inches_restore = bbox_inches_restore )
1333
+ self .figure .draw (renderer )
1334
+ renderer .finalize ()
1322
1335
1323
1336
@_api .delete_parameter ("3.5" , "args" )
1324
1337
def print_svgz (self , filename , * args , ** kwargs ):
1325
1338
with cbook .open_file_cm (filename , "wb" ) as fh , \
1326
1339
gzip .GzipFile (mode = 'w' , fileobj = fh ) as gzipwriter :
1327
1340
return self .print_svg (gzipwriter , ** kwargs )
1328
1341
1329
- @_check_savefig_extra_args
1330
- @_api .delete_parameter ("3.4" , "dpi" )
1331
- def _print_svg (self , filename , fh , * , dpi = None , bbox_inches_restore = None ,
1332
- metadata = None ):
1333
- if dpi is None : # always use this branch after deprecation elapses.
1334
- dpi = self .figure .get_dpi ()
1335
- self .figure .set_dpi (72 )
1336
- width , height = self .figure .get_size_inches ()
1337
- w , h = width * 72 , height * 72
1338
-
1339
- renderer = MixedModeRenderer (
1340
- self .figure , width , height , dpi ,
1341
- RendererSVG (w , h , fh , image_dpi = dpi , metadata = metadata ),
1342
- bbox_inches_restore = bbox_inches_restore )
1343
-
1344
- self .figure .draw (renderer )
1345
- renderer .finalize ()
1346
-
1347
1342
def get_default_filetype (self ):
1348
1343
return 'svg'
1349
1344
0 commit comments