matplotlib.backend_bases#

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

RendererBase

处理绘图/渲染操作的抽象基类。

FigureCanvasBase

Figure将后端特定细节(如用户界面绘图区域)分开的抽象层。

GraphicsContextBase

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

Event

所有 Matplotlib 事件处理的基类。派生类,例如KeyEventMouseEvent存储元数据,如按下的键和按钮、像素和Axes坐标中的 x 和 y 位置。

ShowBase

Show每个交互式后端的类的基类;然后将“show”可调用对象设置为Show.__call__.

ToolContainerBase

每个交互式后端的 Toolbar 类的基类。

matplotlib.backend_bases。CloseEvent ( name , canvas , guiEvent = None ) [source] #

基地:Event

由关闭的图窗触发的事件。

matplotlib.backend_bases。DrawEvent ( name , canvas , renderer ) [source] #

基地:Event

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

在大多数后端,订阅此事件的回调将在渲染完成后屏幕更新之前触发。绘制到画布渲染器的任何额外艺术家都将被反映,而无需显式调用blit.

警告

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

除了父Event类定义的属性之外,DrawEvent 还有许多特殊属性。

属性
渲染器RendererBase

绘制事件的渲染器。

matplotlib.backend_bases。事件( name , canvas , guiEvent = None ) [source] #

基地:object

Matplotlib 事件。

以下属性已定义并以其默认值显示。子类可以定义额外的属性。

属性
名称str

事件名称。

帆布FigureCanvasBase

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

gui事件

触发 Matplotlib 事件的 GUI 事件。

matplotlib.backend_bases。FigureCanvasBase ( figure = None ) [来源] #

基地:object

图形渲染到的画布。

属性
数字matplotlib.figure.Figure

高级图形实例。

blit ( bbox = None ) [来源] #

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

属性 button_pick_id #
button_press_event ( x , y , button , dblclick = False , guiEvent = None ) [来源] #

[已弃用] 鼠标按钮按下事件的回调处理。

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

此方法将使用实例调用连接到“button_press_event”的所有函数MouseEvent

笔记

3.6 版后已弃用:改用 callbacks.process('button_press_event', MouseEvent(...))。

button_release_event ( x , y , button , guiEvent = None ) [source] #

[已弃用] 鼠标按钮释放事件的回调处理。

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

此方法将使用实例调用连接到“button_release_event”的所有函数MouseEvent

参数
x浮动

画布坐标,其中 0=left。

y浮动

0=底部的画布坐标。

gui事件

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

笔记

3.6 版后已弃用:改用 callbacks.process('button_release_event', MouseEvent(...))。

属性 回调#
close_event ( guiEvent = None ) [来源] #

[已弃用] 将 a 传递CloseEvent给所有连接到close_event.

笔记

3.6 版后已弃用:请改用 callbacks.process('close_event', CloseEvent(...))。

属性 device_pixel_ratio #

用于屏幕上画布的物理像素与逻辑像素的比率。

默认情况下,这是 1,这意味着物理和逻辑像素的大小相同。支持高 DPI 屏幕的子类可以设置此属性以指示所述比率不同。除非直接使用画布,否则所有 Matplotlib 交互都保留在逻辑像素中。

draw ( * args , ** kwargs ) [来源] #

渲染Figure.

即使没有产生输出,此方法也必须遍历艺术家树,因为它会触发用户在将输出保存到磁盘之前可能想要访问的延迟工作。例如计算限制、自动限制和刻度值。

draw_event (渲染器) [来源] #

[已弃用] 将 a 传递DrawEvent给所有连接到draw_event.

笔记

3.6 版后已弃用:改用 callbacks.process('draw_event', DrawEvent(...))。

draw_idle ( * args , ** kwargs ) [来源] #

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

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

笔记

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

enter_notify_event ( guiEvent = None , xy = None ) [source] #

[不推荐]鼠标光标进入画布的回调处理。

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

参数
gui事件

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

xy (浮点数,浮点数)

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

笔记

3.6 版后已弃用:请改用 callbacks.process('enter_notify_event', LocationEvent(...)) 。

事件= ['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': '联合图像专家组', 'jpg': '联合图像专家组', 'pdf': '便携式文档格式', 'pgf': 'PGF LaTeX 的代码',' png ':'便携式网络图形','ps':'Postscript','raw':'Raw RGBA位图','rgba':'Raw RGBA位图','svg': '可缩放矢量图形', 'svgz': 'Scalable Vector Graphics', 'tif': '标记 图像 文件 格式', 'tiff': '标记 图像 文件 格式', 'webp': 'WebP 图像 格式'} #
fixed_dpi =#
flush_events ( ) [来源] #

刷新图形的 GUI 事件。

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

get_default_filename ( ) [来源] #

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

类方法 get_default_filetype ( ) [来源] #

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

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

类方法 get_supported_filetypes ( ) [来源] #

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

类方法 get_supported_filetypes_grouped ( ) [来源] #

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

get_width_height ( * , physical = False ) [来源] #

返回以整数点或像素为单位的图形宽度和高度。

当图形用于高 DPI 屏幕(并且后端支持它)时,在按设备像素比缩放后会截断为整数。

参数
物理布尔值,默认值:False

是返回真实的物理像素还是逻辑像素。支持 HiDPI 的后端可以使用物理像素,但仍使用其实际大小配置画布。

返回
宽度,高度

图形的大小,以点或像素为单位,取决于后端。

grab_mouse ( ax ) [来源] #

Axes设置正在抓取鼠标事件的孩子。

通常由小部件本身调用。如果鼠标已被另一个 Axes 抓住,则调用此方法是错误的。

inaxes ( xy ) [来源] #

Axes返回包含点xy的最顶部可见。

参数
xy (浮点数,浮点数)

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

返回
Axes或无

包含该点的最顶部可见 Axes,如果该点没有 Axes,则为 None。

is_saving ( ) [来源] #

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

key_press_event ( key , guiEvent = None ) [source] #

[已弃用] 将 a 传递KeyEvent给所有连接到key_press_event.

笔记

3.6 版后已弃用:改用 callbacks.process('key_press_event', KeyEvent(...))。

key_release_event ( key , guiEvent = None ) [source] #

[已弃用] 将 a 传递KeyEvent给所有连接到key_release_event.

笔记

3.6 版后已弃用:改用 callbacks.process('key_release_event', KeyEvent(...))。

leave_notify_event ( guiEvent = None ) [来源] #

[不推荐]鼠标光标离开画布的回调处理。

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

参数
gui事件

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

笔记

3.6 版后已弃用:请改用 callbacks.process('leave_notify_event', LocationEvent(...))。

manager_class [来源] #

的别名FigureManagerBase

motion_notify_event ( x , y , guiEvent = None ) [来源] #

[不推荐]鼠标移动事件的回调处理。

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

此方法将使用实例调用连接到“motion_notify_event”的所有函数MouseEvent

参数
x浮动

画布坐标,其中 0=left。

y浮动

0=底部的画布坐标。

gui事件

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

笔记

3.6 版后已弃用:请改用 callbacks.process('motion_notify_event', MouseEvent(...))。

mpl_connect ( s , func ) [来源] #

将函数func绑定到事件s

参数
字符串_

以下事件 ID 之一:

  • 'button_press_event'

  • 'button_release_event'

  • 'draw_event'

  • 'key_press_event'

  • 'key_release_event'

  • 'motion_notify_event'

  • 'pick_event'

  • “调整大小事件”

  • “滚动事件”

  • 'figure_enter_event',

  • 'figure_leave_event',

  • 'axes_enter_event',

  • 'axes_leave_event'

  • “关闭事件”。

函数可调用

要执行的回调函数,必须有签名:

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_manager ( figure , num ) [ source] #

使用这个画布类为figure创建一个新的图形管理器。

笔记

此方法不应在子类中重新实现。如果需要自定义管理器创建逻辑,请重新实现 FigureManager.create_with_canvas.

new_timer ( interval = None , callbacks = None ) [source] #

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

这对于通过后端的本机事件循环获取周期性事件很有用。仅针对带有 GUI 的后端实施。

参数
区间整数

以毫秒为单位的计时器间隔。

回调列表[元组 [可调用,元组,字典]]

(func, args, kwargs) 的序列 将由计时器在每个间隔执行。func(*args, **kwargs)

False返回或0将从计时器中删除的回调。

例子

>>> timer = fig.canvas.new_timer(callbacks=[(f1, (1,), {'a': 3})])
选择( mouseevent ) [来源] #

[已弃用]

笔记

3.6 版后已弃用:改用 canvas.figure.pick。

pick_event ( mouseevent , artist , ** kwargs ) [source] #

[已弃用] 拾取事件的回调处理。

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

请注意,默认情况下艺术家是不可挑选的(请参阅 参考资料 Artist.set_picker)。

笔记

3.6 版后已弃用:请改用 callbacks.process('pick_event', PickEvent(...))。

print_figure (文件名, dpi = None , facecolor = None , edgecolor = None , orientation = 'portrait' , format = None , * , bbox_inches = None , pad_inches = None , bbox_extra_artists = None , backend = None , ** kwargs ) [来源] #

将图形渲染为硬拷贝。设置图形补丁面和边缘颜色。这很有用,因为某些 GUI 具有灰色的图形面颜色背景,您可能希望在硬拷贝上覆盖它。

参数
文件名str 或 path-like 或 file-like

保存图形的文件。

dpi浮点数,默认值:(rcParams["savefig.dpi"]默认值'figure':)

保存图形的每英寸点数。

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

人物的面色。如果是“自动”,则使用当前图形的面色。

edgecolor颜色或“自动”,默认值:(rcParams["savefig.edgecolor"]默认值'auto':)

图的边缘颜色。如果为“自动”,则使用当前图形边缘颜色。

方向{'风景','肖像'},默认值:'肖像'

目前仅适用于 PostScript 打印。

格式str,可选

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

bbox_inches 'tight' 或Bbox,默认值:(rcParams["savefig.bbox"]默认值None:)

以英寸为单位的边界框:仅保存图形的给定部分。如果'tight',试着找出图的tight bbox。

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

bbox_inches为“紧”时,图形周围的填充量。

bbox_extra_artists列表Artist,可选

计算紧凑 bbox 时将考虑的额外艺术家列表。

后端str,可选

使用非默认后端来渲染文件,例如使用“cairo”后端而不是默认“agg”来渲染 png 文件,或者使用“pgf”后端而不是默认“pdf”来渲染 pdf 文件。请注意,默认后端通常就足够了。有关每种文件格式的有效后端列表,请参阅 内置后端。自定义后端可以引用为“module://...”。

release_mouse ( ax ) [来源] #

释放由斧头握住的鼠标抓握。Axes

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

required_interactive_framework =#
调整大小( w , h ) [来源] #

未使用:以像素为单位设置画布大小。

某些后端可能在内部实现类似的方法,但这不是 Matplotlib 本身的要求,也不是它使用的。

resize_event ( ) [来源] #

[已弃用] 将 a 传递ResizeEvent给所有连接到resize_event.

笔记

3.6 版后已弃用:请改用 callbacks.process('resize_event', ResizeEvent(...))。

scroll_event ( x , y , step , guiEvent = None ) [source] #

[不推荐]滚动事件的回调处理。

后端派生类应在任何滚轮事件上调用此函数。( x , y ) 是画布坐标 ((0, 0) 在左下角)。button 和 key 的定义如MouseEvent.

此方法将使用实例调用连接到“scroll_event”的所有函数MouseEvent

笔记

3.6 版后已弃用:改用 callbacks.process('scroll_event', MouseEvent(...))。

属性 scroll_pick_id #
set_cursor ( cursor ) [源代码] #

设置当前光标。

如果后端不显示任何内容,这可能无效。

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

参数
光标Cursors

显示在画布上的光标。注意:某些后端可能会更改整个窗口的光标。

start_event_loop ( timeout = 0 ) [来源] #

启动阻塞事件循环。

这样的事件循环被交互函数使用,例如 ginputand waitforbuttonpress,来等待事件。

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

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

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

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

stop_event_loop ( ) [来源] #

停止当前的阻塞事件循环。

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

支持_blit = False #
switch_backends ( FigureCanvasClass ) [来源] #

实例化 FigureCanvasClass 的实例

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

matplotlib.backend_bases。FigureManagerBase ( canvas , num ) [来源] #

基地:object

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

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

GUI 后端从此类定义以将常见操作(例如显示调整大小)转换为特定于 GUI 的代码。非 GUI 后端不支持这些操作,只能使用基类。

可以访问以下基本操作:

窗口操作

按键和鼠标按键处理

key_press_handler图形管理器通过连接到 matplotlib 事件系统来设置默认的键和鼠标按钮按下处理。这确保了跨后端的相同快捷方式和鼠标操作。

其他操作

子类将具有额外的属性和功能来访问额外的功能。这当然是特定于后端的。例如,大多数 GUI 后端具有windowtoolbar属性,可以访问相应框架的本机 GUI 小部件。

属性
帆布FigureCanvasBase

特定于后端的画布实例。

num int 或 str

图号。

key_press_handler_id整数

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

figure.canvas.mpl_disconnect(
    figure.canvas.manager.key_press_handler_id)
button_press_handler_id int

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

figure.canvas.mpl_disconnect(
    figure.canvas.manager.button_press_handler_id)
类方法 create_with_canvas ( canvas_class , figure , num ) [source] #

使用特定canvas_class为给定图形创建管理器。

如果后端有设置画布或管理器的特定需求,则应覆盖此方法。

销毁( ) [来源] #
full_screen_toggle ( ) [来源] #
get_window_title ( ) [来源] #

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

调整大小( w , h ) [来源] #

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

set_window_title (标题) [来源] #

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

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

显示( ) [来源] #

对于 GUI 后端,显示图形窗口并重绘。对于非 GUI 后端,引发异常,除非无头运行(即在未设置 DISPLAY 的 Linux 上);此异常将转换为 中的警告Figure.show

matplotlib.backend_bases。GraphicsContextBase [来源] #

基地:object

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

copy_properties ( gc ) [来源] #

将属性从gc复制到 self.

get_alpha ( ) [来源] #

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

get_antialiased ( ) [来源] #

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

get_capstyle ( ) [来源] #

返回CapStyle.

get_clip_path ( ) [来源] #

以 (path, transform) 形式返回剪辑路径,其中 path 是一个Path实例,transform 是仿射变换,用于在剪辑之前应用到路径。

get_clip_rectangle ( ) [来源] #

将剪辑矩形作为Bbox实例返回。

get_dashes ( ) [来源] #

将破折号样式作为 (offset, dash-list) 对返回。

详情请参阅set_dashes

默认值为(无,无)。

get_forced_alpha ( ) [来源] #

返回 get_alpha() 给出的值是否应该用于覆盖任何其他 alpha 通道值。

get_gid ( ) [来源] #

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

get_hatch ( ) [来源] #

获取当前的阴影样式。

get_hatch_color ( ) [来源] #

获取孵化颜色。

get_hatch_linewidth ( ) [来源] #

获取阴影线宽。

get_hatch_path (密度= 6.0 ) [来源] #

返回Path当前孵化的 a。

get_joinstyle ( ) [来源] #

返回JoinStyle.

get_linewidth ( ) [来源] #

返回以点为单位的线宽。

get_rgb ( ) [来源] #

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

get_sketch_params ( ) [来源] #

返回艺术家的草图参数。

返回
元组或None

具有以下元素的 3 元组:

  • scale:垂直于源线的摆动幅度。

  • length:沿线摆动的长度。

  • randomness:缩小或扩大长度的比例因子。

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

get_snap ( ) [来源] #

返回 snap 设置,可以是:

  • True:将顶点捕捉到最近的像素中心

  • False:保持顶点不变

  • 无:(自动)如果路径仅包含直线线段,则四舍五入到最近的像素中心

get_url ( ) [来源] #

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

恢复( ) [来源] #

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

set_alpha ( alpha ) [来源] #

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

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

set_antialiased ( b ) [来源] #

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

set_capstyle ( cs ) [来源] #

设置如何绘制线的端点。

参数
csCapStyle或 {'butt', 'projecting', 'round'}
set_clip_path (路径) [来源] #

将剪辑路径设置为 aTransformedPath或 None。

set_clip_rectangle (矩形) [来源] #

将剪辑矩形设置为 aBbox或 None。

set_dashes ( dash_offset , dash_list ) [来源] #

为 gc 设置破折号样式。

参数
dash_offset浮点数

以点为单位,与开始图案的虚线图案的距离。通常设置为 0。

dash_list类数组或无

开关顺序为点。无指定实线。否则,所有值必须为非负数 (\(\ge 0\))。

笔记

见第 PostScript 语言参考的 666 以 获取更多信息。

set_foreground ( fg , isRGBA = False ) [来源] #

设置前景色。

参数
fg颜色
isRGBA布尔值

如果已知fg是一个元组,则可以将isRGBA设置为 True 以提高性能。(r, g, b, a)

set_gid ( id ) [来源] #

设置标识。

set_hatch (孵化) [来源] #

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

set_hatch_color ( hatch_color ) [来源] #

设置填充颜色。

set_joinstyle ( js ) [来源] #

设置如何绘制线段之间的连接。

参数
jsJoinStyle或 {'miter', 'round', 'bevel'}
set_linewidth ( w ) [来源] #

以点为单位设置线宽。

set_sketch_params ( scale = None , length = None , randomness = None ) [source] #

设置草图参数。

参数
刻度浮动,可选

垂直于源线的摆动幅度,以像素为单位。如果提供或未提供比例None,则不会提供草图过滤器。

长度浮点数,默认:128

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

随机浮动,默认:16

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

set_snap ( snap ) [来源] #

设置捕捉设置可能是:

  • True:将顶点捕捉到最近的像素中心

  • False:保持顶点不变

  • 无:(自动)如果路径仅包含直线线段,则四舍五入到最近的像素中心

set_url ( url ) [来源] #

在兼容的后端设置链接的 url。

matplotlib.backend_bases。KeyEvent ( name , canvas , key , x = 0 , y = 0 , guiEvent = None ) [source] #

基地:LocationEvent

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

除了父级EventLocationEvent类定义的属性之外,KeyEvent 还具有许多特殊属性。

笔记

修饰键将作为按下键的前缀,并按“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)
属性
无或 str

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

matplotlib.backend_bases。LocationEvent ( name , canvas , x , y , guiEvent = None ) [source] #

基地:Event

具有屏幕位置的事件。

除了父Event类定义的属性之外,LocationEvent 还具有许多特殊属性。

属性
x, y int 或无

距离画布左下角的事件位置(以像素为单位)。

inaxesAxes或无

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

xdata, ydata浮点数或无

鼠标在inaxes内的数据坐标,如果鼠标不在 Axes 上,则为None

最后一个事件=#
matplotlib.backend_bases。MouseButton () [来源] #

基地:IntEnum

一个枚举。

返回= 8 [来源] #
FORWARD = 9 [来源] #
= 1 [来源] #
= 2 [来源] #
= 3 [来源] #
matplotlib.backend_bases。MouseEvent ( name , canvas , x , y , button = None , key = None , step = 0 , dblclick = False , guiEvent = None ) [来源] #

基地:LocationEvent

鼠标事件('button_press_event'、'button_release_event'、'scroll_event'、'motion_notify_event')。

除了由父级EventLocationEvent类定义的属性之外,MouseEvent 还具有许多特殊属性。

例子

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

cid = fig.canvas.mpl_connect('button_press_event', on_press)
属性
按钮无 或MouseButton或 {'up', 'down'}

按下按钮。'up' 和 'down' 用于滚动事件。

请注意,LEFT 和 RIGHT 实际上是指“主要”和“次要”按钮,即如果用户颠倒他们的左右按钮(“左手设置”),那么 LEFT 按钮将在物理上位于右侧。

如果未设置,名称为“scroll_event”,且step非零,则根据step的符号将其设置为“up”或“down” 。

无或 str

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

警告

此键当前是从画布内发生的最后一个“key_press_event”或“key_release_event”中获得的。因此,如果在画布没有焦点的情况下发生了键盘状态的最后变化,则该属性将是错误的。

步进浮动

滚动步数(“向上”为正,“向下”为负)。这仅适用于“scroll_event”,否则默认为 0。

dblclick布尔值

事件是否为双击。这仅适用于“button_press_event”,否则为 False。特别是,它没有在“button_release_event”中使用。

matplotlib.backend_bases。NavigationToolbar2 ( canvas ) [来源] #

基地:object

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

后端必须实现处理“button_press_event”和“button_release_event”连接的画布。有关 FigureCanvasBase.mpl_connect()更多信息,请参阅。

他们还必须定义

save_figure()

保存当前图形

draw_rubberband()(可选的)

绘制缩放以矩形“橡皮筋”矩形

set_message()(可选的)

显示信息

set_history_buttons()(可选的)

您可以更改历史后退/前进按钮以指示禁用/启用状态。

并覆盖__init__以设置工具栏——不要忘记调用基类 init。通常,__init__需要设置工具栏按钮连接到homebackforwardpanzoomsave_figure方法,并使用数据路径的“图像”子目录中的标准图标。

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

返回( * args ) [来源] #

向后移动视图边界堆栈。

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

configure_subplots ( * args ) [来源] #
drag_pan (事件) [来源] #

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

drag_zoom (事件) [来源] #

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

draw_rubberband (事件, x0 , y0 , x1 , y1 ) [来源] #

绘制一个矩形橡皮筋来指示缩放限制。

请注意,不能保证和。x0 <= x1y0 <= y1

forward ( * args ) [来源] #

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

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

home ( * args ) [来源] #

恢复原始视图。

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

mouse_move (事件) [来源] #
pan ( * args ) [来源] #

切换平移/缩放工具。

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

press_pan (事件) [来源] #

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

press_zoom (事件) [来源] #

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

push_current ( ) [来源] #

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

release_pan (事件) [来源] #

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

release_zoom (事件) [来源] #

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

remove_rubberband ( ) [来源] #

取下橡皮筋。

save_figure ( * args ) [来源] #

保存当前图形。

set_cursor ( cursor ) [源代码] #

[不推荐使用]将当前光标设置为Cursors枚举值之一。

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

笔记

3.5 版后已弃用:改为使用FigureCanvasBase.set_cursor

set_history_buttons ( ) [来源] #

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

set_message ( s ) [来源] #

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

toolitems = (('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous view', 'back', 'back'), ('Forward', '前进下一个视图', 'forward', 'forward'), (None, None, None, None), ('Pan', '左键平移,右键缩放\nx/y固定轴, CTRL固定纵横比', '移动','平移'),('缩放', '缩放矩形\nx/y 固定 轴', 'zoom_to_rect', 'zoom'), ('Subplots', 'Configure subplots' , 'subplots' , 'configure_subplots'), (None, None, None, None), ('Save', 'Save the 图', 'filesave', 'save_figure')) #
更新( ) [来源] #

重置轴堆栈。

缩放( * args ) [来源] #
异常 matplotlib.backend_bases。NonGuiException [来源] #

基地:Exception

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

matplotlib.backend_bases。PickEvent ( name , canvas , mouseevent , artist , guiEvent = None , ** kwargs ) [source] #

基地:Event

一个选择事件。

当用户在画布上选择一个足够接近艺术家的位置时触发此事件,该艺术家已通过 Artist.set_picker.

除了父Event类定义的属性之外,PickEvent 还具有许多特殊属性。

例子

绑定一个函数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)
属性
鼠标事件MouseEvent

生成选择的鼠标事件。

艺术家matplotlib.artist.Artist

被选中的艺术家。请注意,默认情况下艺术家是不可挑选的(请参阅 参考资料Artist.set_picker)。

其他

根据拾取对象的类型,可能会出现其他属性;例如,Line2D选择可以定义与选择不同的额外属性PatchCollection

matplotlib.backend_bases。RendererBase [来源] #

基地:object

处理绘图/渲染操作的抽象基类。

必须在后端实现以下方法才能获得全部功能(尽管draw_path单独实现将提供强大的后端):

出于优化原因,应在后端实现以下方法:

close_group ( s ) [来源] #

关闭带有标签s的分组元素。

仅由 SVG 渲染器使用。

draw_gouraud_triangle ( gc , points , colors , transform ) [source] #

绘制一个 Gouraud 阴影三角形。

参数
GCGraphicsContextBase

图形上下文。

(3, 2) 类似数组

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

颜色(3, 4) 类似数组

三角形每个点的 RGBA 颜色。

转换matplotlib.transforms.Transform

应用于点的仿射变换。

draw_gouraud_triangles ( gc , triangles_array , colors_array , transform ) [source] #

绘制一系列 Gouraud 三角形。

参数
(N, 3, 2) 类似数组

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

颜色(N, 3, 4) 类似数组

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

转换matplotlib.transforms.Transform

应用于点的仿射变换。

draw_image ( gc , x , y , im , transform = None ) [来源] #

绘制 RGBA 图像。

参数
GCGraphicsContextBase

带有剪辑信息的图形上下文。

x标量

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

y标量

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

im (N, M, 4) 类似于 np.uint8 的数组

一组 RGBA 像素。

转换matplotlib.transforms.Affine2DBase

当且仅当具体后端被编写为 option_scale_image返回True时,仿射变换(即 an Affine2DBase可以传递给draw_image。变换的平移向量以物理单位(即点或像素)给出。请注意,转换不会覆盖xy,并且必须在通过xy转换结果之前应用(这可以通过将xy添加到由transform定义的平移向量来完成)。

draw_markers ( gc , marker_path , marker_trans , path , trans , rgbFace = None ) [来源] #

在每个path的顶点(不包括控制点)绘制一个标记。

基本(后备)实现多次调用draw_path. 后端可能希望覆盖此方法,以便仅绘制一次标记并多次重复使用它。

参数
GCGraphicsContextBase

图形上下文。

marker_transmatplotlib.transforms.Transform

应用于标记的仿射变换。

反式matplotlib.transforms.Transform

应用于路径的仿射变换。

draw_path ( gc , path , transform , rgbFace = None ) [source] #

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

draw_path_collection ( gc , master_transform , paths , all_transforms , offsets , offset_trans , facecolors , edgecolors , linewidths , linestyles , antialiaseds , urls , offset_position ) [source] #

绘制路径集合。

每个路径首先由 all_transforms ((3, 3) 矩阵的列表)中的相应条目转换然后由 master_transform 转换然后它们由offsets中的相应条目转换,该条目首先由offset_trans转换。

facecolorsedgecolorslinewidthslinestylesantialiased是设置相应属性的列表。

offset_position现在未使用,但保留该参数是为了向后兼容。

基本(后备)实现多次调用draw_path. 后端可能希望覆盖它,以便只渲染每组路径数据一次,然后使用不同的偏移量、颜色、样式等多次引用该路径。生成器方法 _iter_collection_raw_paths_iter_collection用于帮助(和标准化)实现跨后端。强烈建议使用这些生成器,以便draw_path_collection可以全局更改 的行为。

draw_quad_mesh ( gc , master_transform , meshWidth , meshHeight ,坐标, offsets , offsetTrans , facecolors , antialiased , edgecolors ) [source] #

画一个四边形。

基本(后备)实现将四边形转换为路径,然后调用draw_path_collection.

draw_tex ( gc , x , y , s , prop , angle , * , mtext = None ) [来源] #
draw_text ( gc , x , y , s , prop , angle , ismath = False , mtext = None ) [来源] #

绘制一个文本实例。

参数
GCGraphicsContextBase

图形上下文。

x浮动

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

y浮动

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

字符串_

文本字符串。

支柱matplotlib.font_manager.FontProperties

字体属性。

角度浮动

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

多行文字matplotlib.text.Text

要渲染的原始文本对象。

笔记

后端实施者的注意事项:

当您尝试确定您的边界框是否正确(这使文本布局/对齐能够正常工作)时,它有助于更​​改 text.py 中的行:

if 0: bbox_artist(self, renderer)

到 if 1,然后实际的边界框将与您的文本一起绘制。

Flipy ( ) [来源] #

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

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

get_canvas_width_height ( ) [来源] #

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

get_image_magnification ( ) [来源] #

获取放大传递给的图像的因子draw_image。允许后端拥有与其他艺术家不同的分辨率的图像。

get_texmanager ( ) [来源] #

返回TexManager实例。

get_text_width_height_descent ( s , prop , ismath ) [来源] #

使用 prop获取字符串s的显示坐标中的宽度、高度和下降(从底部到基线的偏移量)。FontProperties

new_gc ( ) [来源] #

返回 a 的一个实例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 () [来源] #

将点转换为显示单位。

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

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

一个浮点数或一个 numpy 浮点数数组

返回
点转换为像素
start_filter ( ) [来源] #

切换到临时渲染器以获得图像过滤效果。

目前仅被 agg 渲染器支持。

start_rasterizing ( ) [来源] #

切换到光栅渲染器。

由 使用MixedModeRenderer

stop_filter ( filter_func ) [来源] #

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

目前仅被 agg 渲染器支持。

stop_rasterizing ( ) [来源] #

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

由 使用MixedModeRenderer

matplotlib.backend_bases。ResizeEvent ( name , canvas ) [source] #

基地:Event

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

除了父Event类定义的属性之外,ResizeEvent 还具有许多特殊属性。

属性
宽度整数

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

高度整数

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

matplotlib.backend_bases。ShowBase [来源] #

基地:_Backend

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

子类必须覆盖mainloop()方法。

matplotlib.backend_bases。TimerBase ( interval = None , callbacks = None ) [source] #

基地:object

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

子类必须覆盖以下方法:

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

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

子类可以额外覆盖以下方法:

  • _timer_set_single_shot:用于将定时器设置为单次运行模式的代码,如果定时器对象支持的话。如果不是,则Timer 类本身将存储标志,并且_on_timer应覆盖该方法以支持此类行为。

  • _timer_set_interval: 用于设置定时器间隔的代码,如果在定时器对象上有这样做的方法。

  • _on_timer:任何计时器对象都应该调用的内部函数,它将处理运行所有已设置的回调的任务。

参数
间隔int,默认:1000ms

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

回调列表[元组 [可调用,元组,字典]]

将在计时器事件上调用的 (func, args, kwargs) 元组列表。该列表可以直接访问并且 timer.callbacks可以直接操作,或者功能可以使用。add_callbackremove_callback

add_callback ( func , * args , ** kwargs ) [source] #

注册func以在事件触发时由计时器调用。提供的任何其他参数都将传递给func

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

属性 区间#

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

remove_callback ( func , * args , ** kwargs ) [source] #

从回调列表中删除func 。

argskwargs是可选的,用于区分注册为使用不同参数调用的同一函数的副本。此行为已弃用。以后不再考虑;要保持特定回调本身可移动,请将其作为对象传递给。*args, **kwargsadd_callbackfunctools.partial

属性 single_shot #

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

开始间隔=[来源] #

启动计时器对象。

参数
区间int,可选

以毫秒为单位的定时器间隔;如果提供,则覆盖先前设置的间隔。

停止( ) [来源] #

停止计时器。

matplotlib.backend_bases。ToolContainerBase ( toolmanager ) [来源] #

基地:object

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

属性
工具管理器ToolManager

thisToolContainer要与之通信的工具。

add_tool ( tool , group , position = -1 ) [source] #

将工具添加到此容器。

参数
工具tool_like

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

str

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

位置int,默认值:-1

组内放置此工具的位置。

add_toolitem ( name , group , position , image , description , toggle ) [source] #

将一个工具项添加到容器中。

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

与按钮单击事件关联的回调必须完全是 self.trigger_tool(name).

参数
名称str

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

str

此工具所属的组的名称。

位置整数

工具在其组中的位置,如果为 -1,则位于最后。

图像字符串

按钮或 的图像文件名None

描述字符串

工具的描述,用于工具提示。

切换布尔
  • True:按钮是一个切换按钮(在连续单击之间更改按下/未按下状态)。

  • False:按钮为普通按钮(松开后返回未按下状态)。

remove_toolitem (名称) [来源] #

ToolContainer.

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

ToolManager发出tool_removed_event.

参数
名称str

要删除的工具的名称。

set_message ( s ) [来源] #

在工具栏上显示一条消息。

参数
字符串_

消息文本。

toggle_toolitem ( name , toggled ) [来源] #

在不触发事件的情况下切换工具项。

参数
名称str

要切换的工具的 ID。

切换布尔

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

trigger_tool ( name ) [source] #

触发工具。

参数
名称str

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

matplotlib.backend_bases。button_press_handler ( event , canvas = None , toolbar = None ) [来源] #

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

参数与 forkey_press_handler相同,只是event是 a MouseEvent

matplotlib.backend_bases。get_registered_canvas_class (格式) [来源] #

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

matplotlib.backend_bases。key_press_handler ( event , canvas = None , toolbar = None ) [来源] #

为导航键盘快捷键中描述的画布和工具栏实现默认的 Matplotlib 键绑定。

参数
事件KeyEvent

按键/释放事件。

画布FigureCanvasBase,默认:event.canvas

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

工具栏NavigationToolbar2,默认:event.canvas.toolbar

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

matplotlib.backend_bases。register_backend ( format , backend , description = None ) [source] #

注册一个后端以保存到给定的文件格式。

参数
格式字符串

文件扩展名

后端模块字符串或画布类

用于处理文件输出的后端

描述字符串,默认值:“”

文件类型的描述。