@@ -280,8 +280,13 @@ def __init__(self, width, height, svgwriter, basename=None, image_dpi=72,
280280 self .writer = XMLWriter (svgwriter )
281281 self .image_dpi = image_dpi # actual dpi at which we rasterize stuff
282282
283- self ._groupd = {}
283+ if basename is None :
284+ basename = getattr (svgwriter , "name" , "" )
285+ if not isinstance (basename , str ):
286+ basename = ""
284287 self .basename = basename
288+
289+ self ._groupd = {}
285290 self ._image_counter = itertools .count ()
286291 self ._clipd = {}
287292 self ._markers = {}
@@ -1311,9 +1316,6 @@ def print_svg(self, filename, *args, **kwargs):
13111316 __ DC_
13121317 """
13131318 with cbook .open_file_cm (filename , "w" , encoding = "utf-8" ) as fh :
1314- filename = getattr (fh , 'name' , '' )
1315- if not isinstance (filename , str ):
1316- filename = ''
13171319 if not cbook .file_requires_unicode (fh ):
13181320 fh = codecs .getwriter ('utf-8' )(fh )
13191321 self ._print_svg (filename , fh , ** kwargs )
@@ -1336,7 +1338,7 @@ def _print_svg(self, filename, fh, *, dpi=None, bbox_inches_restore=None,
13361338
13371339 renderer = MixedModeRenderer (
13381340 self .figure , width , height , dpi ,
1339- RendererSVG (w , h , fh , filename , dpi , metadata = metadata ),
1341+ RendererSVG (w , h , fh , image_dpi = dpi , metadata = metadata ),
13401342 bbox_inches_restore = bbox_inches_restore )
13411343
13421344 self .figure .draw (renderer )
0 commit comments