@@ -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 ):
@@ -536,18 +529,15 @@ def val_or_rc(val, rc_name):
536529 # We use FancyBboxPatch to draw a legend frame. The location
537530 # and size of the box will be updated during the drawing time.
538531
539- if facecolor is None :
540- facecolor = mpl .rcParams ["legend.facecolor" ]
532+ facecolor = mpl ._val_or_rc (facecolor , "legend.facecolor" )
541533 if facecolor == 'inherit' :
542534 facecolor = mpl .rcParams ["axes.facecolor" ]
543535
544- if edgecolor is None :
545- edgecolor = mpl .rcParams ["legend.edgecolor" ]
536+ edgecolor = mpl ._val_or_rc (edgecolor , "legend.edgecolor" )
546537 if edgecolor == 'inherit' :
547538 edgecolor = mpl .rcParams ["axes.edgecolor" ]
548539
549- if fancybox is None :
550- fancybox = mpl .rcParams ["legend.fancybox" ]
540+ fancybox = mpl ._val_or_rc (fancybox , "legend.fancybox" )
551541
552542 self .legendPatch = FancyBboxPatch (
553543 xy = (0 , 0 ), width = 1 , height = 1 ,
@@ -562,8 +552,7 @@ def val_or_rc(val, rc_name):
562552 else "square,pad=0" ),
563553 mutation_scale = self ._fontsize ,
564554 snap = True ,
565- visible = (frameon if frameon is not None
566- else mpl .rcParams ["legend.frameon" ])
555+ visible = mpl ._val_or_rc (frameon , "legend.frameon" )
567556 )
568557 self ._set_artist_props (self .legendPatch )
569558
@@ -606,11 +595,9 @@ def val_or_rc(val, rc_name):
606595 'markeredgecolor' : ['get_markeredgecolor' , 'get_edgecolor' ],
607596 'mec' : ['get_markeredgecolor' , 'get_edgecolor' ],
608597 }
598+ labelcolor = mpl ._val_or_rc (labelcolor , 'legend.labelcolor' )
609599 if labelcolor is None :
610- if mpl .rcParams ['legend.labelcolor' ] is not None :
611- labelcolor = mpl .rcParams ['legend.labelcolor' ]
612- else :
613- labelcolor = mpl .rcParams ['text.color' ]
600+ labelcolor = mpl .rcParams ['text.color' ]
614601 if isinstance (labelcolor , str ) and labelcolor in color_getters :
615602 getter_names = color_getters [labelcolor ]
616603 for handle , text in zip (self .legend_handles , self .texts ):
0 commit comments