matplotlib.backend_tools#

抽象基类定义了工具的原语。这些工具由 matplotlib.backend_managers.ToolManager 使用。

ToolBase

简单的无状态工具

ToolToggleBase

具有两种状态的工具,在任何给定时间,对于同一个 matplotlib.backend_managers.ToolManager 只能有一个 Toggle 工具处于活动状态。

class matplotlib.backend_tools.AxisScaleBase(*args, **kwargs)[source]#

基类: ToolToggleBase

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

disable(event=None)[source]#

禁用切换工具。

triggertoggled 为 True 时调用此方法。

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

enable(event=None)[source]#

启用切换工具。

triggertoggled 为 False 时调用此方法。

trigger(sender, event, data=None)[source]#

根据 toggled 的值调用 enabledisable

class matplotlib.backend_tools.ConfigureSubplotsBase(toolmanager, name)[source]#

基类: ToolBase

子图配置的基工具。

description = 'Configure subplots'#

工具的描述。

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

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

图标文件名。

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

class matplotlib.backend_tools.Cursors(*values)[source]#

基类: IntEnum

后端无关的光标类型。

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

基类: ToolBase

绘制并移除橡皮筋。

draw_rubberband(*data)[source]#

绘制橡皮筋。

此方法必须由各个后端实现。

remove_rubberband()[source]#

移除橡皮筋。

此方法应由各个后端实现。

trigger(sender, event, data=None)[source]#

根据数据调用 draw_rubberbandremove_rubberband

class matplotlib.backend_tools.SaveFigureBase(toolmanager, name)[source]#

基类: ToolBase

用于保存图像的基工具。

property default_keymap#

None 单例的类型。

description = 'Save the figure'#

工具的描述。

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

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

图标文件名。

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

class matplotlib.backend_tools.ToolBack(toolmanager, name)[source]#

基类: ViewsPositionsBase

回退到视图限制栈中的上一个视图。

property default_keymap#

None 单例的类型。

description = 'Back to previous view'#

工具的描述。

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

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

图标文件名。

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

class matplotlib.backend_tools.ToolBase(toolmanager, name)[source]#

基类: object

基工具类。

基工具,只实现 trigger 方法或不实现任何方法。该工具由 matplotlib.backend_managers.ToolManager 实例化。

property canvas#

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

default_keymap = None#

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

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

description = None#

工具的描述。

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

property figure#

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

image = None#

图标文件名。

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

property name#

工具 ID(字符串,在工具管理器中的工具之间必须是唯一的)。

set_figure(figure)[source]#
property toolmanager#

控制此工具的 ToolManager

trigger(sender, event, data=None)[source]#

此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

sender对象

请求触发此工具的对象。

data对象

额外数据。

class matplotlib.backend_tools.ToolCopyToClipboardBase(toolmanager, name)[source]#

基类: ToolBase

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

property default_keymap#

None 单例的类型。

description = 'Copy the canvas figure to clipboard'#

工具的描述。

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

trigger(*args, **kwargs)[source]#

此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

sender对象

请求触发此工具的对象。

data对象

额外数据。

class matplotlib.backend_tools.ToolCursorPosition(*args, **kwargs)[source]#

基类: ToolBase

发送带有当前指针位置的消息。

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

send_message(event)[source]#

调用 matplotlib.backend_managers.ToolManager.message_event

set_figure(figure)[source]#
class matplotlib.backend_tools.ToolForward(toolmanager, name)[source]#

基类: ViewsPositionsBase

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

property default_keymap#

None 单例的类型。

description = 'Forward to next view'#

工具的描述。

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

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

图标文件名。

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

class matplotlib.backend_tools.ToolFullScreen(toolmanager, name)[source]#

基类: ToolBase

切换全屏的工具。

property default_keymap#

None 单例的类型。

description = 'Toggle fullscreen mode'#

工具的描述。

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

trigger(sender, event, data=None)[source]#

此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

sender对象

请求触发此工具的对象。

data对象

额外数据。

class matplotlib.backend_tools.ToolGrid(toolmanager, name)[source]#

基类: ToolBase

切换图像主网格的工具。

property default_keymap#

None 单例的类型。

description = 'Toggle major grids'#

工具的描述。

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

trigger(sender, event, data=None)[source]#

此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

sender对象

请求触发此工具的对象。

data对象

额外数据。

class matplotlib.backend_tools.ToolHelpBase(toolmanager, name)[source]#

基类: ToolBase

property default_keymap#

None 单例的类型。

description = '打印工具列表、快捷方式和描述'#

工具的描述。

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

static format_shortcut(key_sequence)[source]#

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

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

图标文件名。

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

class matplotlib.backend_tools.ToolHome(toolmanager, name)[source]#

基类: ViewsPositionsBase

恢复原始视图限制。

property default_keymap#

None 单例的类型。

description = '重置原始视图'#

工具的描述。

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

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

图标文件名。

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

class matplotlib.backend_tools.ToolMinorGrid(toolmanager, name)[source]#

基类: ToolBase

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

property default_keymap#

None 单例的类型。

description = '切换主次网格'#

工具的描述。

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

trigger(sender, event, data=None)[source]#

此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

sender对象

请求触发此工具的对象。

data对象

额外数据。

class matplotlib.backend_tools.ToolPan(*args)[source]#

基类: ZoomPanBase

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

cursor = 4[source]#

工具激活时使用的光标。

property default_keymap#

None 单例的类型。

description = '用左键平移坐标轴,用右键缩放'#

工具的描述。

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

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

图标文件名。

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

radio_group = 'default'#

用于将类似“单选”工具(互斥)分组的属性。

str 用于标识组,如果不是某个组的成员,则为 None

class matplotlib.backend_tools.ToolQuit(toolmanager, name)[source]#

基类: ToolBase

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

property default_keymap#

None 单例的类型。

description = '退出图形'#

工具的描述。

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

trigger(sender, event, data=None)[source]#

此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

sender对象

请求触发此工具的对象。

data对象

额外数据。

class matplotlib.backend_tools.ToolQuitAll(toolmanager, name)[source]#

基类: ToolBase

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

property default_keymap#

None 单例的类型。

description = '退出所有图形'#

工具的描述。

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

trigger(sender, event, data=None)[source]#

此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

sender对象

请求触发此工具的对象。

data对象

额外数据。

class matplotlib.backend_tools.ToolSetCursor(*args, **kwargs)[source]#

基类: ToolBase

在坐标轴内时更改为当前光标。

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

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

基类: ToolBase

可切换工具。

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

参数:
``*args``

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

``**kwargs``

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

cursor = None#

工具激活时使用的光标。

default_toggled = False#

切换状态的默认值。

disable(event=None)[source]#

禁用切换工具。

triggertoggled 为 True 时调用此方法。

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

enable(event=None)[source]#

启用切换工具。

triggertoggled 为 False 时调用此方法。

radio_group = None#

用于将类似“单选”工具(互斥)分组的属性。

str 用于标识组,如果不是某个组的成员,则为 None

set_figure(figure)[source]#
property toggled#

可切换工具的状态。

trigger(sender, event, data=None)[source]#

根据 toggled 的值调用 enabledisable

class matplotlib.backend_tools.ToolViewsPositions(*args, **kwargs)[source]#

基类: ToolBase

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

在后台运行,所有需要访问图形视图和位置历史记录的工具都应使用它,例如:

add_figure(figure)[source]#

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

back()[source]#

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

clear(figure)[source]#

重置坐标轴堆栈。

forward()[source]#

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

home()[source]#

从堆栈中召回第一个视图和位置。

push_current(figure=None)[source]#

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

update_home_views(figure=None)[source]#

确保 self.home_views 包含图形中所有坐标轴的条目。

update_view()[source]#

从当前堆栈位置更新每个坐标轴的视图限制和位置。如果图形中存在当前堆栈位置中没有的任何坐标轴,则使用这些坐标轴的起始视图限制,并且不更新 任何 位置。

class matplotlib.backend_tools.ToolXScale(*args, **kwargs)[source]#

基类: AxisScaleBase

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

property default_keymap#

None 单例的类型。

description = '切换 X 轴刻度'#

工具的描述。

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

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

基类: AxisScaleBase

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

property default_keymap#

None 单例的类型。

description = '切换 Y 轴刻度'#

工具的描述。

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

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

基类: ZoomPanBase

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

cursor = 3[source]#

工具激活时使用的光标。

property default_keymap#

None 单例的类型。

description = '缩放到矩形'#

工具的描述。

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

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

图标文件名。

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

radio_group = 'default'#

用于将类似“单选”工具(互斥)分组的属性。

str 用于标识组,如果不是某个组的成员,则为 None

class matplotlib.backend_tools.ViewsPositionsBase(toolmanager, name)[source]#

基类: ToolBase

ToolHomeToolBackToolForward 的基类。

trigger(sender, event, data=None)[source]#

此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

sender对象

请求触发此工具的对象。

data对象

额外数据。

class matplotlib.backend_tools.ZoomPanBase(*args)[source]#

基类: ToolToggleBase

ToolZoomToolPan 的基类。

disable(event=None)[source]#

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

enable(event=None)[source]#

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

scroll_zoom(event)[source]#
trigger(sender, event, data=None)[source]#

根据 toggled 的值调用 enabledisable

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

向容器添加多个工具。

参数:
container容器

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

tools列表,可选

形式为 [[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'>})[source]#

ToolManager 添加多个工具。

参数:
toolmanagerbackend_managers.ToolManager

添加工具的管理器。

tools{str: class_like},可选

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

matplotlib.backend_tools.cursors[source]#

Cursors 的别名