matplotlib.legend_handler
¶
Default legend handlers.
It is strongly encouraged to have read the legend guide before this documentation.
Legend handlers are expected to be a callable object with a following signature.
legend_handler(legend, orig_handle, fontsize, handlebox)
Where legend is the legend itself, orig_handle is the original plot, fontsize is the fontsize in pixels, and handlebox is a OffsetBox instance. Within the call, you should create relevant artists (using relevant properties from the legend and/or orig_handle) and add them into the handlebox. The artists needs to be scaled according to the fontsize (note that the size is in pixel, i.e., this is dpi-scaled value).
This module includes definition of several legend handler classes derived from the base class (HandlerBase) with the following method:
def legend_artist(self, legend, orig_handle, fontsize, handlebox)
-
class
matplotlib.legend_handler.
HandlerBase
(xpad=0.0, ypad=0.0, update_func=None)[source]¶ A Base class for default legend handlers.
The derived classes are meant to override create_artists method, which has a following signature.:
def create_artists(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans):
The overridden method needs to create artists of the given transform that fits in the given dimension (xdescent, ydescent, width, height) that are scaled by fontsize if necessary.
-
adjust_drawing_area
(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize)[source]¶
-
create_artists
(self, legend, orig_handle, xdescent, ydescent, width, height, fontsize, trans)[source]¶
-
legend_artist
(self, legend, orig_handle, fontsize, handlebox)[source]¶ Return the artist that this HandlerBase generates for the given original artist/handle.
Parameters: - legend
Legend
The legend for which these legend artists are being created.
- orig_handle
matplotlib.artist.Artist
or similar The object for which these legend artists are being created.
- fontsizeint
The fontsize in pixels. The artists being created should be scaled according to the given fontsize.
- handlebox
matplotlib.offsetbox.OffsetBox
The box which has been created to hold this legend entry's artists. Artists created in the
legend_artist
method must be added to this handlebox inside this method.
- legend
-
-
class
matplotlib.legend_handler.
HandlerCircleCollection
(yoffsets=None, sizes=None, **kw)[source]¶ Handler for
CircleCollection
s.Parameters: - numpointsint
Number of points to show in legend entry.
- yoffsetsarray of floats
Length numpoints list of y offsets for each point in legend entry.
Notes
Any other keyword arguments are given to
HandlerNpoints
.
-
class
matplotlib.legend_handler.
HandlerErrorbar
(xerr_size=0.5, yerr_size=None, marker_pad=0.3, numpoints=None, **kw)[source]¶ Handler for Errorbars.
Parameters: - marker_padfloat
Padding between points in legend entry.
- numpointsint
Number of points to show in legend entry.
Notes
Any other keyword arguments are given to
HandlerNpoints
.
-
class
matplotlib.legend_handler.
HandlerLine2D
(marker_pad=0.3, numpoints=None, **kw)[source]¶ Handler for
Line2D
instances.Parameters: - marker_padfloat
Padding between points in legend entry.
- numpointsint
Number of points to show in legend entry.
Notes
Any other keyword arguments are given to
HandlerNpoints
.
-
class
matplotlib.legend_handler.
HandlerLineCollection
(marker_pad=0.3, numpoints=None, **kw)[source]¶ Handler for
LineCollection
instances.Parameters: - marker_padfloat
Padding between points in legend entry.
- numpointsint
Number of points to show in legend entry.
Notes
Any other keyword arguments are given to
HandlerNpoints
.
-
class
matplotlib.legend_handler.
HandlerNpoints
(marker_pad=0.3, numpoints=None, **kw)[source]¶ A legend handler that shows numpoints points in the legend entry.
Parameters: - marker_padfloat
Padding between points in legend entry.
- numpointsint
Number of points to show in legend entry.
Notes
Any other keyword arguments are given to
HandlerBase
.
-
class
matplotlib.legend_handler.
HandlerNpointsYoffsets
(numpoints=None, yoffsets=None, **kw)[source]¶ A legend handler that shows numpoints in the legend, and allows them to be individually offset in the y-direction.
Parameters: - numpointsint
Number of points to show in legend entry.
- yoffsetsarray of floats
Length numpoints list of y offsets for each point in legend entry.
Notes
Any other keyword arguments are given to
HandlerNpoints
.
-
class
matplotlib.legend_handler.
HandlerPatch
(patch_func=None, **kw)[source]¶ Handler for
Patch
instances.Parameters: - patch_funccallable, optional
The function that creates the legend key artist. patch_func should have the signature:
def patch_func(legend=legend, orig_handle=orig_handle, xdescent=xdescent, ydescent=ydescent, width=width, height=height, fontsize=fontsize)
Subsequently the created artist will have its
update_prop
method called and the appropriate transform will be applied.
Notes
Any other keyword arguments are given to
HandlerBase
.
-
class
matplotlib.legend_handler.
HandlerPathCollection
(yoffsets=None, sizes=None, **kw)[source]¶ Handler for
PathCollection
s, which are used byscatter
.Parameters: - numpointsint
Number of points to show in legend entry.
- yoffsetsarray of floats
Length numpoints list of y offsets for each point in legend entry.
Notes
Any other keyword arguments are given to
HandlerNpoints
.
-
class
matplotlib.legend_handler.
HandlerPolyCollection
(xpad=0.0, ypad=0.0, update_func=None)[source]¶ Handler for
PolyCollection
used infill_between
andstackplot
.
-
class
matplotlib.legend_handler.
HandlerRegularPolyCollection
(yoffsets=None, sizes=None, **kw)[source]¶ Handler for
RegularPolyCollection
s.Parameters: - numpointsint
Number of points to show in legend entry.
- yoffsetsarray of floats
Length numpoints list of y offsets for each point in legend entry.
Notes
Any other keyword arguments are given to
HandlerNpoints
.
-
class
matplotlib.legend_handler.
HandlerStem
(marker_pad=0.3, numpoints=None, bottom=None, yoffsets=None, **kw)[source]¶ Handler for plots produced by
stem
.Parameters: - marker_padfloat, default: 0.3
Padding between points in legend entry.
- numpointsint, optional
Number of points to show in legend entry.
- bottomfloat, optional
- yoffsetsarray of floats, optional
Length numpoints list of y offsets for each point in legend entry.
Notes
Any other keyword arguments are given to
HandlerNpointsYoffsets
.
-
class
matplotlib.legend_handler.
HandlerTuple
(ndivide=1, pad=None, **kwargs)[source]¶ Handler for Tuple.
Additional kwargs are passed through to
HandlerBase
.Parameters: - ndivideint, default: 1
The number of sections to divide the legend area into. If None, use the length of the input tuple.
- padfloat, default:
rcParams["legend.borderpad"]
(default:0.4
) Padding in units of fraction of font size.