@@ -1282,8 +1282,11 @@ class FigureCanvasSVG(FigureCanvasBase):
12821282
12831283 fixed_dpi = 72
12841284
1285+ @_check_savefig_extra_args
1286+ @_api .delete_parameter ("3.4" , "dpi" )
12851287 @_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 ):
12871290 """
12881291 Parameters
12891292 ----------
@@ -1318,32 +1321,24 @@ def print_svg(self, filename, *args, **kwargs):
13181321 with cbook .open_file_cm (filename , "w" , encoding = "utf-8" ) as fh :
13191322 if not cbook .file_requires_unicode (fh ):
13201323 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 ()
13221335
13231336 @_api .delete_parameter ("3.5" , "args" )
13241337 def print_svgz (self , filename , * args , ** kwargs ):
13251338 with cbook .open_file_cm (filename , "wb" ) as fh , \
13261339 gzip .GzipFile (mode = 'w' , fileobj = fh ) as gzipwriter :
13271340 return self .print_svg (gzipwriter , ** kwargs )
13281341
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-
13471342 def get_default_filetype (self ):
13481343 return 'svg'
13491344
0 commit comments