matplotlib.backend_bases

抽象基类定义渲染器和图形上下文必须实现的原语,以用作Matplotlib后端。

RendererBase
用于处理绘图/呈现操作的抽象基类。
FigureCanvasBase
Figure 从后端特定的细节,如用户界面绘图区域。
GraphicsContextBase
提供颜色、线条样式等的抽象基类。
Event
所有Matplotlib事件处理的基类。派生类,例如 KeyEventMouseEvent 存储元数据,如按下的键和按钮、x和y的像素位置和 Axes 协调。
ShowBase
的基类 Show 类;然后将“show”可调用设置为 Show.__call__ .
ToolContainerBase
每个交互后端的工具栏类的基类。
class matplotlib.backend_bases.CloseEvent(name, canvas, guiEvent=None)[源代码]

基类:matplotlib.backend_bases.Event

由正在关闭的图形触发的事件。

class matplotlib.backend_bases.DrawEvent(name, canvas, renderer)[源代码]

基类:matplotlib.backend_bases.Event

由画布上的绘图操作触发的事件

在大多数后端中,订阅此回调的回调将在渲染完成但屏幕更新之前激发。绘制到画布渲染器的任何其他艺术家都将反映出来,而无需显式调用 blit .

警告

调用 canvas.drawcanvas.blit 在这些回调中,所有后端可能都不安全,并可能导致无限递归。

除了 Event 属性,定义以下事件属性:

属性:
渲染器RendererBaseRendererBase

绘制事件的渲染器。

class matplotlib.backend_bases.Event(name, canvas, guiEvent=None)[源代码]

基类:object

Matplotlib事件。附加中定义的其他属性 FigureCanvasBase.mpl_connect() . 定义并显示以下属性的默认值

属性:
nameSTR

事件名称。

帆布FigureCanvasBaseFigureCanvasBase

生成事件的后端特定画布实例。

guiEvent

触发Matplotlib事件的GUI事件。

class matplotlib.backend_bases.FigureCanvasBase(figure)[源代码]

基类:object

图形渲染到的画布。

属性:
图形matplotlib.figure.Figurematplotlib.figure.Figure

高级人物实例。

blit(bbox=None)[源代码]

在bbox中Blit画布(默认为整个画布)。

button_press_event(x, y, button, dblclick=False, guiEvent=None)[源代码]

鼠标按钮按下事件的回调处理。

后端派生类应该在任何按下鼠标键时调用此函数。( xy )是画布坐标((0,0)在左下角)。按钮和键的定义如 MouseEvent .

此方法将使用 MouseEvent 实例。

button_release_event(x, y, button, guiEvent=None)[源代码]

鼠标按钮释放事件的回调处理。

后端派生类应该在任何鼠标按钮释放时调用此函数。

此方法将使用 MouseEvent 实例。

参数:
x浮动

画布坐标为0=左。

y浮动

画布坐标为0=底部。

guiEvent

生成Matplotlib事件的本机UI事件。

close_event(guiEvent=None)[源代码]

通过A CloseEvent 连接到所有功能 close_event .

draw(*args, **kwargs)[源代码]

渲染 Figure .

draw_cursor(event)[源代码]

[Deprecated] 如果in axes不是none,则在event.axes中绘制一个光标。如果可能,使用本地图形用户界面绘图以提高效率

笔记

3.2 版后已移除.

draw_event(renderer)[源代码]

通过A DrawEvent 连接到所有功能 draw_event .

draw_idle(*args, **kwargs)[源代码]

一旦控件返回到GUI事件循环,请求一个小部件重画。

即使多次调用 draw_idle 发生在控件返回到GUI事件循环之前,图形将只呈现一次。

笔记

后端可以选择覆盖该方法并实现自己的策略来防止多重渲染。

enter_notify_event(guiEvent=None, xy=None)[源代码]

鼠标光标进入画布的回调处理。

后端派生类在进入画布时应调用此函数。

参数:
guiEvent

生成Matplotlib事件的本机UI事件。

xy(浮标,浮标)

输入画布时指针的坐标位置。

events = ['resize_event', 'draw_event', 'key_press_event', 'key_release_event', 'button_press_event', 'button_release_event', 'scroll_event', 'motion_notify_event', 'pick_event', 'figure_enter_event', 'figure_leave_event', 'axes_enter_event', 'axes_leave_event', 'close_event']
filetypes = {'eps': 'Encapsulated Postscript', 'jpeg': 'Joint Photographic Experts Group', 'jpg': 'Joint Photographic Experts Group', 'pdf': 'Portable Document Format', 'pgf': 'PGF code for LaTeX', 'png': 'Portable Network Graphics', 'ps': 'Postscript', 'raw': 'Raw RGBA bitmap', 'rgba': 'Raw RGBA bitmap', 'svg': 'Scalable Vector Graphics', 'svgz': 'Scalable Vector Graphics', 'tif': 'Tagged Image File Format', 'tiff': 'Tagged Image File Format'}
fixed_dpi = None
flush_events()[源代码]

刷新图形的GUI事件。

交互式后端需要重新实现此方法。

get_default_filename()[源代码]

返回一个字符串,该字符串包含扩展名,适合用作默认文件名。

classmethod get_default_filetype()[源代码]

返回中指定的默认savefig文件格式 rcParams["savefig.format"] (default: 'png') .

返回的字符串不包含句点。此方法在仅支持单一文件类型的后端中被重写。

classmethod get_supported_filetypes()[源代码]

返回此后端支持的savefig文件格式的dict。

classmethod get_supported_filetypes_grouped()[源代码]

返回此后端支持的savefig文件格式的dict,其中键是文件类型名,例如“联合摄影专家组”,值是用于该文件类型的文件扩展名列表,例如 [“JPG”,“JPEG”] .

get_width_height()[源代码]

返回以点或像素为单位的图形宽度和高度(取决于后端),截断为整数。

get_window_title()[源代码]

返回包含图形的窗口的标题文本,如果没有窗口(例如PS后端),则返回None。

grab_mouse(ax)[源代码]

把孩子放好 Axes 抓取鼠标事件。

通常由小部件自己调用。如果鼠标已被其他轴抓取,则调用此命令是错误的。

inaxes(xy)[源代码]

返回最上面可见的 Axes 包含要点 xy .

参数:
xy(浮标,浮标)

(x,y)画布左/底部的像素位置。

返回:
Axes 或无

包含该点的最上面的可见轴,如果没有轴,则无。

is_saving()[源代码]

返回渲染器是否正在保存到文件,而不是为屏幕缓冲区渲染。

key_press_event(key, guiEvent=None)[源代码]

通过A KeyEvent 连接到所有功能 key_press_event .

key_release_event(key, guiEvent=None)[源代码]

通过A KeyEvent 连接到所有功能 key_release_event .

leave_notify_event(guiEvent=None)[源代码]

鼠标光标离开画布的回调处理。

后端派生类应该在离开画布时调用此函数。

参数:
guiEvent

生成Matplotlib事件的本机UI事件。

motion_notify_event(x, y, guiEvent=None)[源代码]

鼠标移动事件的回调处理。

后端派生类应该在任何运动通知事件上调用此函数。

此方法将使用 MouseEvent 实例。

参数:
x浮动

画布坐标为0=左。

y浮动

画布坐标为0=底部。

guiEvent

生成Matplotlib事件的本机UI事件。

mpl_connect(s, func)[源代码]

绑定函数 func 到事件 s .

参数:
sSTR

下列事件之一ID:

  • 'button_press_event'
  • 'button_release_event'
  • 'draw_event'
  • 'key_press_event'
  • 'key_release_event'
  • 'motion_notify_event'
  • 'pick_event'
  • 'resize_event'
  • 'scroll_event'
  • 'figure_enter_event',
  • 'figure_leave_event',
  • 'axes_enter_event',
  • 'axes_leave_event'
  • 'close_event'.
func可赎回的

要执行的回调函数,该函数必须具有以下签名:

def func(event: Event) -> Any

对于位置事件(按钮和按键按下/释放),如果鼠标位于轴上,则 inaxes 事件的属性将设置为 Axes 事件发生结束,另外,变量 xdataydata 属性将被设置为鼠标在数据坐标中的位置。看到了吗 KeyEventMouseEvent 更多信息。

返回:
CID

可用于的连接id FigureCanvasBase.mpl_disconnect .

实例

def on_press(event):
    print('you pressed', event.button, event.xdata, event.ydata)

cid = canvas.mpl_connect('button_press_event', on_press)
mpl_disconnect(cid)[源代码]

断开id为的回调 cid .

实例

cid = canvas.mpl_connect('button_press_event', on_press)
# ... later
canvas.mpl_disconnect(cid)
new_timer(interval=None, callbacks=None)[源代码]

创建新的后端特定子类 Timer .

这对于通过后端的本机事件循环获取周期性事件非常有用。只在有gui的后端实现。

参数:
interval利息

计时器间隔(毫秒)。

callbacks表 [tuple[可调用,tuple,dict] ]

(func,args,kwargs)的序列,其中 func(*args, **kwargs) 将由计时器执行 间隔 .

返回的回调 False0 将从计时器中删除。

实例

>>> timer = fig.canvas.new_timer(callbacks=[(f1, (1,), {'a': 3})])
pick(mouseevent)[源代码]
pick_event(mouseevent, artist, **kwargs)[源代码]

pick事件的回调处理。

此方法将由选中的艺术家调用,并将激发 PickEvent 回调已注册的侦听器。

print_figure(filename, dpi=None, facecolor=None, edgecolor=None, orientation='portrait', format=None, *, bbox_inches=None, pad_inches=None, bbox_extra_artists=None, backend=None, **kwargs)[源代码]

将图形渲染为硬拷贝。设置图形贴片面和边的颜色。这很有用,因为有些gui有一个灰色的人脸颜色背景,您可能希望在硬拷贝上覆盖它。

参数:
filenamestr或path like或file like

保存地物的文件。

dpi : float, default: rcParams["savefig.dpi"] (default: 'figure')浮动,默认值:

每英寸的点数以保存图形。

脸色 : color or 'auto', default: rcParams["savefig.facecolor"] (default: 'auto')颜色或“自动”,默认值:

人物的脸色。如果为“自动”,则使用当前地物颜色。

变色染料 : color or 'auto', default: rcParams["savefig.edgecolor"] (default: 'auto')颜色或“自动”,默认值:

人物的边缘颜色。如果为“自动”,则使用当前地物边颜色。

orientation{'landscape','portrait'},默认值:'纵向'

当前仅适用于PostScript打印。

format可选的STR

强制使用特定的文件格式。如果未给定,则从 文件名 如果扩展失败 rcParams["savefig.format"] (default: 'png') .

bbox_inches : 'tight' or Bbox, default: rcParams["savefig.bbox"] (default: None)“紧”或

以英寸为单位的边界框:仅保存图形的给定部分。如果“紧”,试着找出这个数字的紧框。

pad_inches : float, default: rcParams["savefig.pad_inches"] (default: 0.1)浮动,默认值:

bbox_inches “很紧”。

bbox_extra_artists 名单 Artist 可选名单

当计算Tight BBox时将考虑的额外艺术家列表。

backend可选的STR

使用非默认后端渲染文件,例如,使用“cairo”后端而不是默认的“agg”渲染png文件,或使用“pgf”后端而不是默认的“pdf”渲染pdf文件。请注意,默认后端通常是足够的。看到了吗 内置后端 获取每个文件格式的有效后端列表。自定义后端可以引用为“模块://。。。".

release_mouse(ax)[源代码]

Release the mouse grab held by the Axes ax.

通常由小部件调用。即使是这样,也可以这样称呼 ax 当前没有鼠标抓取。

required_interactive_framework = None
resize(w, h)[源代码]

以像素为单位设置画布大小。

resize_event()[源代码]

通过A ResizeEvent 连接到所有功能 resize_event .

scroll_event(x, y, step, guiEvent=None)[源代码]

滚动事件的回调处理。

后端派生类应在任何滚轮事件上调用此函数。( xy )是画布坐标((0,0)在左下方)。按钮和键的定义见 MouseEvent .

此方法将使用 MouseEvent 实例。

set_window_title(title)[源代码]

设置包含图形的窗口的标题文本。请注意,如果没有窗口(例如,PS后端),这不会产生任何影响。

start_event_loop(timeout=0)[源代码]

启动阻塞事件循环。

这种事件循环由交互函数使用,例如 ginputwaitforbuttonpress ,以等待事件。

事件循环将一直阻塞,直到回调函数触发 stop_event_loop超时 达到。

如果 超时 为0或负数,从不超时。

只有交互后端需要重新实现此方法,它依赖于 flush_events 正确执行。

交互式后端应该以更本地的方式实现这一点。

stop_event_loop()[源代码]

停止当前阻塞事件循环。

交互式后端需要重新实现以匹配 start_event_loop

supports_blit = False
switch_backends(FigureCanvasClass)[源代码]

实例化FigureCanvasClass的实例

这用于后端切换,例如,从FigureCanvasGTK实例化FigureCanvasPS。注意,深度复制没有完成,因此对其中一个实例的任何更改(例如,设置图形大小或线条属性)都将反映在另一个实例中。

class matplotlib.backend_bases.FigureManagerBase(canvas, num)[源代码]

基类:object

图形容器和控制器的独立于后端的抽象。

pyplot使用图形管理器以独立于后端的方式与窗口交互。它是real(GUI)框架的适配器,表示屏幕上的可视图形。

GUI后端从这个类定义来转换诸如 show调整大小 到GUI特定的代码。非GUI后端不支持这些操作,只能使用基类。

可以访问以下基本操作:

窗口操作

按键和鼠标按键操作

图形管理器通过连接 key_press_handler 到matplotlib事件系统。这样可以确保在后端使用相同的快捷方式和鼠标操作。

其他业务

子类将具有访问附加功能的附加属性和函数。这当然是特定于后端的。例如,大多数GUI后端都有 windowtoolbar 属性,这些属性允许访问相应框架的本机GUI小部件。

属性:
帆布FigureCanvasBaseFigureCanvasBase

后端特定的画布实例。

numINT/STR

数字编号。

key_press_handler_id利息

使用工具管理器时的默认键处理程序cid。要禁用默认按键处理,请使用:

figure.canvas.mpl_disconnect(
    figure.canvas.manager.key_press_handler_id)
button_press_handler_id利息

使用工具管理器时的默认鼠标按钮处理程序cid。要禁用默认按钮按下处理,请使用:

figure.canvas.mpl_disconnect(
    figure.canvas.manager.button_press_handler_id)
button_press(event)[源代码]

额外鼠标按钮的默认Matplotlib按钮操作。

destroy()[源代码]
full_screen_toggle()[源代码]
get_window_title()[源代码]

返回包含图形的窗口的标题文本,如果没有窗口(例如PS后端),则返回None。

key_press(event)[源代码]

实现在定义的默认Matplotlib键绑定 导航键盘快捷键 .

resize(w, h)[源代码]

对于GUI后端,调整窗口大小(以像素为单位)。

set_window_title(title)[源代码]

设置包含图形的窗口的标题文本。

这对非GUI(如PS)后端没有影响。

show()[源代码]

对于GUI后端,显示figure窗口并重新绘制。对于非GUI后端,引发异常,除非运行headless(即在具有未设置显示的Linux上);此异常在中转换为警告 Figure.show .

property statusbar
class matplotlib.backend_bases.GraphicsContextBase[源代码]

基类:object

提供颜色、线条样式等的抽象基类。

copy_properties(gc)[源代码]

从复制属性 gc 对自己。

get_alpha()[源代码]

返回用于混合的alpha值-不支持所有后端。

get_antialiased()[源代码]

返回对象是否应尝试进行抗锯齿渲染。

get_capstyle()[源代码]

在('butt','round','projecting')中以字符串形式返回capstyle。

get_clip_path()[源代码]

返回剪辑路径的形式(路径、转换),其中路径是 Path 实例,转换是一种仿射转换,在剪切之前应用于路径。

get_clip_rectangle()[源代码]

将剪辑矩形作为 Bbox 实例。

get_dashes()[源代码]

将短划线样式作为(偏移,短划线列表)对返回。

虚线列表是一个偶数长度的列表,它以点表示墨迹打开和关闭。见第107页至附言 blue book 更多信息。

默认值为(无,无)。

get_forced_alpha()[源代码]

返回是否应使用get_alpha()给出的值重写任何其他alpha通道值。

get_gid()[源代码]

如果设置了对象标识符,则返回对象标识符,否则不返回。

get_hatch()[源代码]

获取当前图案填充样式。

get_hatch_color()[源代码]

获取舱口颜色。

get_hatch_linewidth()[源代码]

获取图案填充线宽。

get_hatch_path(density=6.0)[源代码]

返回A Path 对于当前图案填充。

get_joinstyle()[源代码]

将线条连接样式作为('miter','round','bevel')之一返回。

get_linewidth()[源代码]

返回以点为单位的线条宽度。

get_rgb()[源代码]

从0-1返回三个或四个浮点数的元组。

get_sketch_params()[源代码]

返回艺术家的草图参数。

返回:
元组或 None

包含以下元素的3元组:

  • scale :垂直于震源线的摆动幅度。
  • length :沿线路摆动的长度。
  • randomness :缩小或扩展长度的比例因子。

可能返回 None 如果没有设置草图参数。

get_snap()[源代码]

返回捕捉设置,可以是:

  • 真:将顶点捕捉到最近的像素中心
  • 假:保留顶点原样
  • 无:(自动)如果路径仅包含直线段,则四舍五入到最近的像素中心
get_url()[源代码]

如果设置了url,则返回url,否则返回。

restore()[源代码]

从堆栈中恢复图形上下文-只需要在堆栈上保存图形上下文的后端。

set_alpha(alpha)[源代码]

设置用于混合的alpha值-不支持所有后端。

如果 alpha=None (默认),前景和填充颜色的alpha分量将用于设置各自的透明度(如果适用);否则, alpha 将覆盖它们。

set_antialiased(b)[源代码]

设置是否应使用抗锯齿渲染绘制对象。

set_capstyle(cs)[源代码]

将capstyle设置为(“butt”、“round”、“projecting”)之一。

set_clip_path(path)[源代码]

设置路径和剪辑。

参数:
pathTransformedPath 或无转换路径或无
set_clip_rectangle(rectangle)[源代码]

按顺序设置剪辑矩形(左、下、宽、高)

set_dashes(dash_offset, dash_list)[源代码]

设置gc的破折号样式。

参数:
dash_offset浮动或无

偏移量(通常为0)。

dash_list阵列式或无阵列

开关序列作为点。

笔记

(None, None) 指定实线。

见第107页至附言 blue book 更多信息。

set_foreground(fg, isRGBA=False)[源代码]

设置前景色。

参数:
fg颜色
isRGBA布尔

如果 fg 已知是 (r, g, b, a) 元组, 伊斯格巴 可以设置为True以提高性能。

set_gid(id)[源代码]

设置id。

set_hatch(hatch)[源代码]

设置填充样式(用于填充)。

set_hatch_color(hatch_color)[源代码]

设置图案填充颜色。

set_joinstyle(js)[源代码]

将连接样式设置为('miter'、'round'、'bevel')之一。

set_linewidth(w)[源代码]

以点为单位设置线宽。

set_sketch_params(scale=None, length=None, randomness=None)[源代码]

设置草图参数。

参数:
scale可选浮动

垂直于震源线的摆动幅度,以像素为单位。如果规模是 None 或未提供,将不提供草图过滤器。

length浮点,默认值:128

沿直线摆动的长度,以像素为单位。

randomness浮点,默认值:16

缩小或扩展长度的比例因子。

set_snap(snap)[源代码]

设置捕捉设置可以是:

  • 真:将顶点捕捉到最近的像素中心
  • 假:保留顶点原样
  • 无:(自动)如果路径仅包含直线段,则四舍五入到最近的像素中心
set_url(url)[源代码]

为兼容后端中的链接设置url。

class matplotlib.backend_bases.KeyEvent(name, canvas, key, x=0, y=0, guiEvent=None)[源代码]

基类:matplotlib.backend_bases.LocationEvent

按键事件(按键、按键释放)。

附加在中定义的其他属性 FigureCanvasBase.mpl_connect() .

除了 EventLocationEvent 属性,定义以下属性:

笔记

修改键将在按下的键之前加上前缀,并按“ctrl”、“alt”、“super”的顺序排列。此规则的例外情况是,当按下的键本身是修改键时,“ctrl+alt”和“alt+control”都可以是有效的键值。

实例

def on_key(event):
    print('you pressed', event.key, event.xdata, event.ydata)

cid = fig.canvas.mpl_connect('key_press_event', on_key)
属性:
key无或STR

按键。可以是 None ,单个区分大小写的ASCII字符(“g”、“g”、“”等)、特殊键(“control”、“shift”、“f1”、“up”等)或以上组合(如“ctrl+alt+g”、“ctrl+alt+g”)。

xy )在图中坐标((0,0)=左下角)。

class matplotlib.backend_bases.LocationEvent(name, canvas, x, y, guiEvent=None)[源代码]

基类:matplotlib.backend_bases.Event

具有屏幕位置的事件。

以下附加属性是用它们的默认值定义和显示的。

除了 Event 属性,定义以下事件属性:

属性:
x利息

x位置-画布左侧的像素。

y利息

y位置-从画布底部开始的像素。

内联轴Axes 或无轴或无

这个 Axes 鼠标所在的实例(如果有)。

xdata浮动或无

鼠标的x数据坐标。

ydata浮动或无

鼠标的y数据坐标。

xy )在图中坐标((0,0)=左下角)。

lastevent = None
class matplotlib.backend_bases.MouseButton(value)[源代码]

基类:enum.IntEnum

枚举。

BACK = 8
FORWARD = 9
LEFT = 1
MIDDLE = 2
RIGHT = 3
class matplotlib.backend_bases.MouseEvent(name, canvas, x, y, button=None, key=None, step=0, dblclick=False, guiEvent=None)[源代码]

基类:matplotlib.backend_bases.LocationEvent

一个鼠标事件(“按钮按下事件”,
'按钮释放事件'、'滚动事件'、'运动通知事件')。

除了 EventLocationEvent 属性,定义以下属性:

实例

def on_press(event):
    print('you pressed', event.button, event.xdata, event.ydata)

cid = fig.canvas.mpl_connect('button_press_event', on_press)
属性:
button无或

按钮按下了向上和向下用于滚动事件。请注意,在nbagg后端,中键和右键单击都会返回右键,因为在某些浏览器中,右键单击会打开上下文菜单。“左键”和“右键”实际上指的是左键和右键。

key无或STR

鼠标事件触发时按下的键,例如“shift”。见 KeyEvent .

警告

此密钥当前从画布中发生的最后一个“keyu pressu event”或“keyu releaseu event”获取。因此,如果键盘状态的最后一次更改发生在画布没有焦点时,则此属性将是错误的。

step浮动

滚动步数(正表示“向上”,负数表示“向下”)。这只适用于“滚动事件”,否则默认为0。

dblclick布尔

事件是否为双击。这只适用于“按钮按下事件”,否则为假。尤其是,它不用于“按钮释放事件”。

xy )在图中坐标((0,0)=左下角)按钮按下无,1,2,3,“向上”,“向下”

class matplotlib.backend_bases.NavigationToolbar2(canvas)[源代码]

基类:object

导航游标的基类,版本2。

后端必须实现一个画布来处理“buttonu pressu event”和“buttonu releaseu event”的连接。看到了吗 FigureCanvasBase.mpl_connect() 更多信息。

他们还必须定义

save_figure()
保存当前图形
set_cursor()
如果要更改指针图标
draw_rubberband() (可选)
绘制缩放到矩形矩形“rubberband”
set_message() (可选)
显示消息
set_history_buttons() (可选)
您可以更改历史后退/前进按钮以指示禁用/启用状态。

超驰 __init__ 设置工具栏——不要忘记调用基类init。一般来说, __init__ 需要设置连接到的工具栏按钮 homebackforwardpanzoomsave_figure 方法和使用数据路径的“images”子目录中的标准图标。

就这样,剩下的我们就做!

back(*args)[源代码]

向上移动视图lim堆栈。

为了方便作为GUI回调直接连接(通常会传递额外的参数),该方法接受任意参数,但不使用它们。

drag_pan(event)[源代码]

用于在平移/缩放模式下拖动的回调。

drag_zoom(event)[源代码]

用于在缩放模式下拖动的回调。

draw()[源代码]

[Deprecated] 重新绘制画布,更新定位器。

笔记

3.3 版后已移除.

draw_rubberband(event, x0, y0, x1, y1)[源代码]

绘制一个矩形橡皮圈并指示缩放限制。

注意,不能保证 x0 <= x1y0 <= y1 .

forward(*args)[源代码]

在视图LIM堆栈中向前移动。

为了方便作为GUI回调直接连接(通常会传递额外的参数),该方法接受任意参数,但不使用它们。

home(*args)[源代码]

恢复原始视图。

为了方便作为GUI回调直接连接(通常会传递额外的参数),该方法接受任意参数,但不使用它们。

mouse_move(event)[源代码]
pan(*args)[源代码]

切换“平移/缩放”工具。

用左键平移,用右键缩放。

press(event)[源代码]

[Deprecated] 每当按下鼠标按钮时调用。

笔记

3.3 版后已移除.

press_pan(event)[源代码]

在平移/缩放模式下按下鼠标按钮的回调。

press_zoom(event)[源代码]

鼠标按钮的回调按缩放到矩形模式。

push_current()[源代码]

将当前视图限制和位置推到堆栈上。

release(event)[源代码]

[Deprecated] 鼠标按钮释放回调。

笔记

3.3 版后已移除.

release_pan(event)[源代码]

在平移/缩放模式下用于释放鼠标按钮的回调。

release_zoom(event)[源代码]

用于在缩放到矩形模式下释放鼠标按钮的回调。

remove_rubberband()[源代码]

拆下橡胶垫和。

save_figure(*args)[源代码]

保存当前图形。

set_cursor(cursor)[源代码]

将当前光标设置为 Cursors 枚举值。

如果后端系统要求,该方法应在设置光标后在后端事件循环中触发更新,因为该方法可能会被调用,例如在不更新GUI的长时间运行任务之前。

set_history_buttons()[源代码]

启用或禁用后退/前进按钮。

set_message(s)[源代码]

在工具栏或状态栏中显示消息。

toolitems = (('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous view', 'back', 'back'), ('Forward', 'Forward to next view', 'forward', 'forward'), (None, None, None, None), ('Pan', 'Left button pans, Right button zooms\nx/y fixes axis, CTRL fixes aspect', 'move', 'pan'), ('Zoom', 'Zoom to rectangle\nx/y fixes axis, CTRL fixes aspect', 'zoom_to_rect', 'zoom'), ('Subplots', 'Configure subplots', 'subplots', 'configure_subplots'), (None, None, None, None), ('Save', 'Save the figure', 'filesave', 'save_figure'))
update()[源代码]

重置轴堆栈。

zoom(*args)[源代码]

切换缩放到矩形模式。

exception matplotlib.backend_bases.NonGuiException[源代码]

基类:Exception

在非GUI后端尝试显示图形时引发。

class matplotlib.backend_bases.PickEvent(name, canvas, mouseevent, artist, guiEvent=None, **kwargs)[源代码]

基类:matplotlib.backend_bases.Event

pick事件,当用户在画布上选择一个足够靠近艺术家的位置时触发。

所有: Event 属性加

实例

绑定函数 on_pick() 要拾取事件,将打印拾取的数据点的坐标:

ax.plot(np.rand(100), 'o', picker=5)  # 5 points tolerance

def on_pick(event):
    line = event.artist
    xdata, ydata = line.get_data()
    ind = event.ind
    print('on pick line:', np.array([xdata[ind], ydata[ind]]).T)

cid = fig.canvas.mpl_connect('pick_event', on_pick)
属性:
鼠标移动MouseEventMouseEvent

生成拾取的鼠标事件。

艺术家matplotlib.artist.Artistmatplotlib.artist.Artist

被选中的艺术家。

other

根据拾取对象的类型,可能存在其他属性;例如 Line2D pick可以定义不同于 PatchCollection 选择。

class matplotlib.backend_bases.RendererBase[源代码]

基类:object

用于处理绘图/呈现操作的抽象基类。

为了实现完整的功能,必须在后端实现以下方法(尽管只是实现 draw_path() 仅此一项就可以提供高性能的后端系统):

以下方法 应该 出于优化原因在后端执行:

close_group(s)[源代码]

用标签关闭分组元素 s .

仅由SVG呈现器使用。

draw_gouraud_triangle(gc, points, colors, transform)[源代码]

画一个古鲁德阴影三角形。

参数:
gcGraphicsContextBaseGraphicsContextBase

图形上下文。

points类数组,形状=(3,2)

三角形的(x,y)点数组。

colors类数组,形状=(3,4)

三角形每个点的rgba颜色。

转型matplotlib.transforms.Transformmatplotlib.transforms.Transform

应用于点的仿射变换。

draw_gouraud_triangles(gc, triangles_array, colors_array, transform)[源代码]

画一系列的古劳德三角形。

参数:
points类数组,形状=(N,3,2)

数组 N (x,y)三角形的点。

colors类数组,形状=(N,3,4)

数组 N 每个三角形点的rgba颜色。

转型matplotlib.transforms.Transformmatplotlib.transforms.Transform

应用于点的仿射变换。

draw_image(gc, x, y, im, transform=None)[源代码]

绘制RGBA图像。

参数:
gcGraphicsContextBaseGraphicsContextBase

包含剪辑信息的图形上下文。

x标量

距离画布左侧的物理单位(即点或像素)。

y标量

以物理单位(即点或像素)表示的与画布底部的距离。

im类数组,shape=(N,M,4),数据类型=np.uint8公司

一组rgba像素。

转型matplotlib.transforms.Affine2DBasematplotlib.transforms.Affine2DBase

如果并且仅当具体的后端被写为 option_scale_image() 收益率 True ,仿射变换(即 Affine2DBasemay 被传授给 draw_image() . 变换的平移向量以物理单位(即点或像素)给出。请注意,转换不会重写 xy ,必须应用 之前 将结果转换为 xy (这可以通过添加 xy 到由定义的翻译矢量 转型

draw_markers(gc, marker_path, marker_trans, path, trans, rgbFace=None)[源代码]

在路径中的每个顶点绘制一个标记。

这包括所有顶点,包括曲线上的控制点。为了避免这种行为,应该在调用此函数之前删除这些顶点。

这提供了一个draw_标记的回退实现,该标记对 draw_path() . 有些后端可能希望重写此方法,以便只绘制一次标记并多次重复使用它。

参数:
gcGraphicsContextBaseGraphicsContextBase

图形上下文。

marker_transmatplotlib.transforms.Transformmatplotlib.transforms.Transform

应用于标记的仿射变换。

反式matplotlib.transforms.Transformmatplotlib.transforms.Transform

应用于路径的仿射变换。

draw_path(gc, path, transform, rgbFace=None)[源代码]

画一个 Path 使用给定仿射变换的实例。

draw_path_collection(gc, master_transform, paths, all_transforms, offsets, offsetTrans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position)[源代码]

从列表中选择图形特性绘制路径集合 脸色绿色染料线宽度直线运动抗混叠剂 . 偏移量 是要应用于每个路径的偏移列表。中的偏移量 偏移量 首先被 抵销交易 在应用之前。

offset_position 可以是“屏幕”或“数据”,具体取决于偏移所处的空间;“数据”已弃用。

这提供了 draw_path_collection() 打了多次电话给 draw_path() . 有些后端可能希望重写此项,以便只渲染一次每个路径数据集,然后使用不同的偏移量、颜色、样式等多次引用该路径。生成器方法 _iter_collection_raw_paths()_iter_collection() 旨在帮助(和标准化)跨后端的实现。强烈建议使用这些生成器,以便更改 draw_path_collection() 可以在全球范围内生产。

draw_quad_mesh(gc, master_transform, meshWidth, meshHeight, coordinates, offsets, offsetTrans, facecolors, antialiased, edgecolors)[源代码]

的回退实现 draw_quad_mesh() 生成路径然后调用 draw_path_collection() .

draw_tex(gc, x, y, s, prop, angle, ismath=<deprecated parameter>, mtext=None)[源代码]
draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[源代码]

绘制文本实例。

参数:
gcGraphicsContextBaseGraphicsContextBase

图形上下文。

x浮动

文本在显示坐标中的x位置。

y浮动

文本基线在显示坐标中的y位置。

sSTR

文本字符串。

propmatplotlib.font_manager.FontPropertiesmatplotlib.font_manager.FontProperties

字体属性。

angle浮动

以度为单位的逆时针旋转角度。

多行文本matplotlib.text.Textmatplotlib.text.Text

要呈现的原始文本对象。

笔记

后端实现者注意:

当您试图确定边界框是否正确时(这是使文本布局/对齐方式正常工作的原因),它有助于更改文本中的线条。py::

if 0: bbox_artist(self, renderer)

如果为1,则实际边界框将与文本一起打印。

flipy()[源代码]

返回y值是否从上到下递增。

请注意,这只影响文本和图像的绘制。

get_canvas_width_height()[源代码]

返回显示坐标中的画布宽度和高度。

get_image_magnification()[源代码]

获取放大传递给的图像的因子 draw_image() . 允许后端对其他艺术家使用不同分辨率的图像。

get_texmanager()[源代码]

返回 TexManager 实例。

get_text_width_height_descent(s, prop, ismath)[源代码]

Get the width, height, and descent (offset from the bottom to the baseline), in display coords, of the string s with FontProperties prop.

new_gc()[源代码]

返回的实例 GraphicsContextBase .

open_group(s, gid=None)[源代码]

打开带标签的分组元素 sgid (如果设置)作为id。

仅由SVG呈现器使用。

option_image_nocomposite()[源代码]

返回是否应跳过Matplotlib合成图像。

栅格后端通常应返回False(让C级栅格化器负责图像合成);矢量后端通常应返回 not rcParams["image.composite_image"] .

option_scale_image()[源代码]

返回是否在 draw_image() 支持(对于大多数向量后端为真)。

points_to_pixels(points)[源代码]

将点转换为显示单位。

您需要重写这个函数(除非您的后端没有dpi,例如postscript或svg)。一些成像系统假定每英寸像素的值为:

points to pixels = points * pixels_per_inch/72 * dpi/72
参数:
points浮点数或类似数组的

浮点数或浮点数数组

返回:
转换为像素的点
start_filter()[源代码]

切换到图像过滤效果的临时渲染器。

当前仅由agg渲染器支持。

start_rasterizing()[源代码]

切换到栅格渲染器。

被使用 MixedModeRenderer .

stop_filter(filter_func)[源代码]

切换回原始渲染器。临时呈现器的内容使用 filter_func 并在原始渲染器上绘制为图像。

当前仅由agg渲染器支持。

stop_rasterizing()[源代码]

切换回矢量渲染器并将栅格渲染器的内容绘制为矢量渲染器上的图像。

被使用 MixedModeRenderer .

class matplotlib.backend_bases.ResizeEvent(name, canvas)[源代码]

基类:matplotlib.backend_bases.Event

由画布大小调整触发的事件

除了 Event 属性,定义以下事件属性:

属性:
width利息

画布的宽度(以像素为单位)。

height利息

画布的高度(以像素为单位)。

class matplotlib.backend_bases.ShowBase[源代码]

基类:matplotlib.backend_bases._Backend

简单基类来生成 show() 后端函数。

子类必须重写 mainloop() 方法。

class matplotlib.backend_bases.StatusbarBase(toolmanager)[源代码]

基类:object

[Deprecated] statusbar的基类。

笔记

3.3 版后已移除.

set_message(s)[源代码]

在工具栏或状态栏中显示消息。

参数:
sSTR

消息文本。

class matplotlib.backend_bases.TimerBase(interval=None, callbacks=None)[源代码]

基类:object

提供计时器事件的基类,对动画很有用。后端需要实现一些特定的方法,以便使用它们自己的计时机制,以便将计时器事件集成到它们的事件循环中。

子类必须重写以下方法:

  • _timer_start :用于启动计时器的后端特定代码。
  • _timer_stop :用于停止计时器的后端特定代码。

子类还可以重写以下方法:

  • _timer_set_single_shot :用于将计时器设置为单次操作模式的代码(如果计时器对象支持)。如果不是的话 Timer class itself will store the flag and the ``_ 应重写on-timer``方法以支持此类行为。
  • _timer_set_interval :设置计时器时间间隔的代码,如果存在对计时器对象执行此操作的方法。
  • _on_timer :任何计时器对象都应调用的内部函数,它将处理运行所有已设置的回调的任务。
参数:
intervalint,默认值:1000ms

计时器事件之间的时间(毫秒)。将存储为 timer.interval .

callbacks表 [tuple[可调用,tuple,dict] ]

将在计时器事件上调用的(func、args、kwargs)元组列表。此列表可作为 timer.callbacks 可以直接操作,或者 add_callbackremove_callback 可以使用。

add_callback(func, *args, **kwargs)[源代码]

寄存器 func 当事件触发时由计时器调用。提供的任何其他参数都将传递给 func .

此函数返回 func 这使得它可以用作装饰。

property interval

计时器事件之间的时间,以毫秒为单位。

remove_callback(func, *args, **kwargs)[源代码]

去除 func 从回调列表中。

args关键字参数 是可选的,用于区分注册为使用不同参数调用的同一函数的副本。此行为已弃用。未来, *args, **kwargs 将不再考虑;若要使特定回调自身可移动,请将其传递给 add_callback 作为一个 functools.partial 对象。

property single_shot

此计时器是否应在单次运行后停止。

start(interval=None)[源代码]

启动计时器对象。

参数:
interval可选的

以毫秒为单位的计时器间隔;覆盖先前设置的间隔(如果提供)。

stop()[源代码]

停止计时器。

class matplotlib.backend_bases.ToolContainerBase(toolmanager)[源代码]

基类:object

所有工具容器的基类,例如工具栏。

属性:
工具管理器ToolManagerToolManager

使用的工具 ToolContainer 想要沟通。

add_tool(tool, group, position=- 1)[源代码]

将工具添加到此容器。

参数:
tooltool_like

要添加的工具,请参见 ToolManager.get_tool .

groupSTR

要将此工具添加到的组的名称。

positionint,默认值:-1

组中放置此工具的位置。

add_toolitem(name, group, position, image, description, toggle)[源代码]

将toolitem添加到容器中。

此方法必须在每个后端实现。

与Button Click事件关联的回调必须是 确切地 self.trigger_tool(name) .

参数:
nameSTR

要添加的工具的名称,它将用作工具的ID和按钮的默认标签。

groupSTR

此工具所属的组的名称。

position利息

刀具在其组中的位置,如果-1,则在末端移动。

image_fileSTR

按钮图像的文件名或 None .

descriptionSTR

工具的说明,用于工具提示。

toggle布尔
  • True :按钮是一个开关(在连续单击之间更改按下/未按下状态)。
  • False :按钮为普通按钮(释放后返回未按下状态)。
remove_toolitem(name)[源代码]

从中移除工具项 ToolContainer .

此方法必须在每个后端实现。

何时调用 ToolManager 发射一个 tool_removed_event .

参数:
nameSTR

要删除的工具的名称。

set_message(s)[源代码]

在工具栏上显示消息。

参数:
sSTR

消息文本。

toggle_toolitem(name, toggled)[源代码]

切换toolitem而不触发事件。

参数:
nameSTR

要切换的工具的Id。

toggled布尔

是否将此工具设置为切换。

trigger_tool(name)[源代码]

触发工具。

参数:
nameSTR

从容器中触发的工具的名称(id)。

matplotlib.backend_bases.button_press_handler(event, canvas=None, toolbar=None)[源代码]

额外鼠标按钮的默认Matplotlib按钮操作。

参数与 key_press_handler 除了 事件 是一个 MouseEvent .

matplotlib.backend_bases.get_registered_canvas_class(format)[源代码]

返回给定文件格式的已注册默认画布。处理所需后端的延迟导入。

matplotlib.backend_bases.key_press_handler(event, canvas=None, toolbar=None)[源代码]

实现画布和工具栏的默认Matplotlib键绑定,如中所述 导航键盘快捷键 .

参数:
事件KeyEventKeyEvent

关键新闻/发布事件。

帆布FigureCanvasBase ,默认值: event.canvasFigureCanvasBase,默认值:事件.canvas

后端特定的画布实例。保留此参数是为了向后兼容,但如果设置,则应始终等于 event.canvas .

工具栏NavigationToolbar2 ,默认值: event.canvas.toolbar导航工具栏2,默认值:事件.canvas.toolbar

导航光标工具栏。保留此参数是为了向后兼容,但如果设置,则应始终等于 event.canvas.toolbar .

matplotlib.backend_bases.register_backend(format, backend, description=None)[源代码]

注册后端以保存为给定的文件格式。

参数:
formatSTR

文件扩展名

backend模块字符串或画布类

用于处理文件输出的后端

descriptionstr,默认值:“”

文件类型的说明。