99 </tutorials/intermediate/legend_guide>` before reading this documentation.
1010
1111Legend handlers are expected to be a callable object with a following
12- signature. ::
12+ signature::
1313
1414 legend_handler(legend, orig_handle, fontsize, handlebox)
1515
1616Where *legend* is the legend itself, *orig_handle* is the original
17- plot, *fontsize* is the fontsize in pixels, and *handlebox* is a
18- OffsetBox instance. Within the call, you should create relevant
17+ plot, *fontsize* is the fontsize in pixels, and *handlebox* is an
18+ `. OffsetBox` instance. Within the call, you should create relevant
1919artists (using relevant properties from the *legend* and/or
20- *orig_handle*) and add them into the handlebox. The artists need to
21- be scaled according to the fontsize (note that the size is in pixel ,
20+ *orig_handle*) and add them into the * handlebox* . The artists need to
21+ be scaled according to the * fontsize* (note that the size is in pixels ,
2222i.e., this is dpi-scaled value).
2323
2424This module includes definition of several legend handler classes
@@ -49,7 +49,7 @@ class HandlerBase:
4949 A base class for default legend handlers.
5050
5151 The derived classes are meant to override *create_artists* method, which
52- has a following signature. ::
52+ has the following signature::
5353
5454 def create_artists(self, legend, orig_handle,
5555 xdescent, ydescent, width, height, fontsize,
@@ -61,6 +61,18 @@ def create_artists(self, legend, orig_handle,
6161
6262 """
6363 def __init__ (self , xpad = 0. , ypad = 0. , update_func = None ):
64+ """
65+ Parameters
66+ ----------
67+
68+ xpad : float, optional
69+ Padding in x-direction.
70+ ypad : float, optional
71+ Padding in y-direction.
72+ update_func : callable, optional
73+ Function for updating the legend handler properties from another
74+ legend handler, used by `~HandlerBase.update_prop`.
75+ """
6476 self ._xpad , self ._ypad = xpad , ypad
6577 self ._update_prop_func = update_func
6678
@@ -133,6 +145,26 @@ def legend_artist(self, legend, orig_handle,
133145 def create_artists (self , legend , orig_handle ,
134146 xdescent , ydescent , width , height , fontsize ,
135147 trans ):
148+ """
149+ Return the legend artists generated.
150+
151+ Parameters
152+ ----------
153+ legend : `~matplotlib.legend.Legend`
154+ The legend for which these legend artists are being created.
155+ orig_handle : `~matplotlib.artist.Artist` or similar
156+ The object for which these legend artists are being created.
157+ xdescent, ydescent, width, height : int
158+ The rectangle (*xdescent*, *ydescent*, *width*, *height*) that the
159+ legend artists being created should fit within.
160+ fontsize : int
161+ The fontsize in pixels. The legend artists being created should
162+ be scaled according to the given fontsize.
163+ trans : `~matplotlib.transforms.Transform`
164+ The transform that is applied to the legend artists being created.
165+ Typically from unit coordinates in the handler box to screen
166+ coordinates.
167+ """
136168 raise NotImplementedError ('Derived must override' )
137169
138170
@@ -217,7 +249,7 @@ class HandlerLine2DCompound(HandlerNpoints):
217249 def create_artists (self , legend , orig_handle ,
218250 xdescent , ydescent , width , height , fontsize ,
219251 trans ):
220-
252+ # docstring inherited
221253 xdata , xdata_marker = self .get_xdata (legend , xdescent , ydescent ,
222254 width , height , fontsize )
223255
@@ -276,7 +308,7 @@ class HandlerLine2D(HandlerNpoints):
276308 def create_artists (self , legend , orig_handle ,
277309 xdescent , ydescent , width , height , fontsize ,
278310 trans ):
279-
311+ # docstring inherited
280312 xdata , xdata_marker = self .get_xdata (legend , xdescent , ydescent ,
281313 width , height , fontsize )
282314
@@ -341,6 +373,7 @@ def _create_patch(self, legend, orig_handle,
341373
342374 def create_artists (self , legend , orig_handle ,
343375 xdescent , ydescent , width , height , fontsize , trans ):
376+ # docstring inherited
344377 p = self ._create_patch (legend , orig_handle ,
345378 xdescent , ydescent , width , height , fontsize )
346379 self .update_prop (p , orig_handle , legend )
@@ -374,6 +407,7 @@ def _create_line(orig_handle, width, height):
374407
375408 def create_artists (self , legend , orig_handle ,
376409 xdescent , ydescent , width , height , fontsize , trans ):
410+ # docstring inherited
377411 if orig_handle .get_fill () or (orig_handle .get_hatch () is not None ):
378412 p = self ._create_patch (orig_handle , xdescent , ydescent , width ,
379413 height )
@@ -404,7 +438,7 @@ def _default_update_prop(self, legend_handle, orig_handle):
404438
405439 def create_artists (self , legend , orig_handle ,
406440 xdescent , ydescent , width , height , fontsize , trans ):
407-
441+ # docstring inherited
408442 xdata , xdata_marker = self .get_xdata (legend , xdescent , ydescent ,
409443 width , height , fontsize )
410444 ydata = np .full_like (xdata , (height - ydescent ) / 2 )
@@ -471,6 +505,7 @@ def create_collection(self, orig_handle, sizes, offsets, offset_transform):
471505 def create_artists (self , legend , orig_handle ,
472506 xdescent , ydescent , width , height , fontsize ,
473507 trans ):
508+ # docstring inherited
474509 xdata , xdata_marker = self .get_xdata (legend , xdescent , ydescent ,
475510 width , height , fontsize )
476511
@@ -534,7 +569,7 @@ def get_err_size(self, legend, xdescent, ydescent,
534569 def create_artists (self , legend , orig_handle ,
535570 xdescent , ydescent , width , height , fontsize ,
536571 trans ):
537-
572+ # docstring inherited
538573 plotlines , caplines , barlinecols = orig_handle
539574
540575 xdata , xdata_marker = self .get_xdata (legend , xdescent , ydescent ,
@@ -653,6 +688,7 @@ def get_ydata(self, legend, xdescent, ydescent, width, height, fontsize):
653688 def create_artists (self , legend , orig_handle ,
654689 xdescent , ydescent , width , height , fontsize ,
655690 trans ):
691+ # docstring inherited
656692 markerline , stemlines , baseline = orig_handle
657693 # Check to see if the stemcontainer is storing lines as a list or a
658694 # LineCollection. Eventually using a list will be removed, and this
@@ -730,7 +766,7 @@ def __init__(self, ndivide=1, pad=None, **kwargs):
730766 def create_artists (self , legend , orig_handle ,
731767 xdescent , ydescent , width , height , fontsize ,
732768 trans ):
733-
769+ # docstring inherited
734770 handler_map = legend .get_legend_handler_map ()
735771
736772 if self ._ndivide is None :
@@ -797,6 +833,7 @@ def get_first(prop_array):
797833
798834 def create_artists (self , legend , orig_handle ,
799835 xdescent , ydescent , width , height , fontsize , trans ):
836+ # docstring inherited
800837 p = Rectangle (xy = (- xdescent , - ydescent ),
801838 width = width , height = height )
802839 self .update_prop (p , orig_handle , legend )
0 commit comments