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 pixel,
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,24 @@ 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+ """
136166 raise NotImplementedError ('Derived must override' )
137167
138168
@@ -217,7 +247,7 @@ class HandlerLine2DCompound(HandlerNpoints):
217247 def create_artists (self , legend , orig_handle ,
218248 xdescent , ydescent , width , height , fontsize ,
219249 trans ):
220-
250+ # Doc-string inherited
221251 xdata , xdata_marker = self .get_xdata (legend , xdescent , ydescent ,
222252 width , height , fontsize )
223253
@@ -276,7 +306,7 @@ class HandlerLine2D(HandlerNpoints):
276306 def create_artists (self , legend , orig_handle ,
277307 xdescent , ydescent , width , height , fontsize ,
278308 trans ):
279-
309+ # Doc-string inherited
280310 xdata , xdata_marker = self .get_xdata (legend , xdescent , ydescent ,
281311 width , height , fontsize )
282312
@@ -341,6 +371,7 @@ def _create_patch(self, legend, orig_handle,
341371
342372 def create_artists (self , legend , orig_handle ,
343373 xdescent , ydescent , width , height , fontsize , trans ):
374+ # Doc-string inherited
344375 p = self ._create_patch (legend , orig_handle ,
345376 xdescent , ydescent , width , height , fontsize )
346377 self .update_prop (p , orig_handle , legend )
@@ -374,6 +405,7 @@ def _create_line(orig_handle, width, height):
374405
375406 def create_artists (self , legend , orig_handle ,
376407 xdescent , ydescent , width , height , fontsize , trans ):
408+ # Doc-string inherited
377409 if orig_handle .get_fill () or (orig_handle .get_hatch () is not None ):
378410 p = self ._create_patch (orig_handle , xdescent , ydescent , width ,
379411 height )
@@ -404,7 +436,7 @@ def _default_update_prop(self, legend_handle, orig_handle):
404436
405437 def create_artists (self , legend , orig_handle ,
406438 xdescent , ydescent , width , height , fontsize , trans ):
407-
439+ # Doc-string inherited
408440 xdata , xdata_marker = self .get_xdata (legend , xdescent , ydescent ,
409441 width , height , fontsize )
410442 ydata = np .full_like (xdata , (height - ydescent ) / 2 )
@@ -471,6 +503,7 @@ def create_collection(self, orig_handle, sizes, offsets, offset_transform):
471503 def create_artists (self , legend , orig_handle ,
472504 xdescent , ydescent , width , height , fontsize ,
473505 trans ):
506+ # Doc-string inherited
474507 xdata , xdata_marker = self .get_xdata (legend , xdescent , ydescent ,
475508 width , height , fontsize )
476509
@@ -534,7 +567,7 @@ def get_err_size(self, legend, xdescent, ydescent,
534567 def create_artists (self , legend , orig_handle ,
535568 xdescent , ydescent , width , height , fontsize ,
536569 trans ):
537-
570+ # Doc-string inherited
538571 plotlines , caplines , barlinecols = orig_handle
539572
540573 xdata , xdata_marker = self .get_xdata (legend , xdescent , ydescent ,
@@ -653,6 +686,7 @@ def get_ydata(self, legend, xdescent, ydescent, width, height, fontsize):
653686 def create_artists (self , legend , orig_handle ,
654687 xdescent , ydescent , width , height , fontsize ,
655688 trans ):
689+ # Doc-string inherited
656690 markerline , stemlines , baseline = orig_handle
657691 # Check to see if the stemcontainer is storing lines as a list or a
658692 # LineCollection. Eventually using a list will be removed, and this
@@ -730,7 +764,7 @@ def __init__(self, ndivide=1, pad=None, **kwargs):
730764 def create_artists (self , legend , orig_handle ,
731765 xdescent , ydescent , width , height , fontsize ,
732766 trans ):
733-
767+ # Doc-string inherited
734768 handler_map = legend .get_legend_handler_map ()
735769
736770 if self ._ndivide is None :
@@ -797,6 +831,7 @@ def get_first(prop_array):
797831
798832 def create_artists (self , legend , orig_handle ,
799833 xdescent , ydescent , width , height , fontsize , trans ):
834+ # Doc-string inherited
800835 p = Rectangle (xy = (- xdescent , - ydescent ),
801836 width = width , height = height )
802837 self .update_prop (p , orig_handle , legend )
0 commit comments