@@ -427,11 +427,7 @@ def __init__(
427427 super ().__init__ ()
428428
429429 if prop is None :
430- if fontsize is not None :
431- self .prop = FontProperties (size = fontsize )
432- else :
433- self .prop = FontProperties (
434- size = mpl .rcParams ["legend.fontsize" ])
430+ self .prop = FontProperties (size = mpl ._val_or_rc (fontsize , "legend.fontsize" ))
435431 else :
436432 self .prop = FontProperties ._from_any (prop )
437433 if isinstance (prop , dict ) and "size" not in prop :
@@ -447,20 +443,17 @@ def __init__(
447443 #: instance.
448444 self ._custom_handler_map = handler_map
449445
450- def val_or_rc (val , rc_name ):
451- return val if val is not None else mpl .rcParams [rc_name ]
452-
453- self .numpoints = val_or_rc (numpoints , 'legend.numpoints' )
454- self .markerscale = val_or_rc (markerscale , 'legend.markerscale' )
455- self .scatterpoints = val_or_rc (scatterpoints , 'legend.scatterpoints' )
456- self .borderpad = val_or_rc (borderpad , 'legend.borderpad' )
457- self .labelspacing = val_or_rc (labelspacing , 'legend.labelspacing' )
458- self .handlelength = val_or_rc (handlelength , 'legend.handlelength' )
459- self .handleheight = val_or_rc (handleheight , 'legend.handleheight' )
460- self .handletextpad = val_or_rc (handletextpad , 'legend.handletextpad' )
461- self .borderaxespad = val_or_rc (borderaxespad , 'legend.borderaxespad' )
462- self .columnspacing = val_or_rc (columnspacing , 'legend.columnspacing' )
463- self .shadow = val_or_rc (shadow , 'legend.shadow' )
446+ self .numpoints = mpl ._val_or_rc (numpoints , 'legend.numpoints' )
447+ self .markerscale = mpl ._val_or_rc (markerscale , 'legend.markerscale' )
448+ self .scatterpoints = mpl ._val_or_rc (scatterpoints , 'legend.scatterpoints' )
449+ self .borderpad = mpl ._val_or_rc (borderpad , 'legend.borderpad' )
450+ self .labelspacing = mpl ._val_or_rc (labelspacing , 'legend.labelspacing' )
451+ self .handlelength = mpl ._val_or_rc (handlelength , 'legend.handlelength' )
452+ self .handleheight = mpl ._val_or_rc (handleheight , 'legend.handleheight' )
453+ self .handletextpad = mpl ._val_or_rc (handletextpad , 'legend.handletextpad' )
454+ self .borderaxespad = mpl ._val_or_rc (borderaxespad , 'legend.borderaxespad' )
455+ self .columnspacing = mpl ._val_or_rc (columnspacing , 'legend.columnspacing' )
456+ self .shadow = mpl ._val_or_rc (shadow , 'legend.shadow' )
464457 # trim handles and labels if illegal label...
465458 _lab , _hand = [], []
466459 for label , handle in zip (labels , handles ):
@@ -533,18 +526,15 @@ def val_or_rc(val, rc_name):
533526 # We use FancyBboxPatch to draw a legend frame. The location
534527 # and size of the box will be updated during the drawing time.
535528
536- if facecolor is None :
537- facecolor = mpl .rcParams ["legend.facecolor" ]
529+ facecolor = mpl ._val_or_rc (facecolor , "legend.facecolor" )
538530 if facecolor == 'inherit' :
539531 facecolor = mpl .rcParams ["axes.facecolor" ]
540532
541- if edgecolor is None :
542- edgecolor = mpl .rcParams ["legend.edgecolor" ]
533+ edgecolor = mpl ._val_or_rc (edgecolor , "legend.edgecolor" )
543534 if edgecolor == 'inherit' :
544535 edgecolor = mpl .rcParams ["axes.edgecolor" ]
545536
546- if fancybox is None :
547- fancybox = mpl .rcParams ["legend.fancybox" ]
537+ fancybox = mpl ._val_or_rc (fancybox , "legend.fancybox" )
548538
549539 self .legendPatch = FancyBboxPatch (
550540 xy = (0 , 0 ), width = 1 , height = 1 ,
@@ -559,8 +549,7 @@ def val_or_rc(val, rc_name):
559549 else "square,pad=0" ),
560550 mutation_scale = self ._fontsize ,
561551 snap = True ,
562- visible = (frameon if frameon is not None
563- else mpl .rcParams ["legend.frameon" ])
552+ visible = mpl ._val_or_rc (frameon , "legend.frameon" )
564553 )
565554 self ._set_artist_props (self .legendPatch )
566555
@@ -603,11 +592,9 @@ def val_or_rc(val, rc_name):
603592 'markeredgecolor' : ['get_markeredgecolor' , 'get_edgecolor' ],
604593 'mec' : ['get_markeredgecolor' , 'get_edgecolor' ],
605594 }
595+ labelcolor = mpl ._val_or_rc (labelcolor , 'legend.labelcolor' )
606596 if labelcolor is None :
607- if mpl .rcParams ['legend.labelcolor' ] is not None :
608- labelcolor = mpl .rcParams ['legend.labelcolor' ]
609- else :
610- labelcolor = mpl .rcParams ['text.color' ]
597+ labelcolor = mpl .rcParams ['text.color' ]
611598 if isinstance (labelcolor , str ) and labelcolor in color_getters :
612599 getter_names = color_getters [labelcolor ]
613600 for handle , text in zip (self .legend_handles , self .texts ):
0 commit comments