matplotlib.legend_handler#

默认图例处理程序。

重要的

这是一个低级的图例 API,大多数最终用户不需要。

我们建议您在阅读本文档之前先熟悉图例指南。

图例处理程序应为具有以下签名的可调用对象。

legend_handler(legend, orig_handle, fontsize, handlebox)

其中legend是图例本身,orig_handle是原始图,fontsize是以像素为单位的字体大小,handlebox是 OffsetBox 实例。在调用中,您应该创建相关艺术家(使用图例和/或 orig_handle中的相关属性)并将它们添加到句柄箱中。艺术家需要根据字体大小进行缩放(注意大小以像素为单位,即这是dpi-scaled值)。

该模块包括使用以下方法从基类(HandlerBase)派生的几个图例处理程序类的定义:

def legend_artist(self, legend, orig_handle, fontsize, handlebox)
matplotlib.legend_handler。HandlerBase ( xpad = 0.0 , ypad = 0.0 , update_func = None ) [来源] #

默认图例处理程序的基类。

派生类旨在覆盖create_artists方法,该方法具有以下签名:

def create_artists(self, legend, orig_handle,
                   xdescent, ydescent, width, height, fontsize,
                   trans):

重写的方法需要创建适合给定尺寸(xdescent、ydescent、width、height)的给定变换的艺术家,必要时按字体大小缩放。

adjust_drawing_area ( legend , orig_handle , xdescent , ydescent , width , height , fontsize ) [来源] #
create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
legend_artist ( legend , orig_handle , fontsize , handlebox ) [source] #

返回此 HandlerBase 为给定的原始艺术家/句柄生成的艺术家。

参数
传奇Legend

这些传奇艺术家正在创造的传奇。

orig_handlematplotlib.artist.Artist或类似的

为这些传奇艺术家创建对象。

字体大小int

以像素为单位的字体大小。正在创建的艺术家应该根据给定的字体大小进行缩放。

把手箱matplotlib.offsetbox.OffsetBox

为容纳此传奇条目的艺术家而创建的盒子。在该方法中创建的艺术家legend_artist必须添加到该方法内部的该句柄框中。

update_prop ( legend_handle , orig_handle , legend ) [来源] #
matplotlib.legend_handler。HandlerCircleCollection ( yoffsets = None , sizes = None , ** kwargs ) [source] #

s 的处理程序CircleCollection

参数
整数

图例条目中显示的点数。

yoffsets浮点数数组

图例条目中每个点的 y 偏移的长度numpoints列表。

**kwargs

关键字参数转发到HandlerNpoints.

create_collection ( orig_handle , sizes , offsets , offset_transform ) [source] #
matplotlib.legend_handler。HandlerErrorbar ( xerr_size = 0.5 , yerr_size = None , marker_pad = 0.3 , numpoints = None , ** kwargs ) [来源] #

错误栏的处理程序。

参数
marker_pad浮动

图例条目中的点之间的填充。

整数

图例条目中显示的点数。

**kwargs

关键字参数转发到HandlerBase.

create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
get_err_size ( legend , xdescent , ydescent , width , height , fontsize ) [source] #
matplotlib.legend_handler。HandlerLine2D ( marker_pad = 0.3 , numpoints = None , ** kwargs ) [来源] #

Line2D实例处理程序。

也可以看看

HandlerLine2DCompound

一个较早的处理程序实现,它使用一个艺术家作为线条,另一个艺术家作为标记。

参数
marker_pad浮动

图例条目中的点之间的填充。

整数

图例条目中显示的点数。

**kwargs

关键字参数转发到HandlerBase.

create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
matplotlib.legend_handler。HandlerLine2DCompound ( marker_pad = 0.3 , numpoints = None , ** kwargs ) [source] #

实例的原始处理程序Line2D,它依赖于将仅行与仅标记艺术家相结合。将来可能会被弃用。

参数
marker_pad浮动

图例条目中的点之间的填充。

整数

图例条目中显示的点数。

**kwargs

关键字参数转发到HandlerBase.

create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
matplotlib.legend_handler。HandlerLineCollection ( marker_pad = 0.3 , numpoints = None , ** kwargs ) [source] #

LineCollection实例处理程序。

参数
marker_pad浮动

图例条目中的点之间的填充。

整数

图例条目中显示的点数。

**kwargs

关键字参数转发到HandlerBase.

create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
get_numpoints (图例) [来源] #
matplotlib.legend_handler。HandlerNpoints ( marker_pad = 0.3 , numpoints = None , ** kwargs ) [来源] #

在图例条目中显示numpoints点的图例处理程序。

参数
marker_pad浮动

图例条目中的点之间的填充。

整数

图例条目中显示的点数。

**kwargs

关键字参数转发到HandlerBase.

get_numpoints (图例) [来源] #
get_xdata ( legend , xdescent , ydescent , width , height , fontsize ) [source] #
matplotlib.legend_handler。HandlerNpointsYoffsets ( numpoints = None , yoffsets = None , ** kwargs ) [来源] #

一个图例处理程序,在图例中显示numpoints,并允许它们在 y 方向上单独偏移。

参数
整数

图例条目中显示的点数。

yoffsets浮点数数组

图例条目中每个点的 y 偏移的长度numpoints列表。

**kwargs

关键字参数转发到HandlerNpoints.

get_ydata ( legend , xdescent , ydescent , width , height , fontsize ) [source] #
matplotlib.legend_handler。HandlerPatch ( patch_func = None , ** kwargs ) [source] #

Patch实例处理程序。

参数
patch_func可调用,可选

创建图例关键艺术家的功能。 patch_func应该有签名:

def patch_func(legend=legend, orig_handle=orig_handle,
               xdescent=xdescent, ydescent=ydescent,
               width=width, height=height, fontsize=fontsize)

随后,创建的艺术家将update_prop 调用其方法并应用适当的变换。

**kwargs

关键字参数转发到HandlerBase.

create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
matplotlib.legend_handler。HandlerPathCollection ( yoffsets = None , sizes = None , ** kwargs ) [source] #

s 的处理程序PathCollection,由scatter.

参数
整数

图例条目中显示的点数。

yoffsets浮点数数组

图例条目中每个点的 y 偏移的长度numpoints列表。

**kwargs

关键字参数转发到HandlerNpoints.

create_collection ( orig_handle , sizes , offsets , offset_transform ) [source] #
matplotlib.legend_handler。HandlerPolyCollection ( xpad = 0.0 , ypad = 0.0 , update_func = None ) [来源] #

PolyCollection用于fill_between和 的处理程序stackplot

create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
matplotlib.legend_handler。HandlerRegularPolyCollection ( yoffsets = None , sizes = None , ** kwargs ) [source] #

s 的处理程序RegularPolyCollection

参数
整数

图例条目中显示的点数。

yoffsets浮点数数组

图例条目中每个点的 y 偏移的长度numpoints列表。

**kwargs

关键字参数转发到HandlerNpoints.

create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
create_collection ( orig_handle , sizes , offsets , offset_transform ) [source] #
get_numpoints (图例) [来源] #
get_sizes ( legend , orig_handle , xdescent , ydescent , width , height , fontsize ) [来源] #
update_prop ( legend_handle , orig_handle , legend ) [来源] #
matplotlib.legend_handler。HandlerStem ( marker_pad = 0.3 , numpoints = None , bottom = None , yoffsets = None , ** kwargs ) [来源] #

处理程序产生的情节stem

参数
marker_pad浮动,默认:0.3

图例条目中的点之间的填充。

numpoints int,可选

图例条目中显示的点数。

底部浮子,可选
yoffsets浮点数组,可选

图例条目中每个点的 y 偏移的长度numpoints列表。

**kwargs

关键字参数转发到HandlerNpointsYoffsets.

create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
get_ydata ( legend , xdescent , ydescent , width , height , fontsize ) [source] #
matplotlib.legend_handler。HandlerStepPatch ( xpad = 0.0 , ypad = 0.0 , update_func = None ) [来源] #

StepPatch实例处理程序。

create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
matplotlib.legend_handler。HandlerTuple ( ndivide = 1 , pad = None , ** kwargs ) [source] #

元组的处理程序。

参数
ndivide int,默认值:1

将图例区域划分为的部分数。如果没有,使用输入元组的长度。

填充浮动,默认值:(rcParams["legend.borderpad"]默认值0.4:)

以字体大小的分数为单位进行填充。

**kwargs

关键字参数转发到HandlerBase.

create_artists ( legend , orig_handle , xdescent , ydescent , width , height , fontsize , trans ) [来源] #
matplotlib.legend_handler。update_from_first_child ( tgt , src ) [来源] #