@@ -280,8 +280,13 @@ def __init__(self, width, height, svgwriter, basename=None, image_dpi=72,
280
280
self .writer = XMLWriter (svgwriter )
281
281
self .image_dpi = image_dpi # actual dpi at which we rasterize stuff
282
282
283
- self ._groupd = {}
283
+ if basename is None :
284
+ basename = getattr (svgwriter , "name" , "" )
285
+ if not isinstance (basename , str ):
286
+ basename = ""
284
287
self .basename = basename
288
+
289
+ self ._groupd = {}
285
290
self ._image_counter = itertools .count ()
286
291
self ._clipd = {}
287
292
self ._markers = {}
@@ -1311,9 +1316,6 @@ def print_svg(self, filename, *args, **kwargs):
1311
1316
__ DC_
1312
1317
"""
1313
1318
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 = ''
1317
1319
if not cbook .file_requires_unicode (fh ):
1318
1320
fh = codecs .getwriter ('utf-8' )(fh )
1319
1321
self ._print_svg (filename , fh , ** kwargs )
@@ -1336,7 +1338,7 @@ def _print_svg(self, filename, fh, *, dpi=None, bbox_inches_restore=None,
1336
1338
1337
1339
renderer = MixedModeRenderer (
1338
1340
self .figure , width , height , dpi ,
1339
- RendererSVG (w , h , fh , filename , dpi , metadata = metadata ),
1341
+ RendererSVG (w , h , fh , image_dpi = dpi , metadata = metadata ),
1340
1342
bbox_inches_restore = bbox_inches_restore )
1341
1343
1342
1344
self .figure .draw (renderer )
0 commit comments