@@ -237,6 +237,10 @@ def _update_bbox_to_anchor(self, loc_in_canvas):
237
237
title : str or None
238
238
The legend's title. Default is no title (``None``).
239
239
240
+ title_prop : None or `matplotlib.font_manager.FontProperties` or dict
241
+ The font properties of the legend's title. If None (default), the current
242
+ :data:`matplotlib.rcParams` will be used.
243
+
240
244
title_fontsize : int or {'xx-small', 'x-small', 'small', 'medium', 'large', \
241
245
'x-large', 'xx-large'}, default: :rc:`legend.title_fontsize`
242
246
The font size of the legend's title.
@@ -323,6 +327,7 @@ def __init__(self, parent, handles, labels,
323
327
# box, none use rc
324
328
shadow = None ,
325
329
title = None , # set a title for the legend
330
+ title_prop = None , # properties for the legend title
326
331
title_fontsize = None , # the font size for the title
327
332
framealpha = None , # set frame alpha
328
333
edgecolor = None , # frame patch edgecolor
@@ -507,10 +512,22 @@ def __init__(self, parent, handles, labels,
507
512
self ._loc_used_default = tmp # ignore changes done by _set_loc
508
513
509
514
# figure out title fontsize:
510
- if title_fontsize is None :
511
- title_fontsize = mpl .rcParams ['legend.title_fontsize' ]
512
- tprop = FontProperties (size = title_fontsize )
513
- self .set_title (title , prop = tprop )
515
+ if title_prop is None :
516
+ if title_fontsize is None :
517
+ title_fontsize = mpl .rcParams ["legend.title_fontsize" ]
518
+ self .title_prop = FontProperties (
519
+ size = title_fontsize )
520
+ else :
521
+ self .title_prop = FontProperties ._from_any (title_prop )
522
+ if isinstance (title_prop , dict ) and "size" not in title_prop :
523
+ if title_fontsize is None :
524
+ title_fontsize = mpl .rcParams ["legend.title_fontsize" ]
525
+ self .title_prop .set_size (title_fontsize )
526
+ else :
527
+ if title_fontsize is not None :
528
+ self .title_prop .set_size (title_fontsize )
529
+
530
+ self .set_title (title , prop = self .title_prop )
514
531
self ._draggable = None
515
532
516
533
# set the text color
0 commit comments