matplotlib.backend_tools#

抽象基类为工具定义了基本操作。这些工具由 matplotlib.backend_managers.ToolManager 使用。

ToolBase

简单的无状态工具

ToolToggleBase

具有两种状态的工具,对于同一个 matplotlib.backend_managers.ToolManager ,任何时候只能有一个切换工具处于活动状态。

class matplotlib.backend_tools.AxisScaleBase(*args, **kwargs)[源代码][源代码]#

基类:ToolToggleBase

基础工具,用于在线性和对数之间切换。

disable(event=None)[源代码][源代码]#

禁用切换工具。

triggertoggled 为 True 时调用此方法。

这种情况可能在不同的环境下发生。

enable(event=None)[源代码][源代码]#

启用切换工具。

toggled 为 False 时,trigger 调用此方法。

trigger(sender, event, data=None)[源代码][源代码]#

根据 toggled 值调用 enabledisable

class matplotlib.backend_tools.ConfigureSubplotsBase(toolmanager, name)[源代码][源代码]#

基类:ToolBase

配置子图的基本工具。

description = 'Configure subplots'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

image = 'mpl-data/images/subplots'#

图标文件名。

str | None: 工具栏图标的文件名;可以是绝对路径,或者是包含定义 Tool.image 类属性的 Python 源文件所在目录的相对路径(在后一种情况下,这不能定义为实例属性)。无论哪种情况,扩展名都是可选的;省略它可以让各个后端选择他们偏好的图标格式。如果为 None,则工具栏按钮中使用 name 作为标签。

class matplotlib.backend_tools.Cursors(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[源代码][源代码]#

基类:IntEnum

与后端无关的游标类型。

HAND = 2[源代码]#
MOVE = 4[源代码]#
POINTER = 1[源代码]#
RESIZE_HORIZONTAL = 6[源代码]#
RESIZE_VERTICAL = 7[源代码]#
SELECT_REGION = 3[源代码]#
WAIT = 5[源代码]#
class matplotlib.backend_tools.RubberbandBase(toolmanager, name)[源代码][源代码]#

基类:ToolBase

绘制并移除橡皮筋。

draw_rubberband(*data)[源代码][源代码]#

绘制橡皮筋。

此方法必须根据每个后端进行实现。

remove_rubberband()[源代码][源代码]#

移除橡皮筋。

此方法应根据每个后端进行实现。

trigger(sender, event, data=None)[源代码][源代码]#

根据数据调用 draw_rubberbandremove_rubberband

class matplotlib.backend_tools.SaveFigureBase(toolmanager, name)[源代码][源代码]#

基类:ToolBase

用于保存图像的基本工具。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Save the figure'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

image = 'mpl-data/images/filesave'#

图标文件名。

str | None: 工具栏图标的文件名;可以是绝对路径,或者是包含定义 Tool.image 类属性的 Python 源文件所在目录的相对路径(在后一种情况下,这不能定义为实例属性)。无论哪种情况,扩展名都是可选的;省略它可以让各个后端选择他们偏好的图标格式。如果为 None,则工具栏按钮中使用 name 作为标签。

class matplotlib.backend_tools.ToolBack(toolmanager, name)[源代码][源代码]#

基类:ViewsPositionsBase

返回视图限制堆栈的上一层。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Back to previous view'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

image = 'mpl-data/images/back'#

图标文件名。

str | None: 工具栏图标的文件名;可以是绝对路径,或者是包含定义 Tool.image 类属性的 Python 源文件所在目录的相对路径(在后一种情况下,这不能定义为实例属性)。无论哪种情况,扩展名都是可选的;省略它可以让各个后端选择他们偏好的图标格式。如果为 None,则工具栏按钮中使用 name 作为标签。

class matplotlib.backend_tools.ToolBase(toolmanager, name)[源代码][源代码]#

基类:object

基础工具类。

一个基础工具,仅实现 trigger 方法或没有任何方法。该工具由 matplotlib.backend_managers.ToolManager 实例化。

property canvas#

受此工具影响的图形画布,或为 None。

default_keymap = None#

与此工具关联的键盘映射。

list[str]: 当在 self.figure.canvas 上发出按键事件时,将触发此工具的键列表。请注意,此属性是在实例上查找的,因此可以是属性(例如,内置工具在实例化时使用此属性加载 rcParams)。

description = None#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

property figure#

受此工具影响的图形,或为 None。

image = None#

图标文件名。

str | None: 工具栏图标的文件名;可以是绝对路径,或者是包含定义 Tool.image 类属性的 Python 源文件所在目录的相对路径(在后一种情况下,这不能定义为实例属性)。无论哪种情况,扩展名都是可选的;省略它可以让各个后端选择他们偏好的图标格式。如果为 None,则工具栏按钮中使用 name 作为标签。

property name#

工具ID(str,在工具管理器的工具中必须是唯一的)。

set_figure(figure)[源代码][源代码]#
property toolmanager#

控制此工具的 ToolManager

trigger(sender, event, data=None)[源代码][源代码]#

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
事件 : Event事件

导致调用此工具的画布事件。

发送者对象

请求触发工具的对象。

数据对象

额外数据。

class matplotlib.backend_tools.ToolCopyToClipboardBase(toolmanager, name)[源代码][源代码]#

基类:ToolBase

将图形复制到剪贴板的工具。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Copy the canvas figure to clipboard'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

trigger(*args, **kwargs)[源代码][源代码]#

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
事件 : Event事件

导致调用此工具的画布事件。

发送者对象

请求触发工具的对象。

数据对象

额外数据。

class matplotlib.backend_tools.ToolCursorPosition(*args, **kwargs)[源代码][源代码]#

基类:ToolBase

发送消息并附带当前指针位置。

此工具在后台运行,报告光标的位置。

send_message(event)[源代码][源代码]#

调用 matplotlib.backend_managers.ToolManager.message_event

set_figure(figure)[源代码][源代码]#
class matplotlib.backend_tools.ToolForward(toolmanager, name)[源代码][源代码]#

基类:ViewsPositionsBase

在视图限制堆栈中向前移动。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Forward to next view'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

image = 'mpl-data/images/forward'#

图标文件名。

str | None: 工具栏图标的文件名;可以是绝对路径,或者是包含定义 Tool.image 类属性的 Python 源文件所在目录的相对路径(在后一种情况下,这不能定义为实例属性)。无论哪种情况,扩展名都是可选的;省略它可以让各个后端选择他们偏好的图标格式。如果为 None,则工具栏按钮中使用 name 作为标签。

class matplotlib.backend_tools.ToolFullScreen(toolmanager, name)[源代码][源代码]#

基类:ToolBase

切换全屏的工具。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Toggle fullscreen mode'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

trigger(sender, event, data=None)[源代码][源代码]#

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
事件 : Event事件

导致调用此工具的画布事件。

发送者对象

请求触发工具的对象。

数据对象

额外数据。

class matplotlib.backend_tools.ToolGrid(toolmanager, name)[源代码][源代码]#

基类:ToolBase

用于切换图形主网格的工具。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Toggle major grids'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

trigger(sender, event, data=None)[源代码][源代码]#

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
事件 : Event事件

导致调用此工具的画布事件。

发送者对象

请求触发工具的对象。

数据对象

额外数据。

class matplotlib.backend_tools.ToolHelpBase(toolmanager, name)[源代码][源代码]#

基类:ToolBase

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Print tool list, shortcuts and description'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

static format_shortcut(key_sequence)[源代码][源代码]#

将快捷键字符串从rc配置中使用的表示法转换为显示快捷键的标准表示法,例如 'ctrl+a' -> 'Ctrl+A'。

image = 'mpl-data/images/help'#

图标文件名。

str | None: 工具栏图标的文件名;可以是绝对路径,或者是包含定义 Tool.image 类属性的 Python 源文件所在目录的相对路径(在后一种情况下,这不能定义为实例属性)。无论哪种情况,扩展名都是可选的;省略它可以让各个后端选择他们偏好的图标格式。如果为 None,则工具栏按钮中使用 name 作为标签。

class matplotlib.backend_tools.ToolHome(toolmanager, name)[源代码][源代码]#

基类:ViewsPositionsBase

恢复原始视图限制。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Reset original view'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

image = 'mpl-data/images/home'#

图标文件名。

str | None: 工具栏图标的文件名;可以是绝对路径,或者是包含定义 Tool.image 类属性的 Python 源文件所在目录的相对路径(在后一种情况下,这不能定义为实例属性)。无论哪种情况,扩展名都是可选的;省略它可以让各个后端选择他们偏好的图标格式。如果为 None,则工具栏按钮中使用 name 作为标签。

class matplotlib.backend_tools.ToolMinorGrid(toolmanager, name)[源代码][源代码]#

基类:ToolBase

用于切换图形的主网格和次网格的工具。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Toggle major and minor grids'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

trigger(sender, event, data=None)[源代码][源代码]#

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
事件 : Event事件

导致调用此工具的画布事件。

发送者对象

请求触发工具的对象。

数据对象

额外数据。

class matplotlib.backend_tools.ToolPan(*args)[源代码][源代码]#

基类:ZoomPanBase

用鼠标左键平移轴,用鼠标右键缩放。

cursor = 4[源代码]#

工具激活时使用的光标。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Pan axes with left mouse, zoom with right'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

image = 'mpl-data/images/move'#

图标文件名。

str | None: 工具栏图标的文件名;可以是绝对路径,或者是包含定义 Tool.image 类属性的 Python 源文件所在目录的相对路径(在后一种情况下,这不能定义为实例属性)。无论哪种情况,扩展名都是可选的;省略它可以让各个后端选择他们偏好的图标格式。如果为 None,则工具栏按钮中使用 name 作为标签。

radio_group = 'default'#

用于将 'radio' 类工具分组(互斥)的属性。

str 用于标识组,如果不属于任何组则为 None

class matplotlib.backend_tools.ToolQuit(toolmanager, name)[源代码][源代码]#

基类:ToolBase

调用图形管理器销毁方法的工具。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Quit the figure'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

trigger(sender, event, data=None)[源代码][源代码]#

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
事件 : Event事件

导致调用此工具的画布事件。

发送者对象

请求触发工具的对象。

数据对象

额外数据。

class matplotlib.backend_tools.ToolQuitAll(toolmanager, name)[源代码][源代码]#

基类:ToolBase

调用图形管理器销毁方法的工具。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Quit all figures'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

trigger(sender, event, data=None)[源代码][源代码]#

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
事件 : Event事件

导致调用此工具的画布事件。

发送者对象

请求触发工具的对象。

数据对象

额外数据。

class matplotlib.backend_tools.ToolSetCursor(*args, **kwargs)[源代码][源代码]#

基类:ToolBase

在axes中切换到当前光标。

此工具跟踪所有 ToolToggleBase 派生的工具,并在工具被触发时更新光标。

set_figure(figure)[源代码][源代码]#
class matplotlib.backend_tools.ToolToggleBase(*args, **kwargs)[源代码][源代码]#

基类:ToolBase

可切换工具。

每次触发时,它会在启用和禁用之间切换。

参数:
``*args``

由工具使用的可变长度参数。

``**kwargs``

toggled 如果存在且为True,则设置工具的初始状态。任意关键字参数由工具消耗。

cursor = None#

工具激活时使用的光标。

default_toggled = False#

切换状态的默认值。

disable(event=None)[源代码][源代码]#

禁用切换工具。

triggertoggled 为 True 时调用此方法。

这种情况可能在不同的环境下发生。

enable(event=None)[源代码][源代码]#

启用切换工具。

toggled 为 False 时,trigger 调用此方法。

radio_group = None#

用于将 'radio' 类工具分组(互斥)的属性。

str 用于标识组,如果不属于任何组则为 None

set_figure(figure)[源代码][源代码]#
property toggled#

切换工具的状态。

trigger(sender, event, data=None)[源代码][源代码]#

根据 toggled 值调用 enabledisable

class matplotlib.backend_tools.ToolViewsPositions(*args, **kwargs)[源代码][源代码]#

基类:ToolBase

处理视图和位置变化的辅助工具。

在后台运行,并应被所有需要访问图形视图和位置历史的工具使用,例如。

add_figure(figure)[源代码][源代码]#

将当前图形添加到视图和位置的堆栈中。

back()[源代码][源代码]#

在视图和位置的堆栈中后退一步。

clear(figure)[源代码][源代码]#

重置 Axes 堆栈。

forward()[源代码][源代码]#

在视图和位置的堆栈中前进一步。

home()[源代码][源代码]#

从堆栈中恢复第一个视图和位置。

push_current(figure=None)[源代码][源代码]#

将当前视图的限制和位置推入各自的堆栈。

update_home_views(figure=None)[源代码][源代码]#

确保 self.home_views 为图表中所有 Axes 都设置了条目。

update_view()[源代码][源代码]#

根据当前栈位置更新每个 Axes 的视图限制和位置。如果图中有任何 Axes 不在当前栈位置,则使用这些 Axes 的主视图限制,并且不更新 任何 位置。

class matplotlib.backend_tools.ToolXScale(*args, **kwargs)[源代码][源代码]#

基类:AxisScaleBase

在 X 轴上切换线性和对数刻度的工具。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Toggle scale X axis'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

set_scale(ax, scale)[源代码][源代码]#
class matplotlib.backend_tools.ToolYScale(*args, **kwargs)[源代码][源代码]#

基类:AxisScaleBase

在 Y 轴上切换线性和对数刻度的工具。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Toggle scale Y axis'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

set_scale(ax, scale)[源代码][源代码]#
class matplotlib.backend_tools.ToolZoom(*args)[源代码][源代码]#

基类:ZoomPanBase

一个使用矩形选择器进行缩放的工具。

cursor = 3[源代码]#

工具激活时使用的光标。

property default_keymap#

!! 由 numpydoc 处理 !!

description = 'Zoom to rectangle'#

工具的描述。

str: 如果工具包含在工具栏中,则使用的工具提示。

image = 'mpl-data/images/zoom_to_rect'#

图标文件名。

str | None: 工具栏图标的文件名;可以是绝对路径,或者是包含定义 Tool.image 类属性的 Python 源文件所在目录的相对路径(在后一种情况下,这不能定义为实例属性)。无论哪种情况,扩展名都是可选的;省略它可以让各个后端选择他们偏好的图标格式。如果为 None,则工具栏按钮中使用 name 作为标签。

radio_group = 'default'#

用于将 'radio' 类工具分组(互斥)的属性。

str 用于标识组,如果不属于任何组则为 None

class matplotlib.backend_tools.ViewsPositionsBase(toolmanager, name)[源代码][源代码]#

基类:ToolBase

ToolHomeToolBackToolForward 的基类。

trigger(sender, event, data=None)[源代码][源代码]#

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
事件 : Event事件

导致调用此工具的画布事件。

发送者对象

请求触发工具的对象。

数据对象

额外数据。

class matplotlib.backend_tools.ZoomPanBase(*args)[源代码][源代码]#

基类:ToolToggleBase

ToolZoomToolPan 的基类。

disable(event=None)[源代码][源代码]#

释放画布并断开按下/释放事件。

enable(event=None)[源代码][源代码]#

连接按下/释放事件并锁定画布。

scroll_zoom(event)[源代码][源代码]#
trigger(sender, event, data=None)[源代码][源代码]#

根据 toggled 值调用 enabledisable

matplotlib.backend_tools.add_tools_to_container(container, tools=[['navigation', ['home', 'back', 'forward']], ['zoompan', ['pan', 'zoom', 'subplots']], ['io', ['save', 'help']]])[源代码][源代码]#

向容器中添加多个工具。

参数:
容器容器

backend_bases.ToolContainerBase 对象,将添加工具。

工具列表,可选

列表格式为 [[group1, [tool1, tool2 ...]], [group2, [...]]] ,其中工具 [tool1, tool2, ...] 将显示在 group1 中。详情请参见 backend_bases.ToolContainerBase.add_tool

matplotlib.backend_tools.add_tools_to_manager(toolmanager, tools={'back': <class 'matplotlib.backend_tools.ToolBack'>, 'copy': <class 'matplotlib.backend_tools.ToolCopyToClipboardBase'>, 'cursor': <class 'matplotlib.backend_tools.ToolSetCursor'>, 'forward': <class 'matplotlib.backend_tools.ToolForward'>, 'fullscreen': <class 'matplotlib.backend_tools.ToolFullScreen'>, 'grid': <class 'matplotlib.backend_tools.ToolGrid'>, 'grid_minor': <class 'matplotlib.backend_tools.ToolMinorGrid'>, 'help': <class 'matplotlib.backend_tools.ToolHelpBase'>, 'home': <class 'matplotlib.backend_tools.ToolHome'>, 'pan': <class 'matplotlib.backend_tools.ToolPan'>, 'position': <class 'matplotlib.backend_tools.ToolCursorPosition'>, 'quit': <class 'matplotlib.backend_tools.ToolQuit'>, 'quit_all': <class 'matplotlib.backend_tools.ToolQuitAll'>, 'rubberband': <class 'matplotlib.backend_tools.RubberbandBase'>, 'save': <class 'matplotlib.backend_tools.SaveFigureBase'>, 'subplots': <class 'matplotlib.backend_tools.ConfigureSubplotsBase'>, 'viewpos': <class 'matplotlib.backend_tools.ToolViewsPositions'>, 'xscale': <class 'matplotlib.backend_tools.ToolXScale'>, 'yscale': <class 'matplotlib.backend_tools.ToolYScale'>, 'zoom': <class 'matplotlib.backend_tools.ToolZoom'>})[源代码][源代码]#

ToolManager 添加多个工具。

参数:
toolmanagerbackend_managers.ToolManager

添加工具的管理器。

工具{str: class_like}, 可选

要在 {name: tool} 字典中添加的工具,更多信息请参见 backend_managers.ToolManager.add_tool

matplotlib.backend_tools.cursors[源代码]#

Cursors 的别名