matplotlib.backend_tools#

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

ToolBase

简单的无状态工具

ToolToggleBase

具有两种状态的工具;对于同一个 matplotlib.backend_managers.ToolManager,在任何给定时间只能激活一个切换工具

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

基类:ToolToggleBase

用于在线性与对数缩放之间切换的基础工具。

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

禁用切换工具。

toggled 为 True 时,trigger 会调用此方法。

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

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:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

图标文件名。

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

class matplotlib.backend_tools.Cursors(*values)[源代码]#

基类: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#

None 单例的类型。

description = 'Save the figure'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

图标文件名。

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

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

基类:ViewsPositionsBase

在视图范围栈中向后移动。

property default_keymap#

None 单例的类型。

description = 'Back to previous view'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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 上触发按键事件时,将触发此工具的按键列表。注意,此属性是在实例上查找的,因此可以是一个属性(property)(例如,内置工具在实例化时通过这种方式加载 rcParams)。

description = None#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

property figure#

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

image = None#

图标文件名。

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

property name#

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

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

控制此工具的 ToolManager

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

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

senderobject

请求触发该工具的对象。

dataobject

额外数据。

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

基类:ToolBase

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

property default_keymap#

None 单例的类型。

description = 'Copy the canvas figure to clipboard'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

senderobject

请求触发该工具的对象。

dataobject

额外数据。

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#

None 单例的类型。

description = 'Forward to next view'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

图标文件名。

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

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

基类:ToolBase

用于切换全屏模式的工具。

property default_keymap#

None 单例的类型。

description = 'Toggle fullscreen mode'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

senderobject

请求触发该工具的对象。

dataobject

额外数据。

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

基类:ToolBase

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

property default_keymap#

None 单例的类型。

description = 'Toggle major grids'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

senderobject

请求触发该工具的对象。

dataobject

额外数据。

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

基类:ToolBase

property default_keymap#

None 单例的类型。

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

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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#

None 单例的类型。

description = 'Reset original view'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

图标文件名。

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

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

基类:ToolBase

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

property default_keymap#

None 单例的类型。

description = 'Toggle major and minor grids'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

senderobject

请求触发该工具的对象。

dataobject

额外数据。

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

基类:ZoomPanBase

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

cursor = 4[源代码]#

工具激活时使用的光标。

property default_keymap#

None 单例的类型。

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

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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#

None 单例的类型。

description = 'Quit the figure'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

senderobject

请求触发该工具的对象。

dataobject

额外数据。

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

基类:ToolBase

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

property default_keymap#

None 单例的类型。

description = 'Quit all figures'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

当此工具被使用时调用。

此方法由 ToolManager.trigger_tool 调用。

参数:
eventEvent

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

senderobject

请求触发该工具的对象。

dataobject

额外数据。

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

基类:ToolBase

在轴内(inaxes)时更改为当前光标。

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

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

基类:ToolBase

可切换的工具。

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

参数:
``*args``

供工具使用的变长参数。

``**kwargs``

toggled 如果存在且为 True,则设置工具的初始状态;供工具使用的任意关键字参数。

cursor = None#

工具激活时使用的光标。

default_toggled = False#

切换状态的默认值。

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

禁用切换工具。

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

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

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 为图形中存在的所有坐标轴都有一个条目。

update_view()[源代码]#

从当前栈位置更新每个坐标轴的视图范围和位置。如果图形中存在当前栈位置中没有的坐标轴,请对这些坐标轴使用原始(home)视图范围,且不要更新任何位置。

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

基类:AxisScaleBase

用于在 X 轴上切换线性与对数比例的工具。

property default_keymap#

None 单例的类型。

description = 'Toggle scale X axis'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

基类:AxisScaleBase

用于在 Y 轴上切换线性与对数比例的工具。

property default_keymap#

None 单例的类型。

description = 'Toggle scale Y axis'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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

基类:ZoomPanBase

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

cursor = 3[源代码]#

工具激活时使用的光标。

property default_keymap#

None 单例的类型。

description = 'Zoom to rectangle'#

工具描述。

str:如果工具包含在工具栏中,则用作工具提示(Tooltip)。

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 调用。

参数:
eventEvent

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

senderobject

请求触发该工具的对象。

dataobject

额外数据。

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=None)[源代码]#

向容器添加多个工具。

参数:
containerContainer

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

toolslist, 可选

列表格式为 [[group1, [tool1, tool2 ...]], [group2, [...]]],其中工具 [tool1, tool2, ...] 将显示在 group1 中。详情请参阅 backend_bases.ToolContainerBase.add_tool。如果未指定,则默认为 default_toolbar_tools

matplotlib.backend_tools.add_tools_to_manager(toolmanager, tools=None)[源代码]#

ToolManager 添加多个工具。

参数:
toolmanagerbackend_managers.ToolManager

要添加工具的管理器。

tools{str: class_like}, 可选

要以 {name: tool} 字典形式添加的工具,有关详细信息,请参阅 backend_managers.ToolManager.add_tool。如果未指定,则默认为 default_tools

matplotlib.backend_tools.cursors[源代码]#

Cursors 的别名

matplotlib.backend_tools.default_toolbar_tools = [['navigation', ['home', 'back', 'forward']], ['zoompan', ['pan', 'zoom', 'subplots']], ['io', ['save', 'help']]]#

添加到容器的默认工具。

matplotlib.backend_tools.default_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'>}#

添加到工具管理器的默认工具。