@@ -281,8 +281,6 @@ def _suplabels(self, t, info, **kwargs):
281
281
Additional kwargs are `matplotlib.text.Text` properties.
282
282
"""
283
283
284
- suplab = getattr (self , info ['name' ])
285
-
286
284
x = kwargs .pop ('x' , None )
287
285
y = kwargs .pop ('y' , None )
288
286
if info ['name' ] in ['_supxlabel' , '_suptitle' ]:
@@ -294,29 +292,24 @@ def _suplabels(self, t, info, **kwargs):
294
292
if y is None :
295
293
y = info ['y0' ]
296
294
297
- if 'horizontalalignment' not in kwargs and 'ha' not in kwargs :
298
- kwargs ['horizontalalignment' ] = info ['ha' ]
299
- if 'verticalalignment' not in kwargs and 'va' not in kwargs :
300
- kwargs ['verticalalignment' ] = info ['va' ]
301
- if 'rotation' not in kwargs :
302
- kwargs ['rotation' ] = info ['rotation' ]
295
+ kwargs = cbook .normalize_kwargs (kwargs , Text )
296
+ kwargs .setdefault ('horizontalalignment' , info ['ha' ])
297
+ kwargs .setdefault ('verticalalignment' , info ['va' ])
298
+ kwargs .setdefault ('rotation' , info ['rotation' ])
303
299
304
300
if 'fontproperties' not in kwargs :
305
- if 'fontsize' not in kwargs and 'size' not in kwargs :
306
- kwargs ['size' ] = mpl .rcParams [info ['size' ]]
307
- if 'fontweight' not in kwargs and 'weight' not in kwargs :
308
- kwargs ['weight' ] = mpl .rcParams [info ['weight' ]]
301
+ kwargs .setdefault ('fontsize' , mpl .rcParams [info ['size' ]])
302
+ kwargs .setdefault ('fontweight' , mpl .rcParams [info ['weight' ]])
309
303
310
- sup = self . text ( x , y , t , ** kwargs )
304
+ suplab = getattr ( self , info [ 'name' ] )
311
305
if suplab is not None :
312
306
suplab .set_text (t )
313
307
suplab .set_position ((x , y ))
314
- suplab .update_from (sup )
315
- sup .remove ()
308
+ suplab .set (** kwargs )
316
309
else :
317
- suplab = sup
310
+ suplab = self .text (x , y , t , ** kwargs )
311
+ setattr (self , info ['name' ], suplab )
318
312
suplab ._autopos = autopos
319
- setattr (self , info ['name' ], suplab )
320
313
self .stale = True
321
314
return suplab
322
315
0 commit comments