matplotlib.widgets

Inheritance diagram of matplotlib.widgets

GUI中性小部件

设计用于任何GUI后端的小部件。所有这些小部件都需要预先定义 matplotlib.axes.Axes 实例并将其作为第一个参数传递。Matplotlib不会试图在布局方面太聪明——你需要弄清楚你想要的轴有多宽和多高来容纳你的小部件。

class matplotlib.widgets.AxesWidget(ax)[源代码]

基类:matplotlib.widgets.Widget

小部件连接到单个 Axes .

为了确保小部件保持响应而不是垃圾收集,用户应该维护对对象的引用。

这是必要的,因为回调注册表只维护对这些函数的弱引用,这些函数是小部件的成员函数。如果没有对小部件对象的引用,它可能被垃圾收集,这将断开回调。

属性:
axAxes轴线

小部件的父轴。

帆布FigureCanvasBaseFigureCanvasBase

小部件的父图形画布。

active布尔

小部件是否处于活动状态?

connect_event(event, callback)[源代码]

使用事件连接回调。

应该用这个代替 figure.canvas.mpl_connect 因为这个函数存储回调ID以便以后清理。

disconnect_events()[源代码]

断开此小部件创建的所有事件。

class matplotlib.widgets.Button(ax, label, image=None, color='0.85', hovercolor='0.95')[源代码]

基类:matplotlib.widgets.AxesWidget

GUI中性按钮。

要使按钮保持响应,必须保留对它的引用。呼叫 on_clicked 连接到按钮。

属性:
ax

这个 matplotlib.axes.Axes 按钮呈现为。

label

A matplotlib.text.Text 实例。

color

不悬停时按钮的颜色。

hovercolor

悬停时按钮的颜色。

参数:
axAxes轴线

这个 Axes 实例按钮将被放入。

labelSTR

按钮文本。

image数组状或PIL图像

要放置在按钮中的图像(如果不是) None . 参数直接转发到 imshow .

color颜色

按钮未激活时的颜色。

hovercolor颜色

鼠标悬停在按钮上时按钮的颜色。

disconnect(cid)[源代码]

删除具有连接id的回调函数 cid .

on_clicked(func)[源代码]

连接回调函数 func 单击事件按钮。

返回可用于断开回调的连接id。

class matplotlib.widgets.CheckButtons(ax, labels, actives=None)[源代码]

基类:matplotlib.widgets.AxesWidget

一组与图形用户界面无关的检查按钮。

要使复选按钮保持响应,必须保留对此对象的引用。

用连接到复选按钮 on_clicked 方法。

属性:
axAxes轴线

小部件的父轴。

标签 名单 Text名单
矩形 名单 Rectangle名单
线 名单 (Line2DLine2D )成对列表(

复选框中x的行列表。这些行存在于每个框中,但具有 set_visible(False) 当其框未选中时。

将复选按钮添加到 matplotlib.axes.Axes 实例 ax

参数:
axAxes轴线

小部件的父轴。

labelsstr列表

复选按钮的标签。

actives布尔列表,可选

按钮的初始检查状态。列表的长度必须与 标签 . 如果未给定,则取消选中所有按钮。

disconnect(cid)[源代码]

删除带有连接ID的观察者 cid .

get_status()[源代码]

返回所有复选按钮的状态(True/False)的元组。

on_clicked(func)[源代码]

连接回调函数 func 单击事件按钮。

返回可用于断开回调的连接id。

set_active(index)[源代码]

按索引切换(激活或停用)复选按钮。

如果 eventson 是True。

参数:
index利息

要切换的复选按钮的索引。

加薪:
ValueError

如果 指数 无效。

class matplotlib.widgets.Cursor(ax, horizOn=True, vertOn=True, useblit=False, **lineprops)[源代码]

基类:matplotlib.widgets.AxesWidget

跨越轴并随鼠标光标移动的十字光标。

要使光标保持响应,必须保留对它的引用。

参数:
axmatplotlib.axes.Axesmatplotlib.axes.Axes

这个 Axes 将光标附加到。

horizOnbool,默认值:True

是否画水平线。

vertOnbool,默认值:True

是否画垂直线。

useblitbool,默认值:False

如果后端支持,请使用blitting以加快绘图速度。

其他参数:
**lineprops

Line2D 控制线条外观的属性。另请参见 axhline .

实例

光标 .

clear(event)[源代码]

清除光标的内部事件处理程序。

onmove(event)[源代码]

当鼠标移动时绘制光标的内部事件处理程序。

class matplotlib.widgets.EllipseSelector(ax, onselect, drawtype='box', minspanx=0, minspany=0, useblit=False, lineprops=None, rectprops=None, spancoords='data', button=None, maxdist=10, marker_props=None, interactive=False, state_modifier_keys=None)[源代码]

基类:matplotlib.widgets.RectangleSelector

选择轴的椭圆区域。

要使光标保持响应,必须保留对它的引用。

示例用法:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import EllipseSelector

def onselect(eclick, erelease):
    "eclick and erelease are matplotlib events at press and release."
    print('startposition: (%f, %f)' % (eclick.xdata, eclick.ydata))
    print('endposition  : (%f, %f)' % (erelease.xdata, erelease.ydata))
    print('used button  : ', eclick.button)

def toggle_selector(event):
    print(' Key pressed.')
    if event.key in ['Q', 'q'] and toggle_selector.ES.active:
        print('EllipseSelector deactivated.')
        toggle_selector.RS.set_active(False)
    if event.key in ['A', 'a'] and not toggle_selector.ES.active:
        print('EllipseSelector activated.')
        toggle_selector.ES.set_active(True)

x = np.arange(100.) / 99
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)

toggle_selector.ES = EllipseSelector(ax, onselect, drawtype='line')
fig.canvas.mpl_connect('key_press_event', toggle_selector)
plt.show()
参数:
axAxes轴线

小部件的父轴。

onselect功能

完成选择后调用的回调函数。必须有签名:

def onselect(eclick: MouseEvent, erelease: MouseEvent)

在哪里? 埃克里克埃雷莱斯 鼠标点击释放 MouseEvent 开始并完成选择的。

drawtype{,“box”,“line”},“无”

是画完整的矩形框,矩形的对角线,还是什么都不画。

minspanx浮点,默认值:0

x跨度小于 米恩斯潘 被忽略。

minspany浮点,默认值:0

y跨度小于 minspany公司 被忽略。

useblitbool,默认值:False

是否使用blitting来加快绘图速度(如果后端支持)。

lineprops可选的

绘制线时使用的属性,如果 drawtype == "line" . 违约::

dict(color="black", linestyle="-", linewidth=2, alpha=0.5)
rectprops可选的

绘制矩形时使用的属性,如果 drawtype == "box" . 违约::

dict(facecolor="red", edgecolor="black", alpha=0.2, fill=True)
spancoords{“data”,“pixels”},默认值:“data”

是否解释 米恩斯潘minspany公司 在数据或像素坐标中。

按钮MouseButton 名单 MouseButton ,默认值:所有按钮鼠标按钮,鼠标按钮列表,默认:所有按钮

触发矩形选择的按钮。

maxdist浮点,默认值:10

可激活交互式工具手柄的像素距离。

marker_props双关语

用于绘制交互控制柄的属性。当前未实现并被忽略。

interactivebool,默认值:False

是否绘制一组句柄,允许在绘制小部件后与之交互。

state_modifier_keys可选的

影响小部件行为的键盘修饰符。值修改默认值。

  • “移动”:移动现有形状,默认值:无修改器。
  • “clear”:清除当前形状,默认为“escape”。
  • “square”:使形状为正方形,默认值为“shift”。
  • “center”:使初始点成为形状的中心,默认值为:“ctrl”。

“正方形”和“中心”可以组合。

draw_shape(extents)[源代码]
class matplotlib.widgets.Lasso(ax, xy, callback=None, useblit=True)[源代码]

基类:matplotlib.widgets.AxesWidget

任意形状的选择曲线。

所选路径可与 contains_point 从图像中选择数据点。

不像 LassoSelector ,必须用起始点初始化 xyLasso 事件在释放时被销毁。

参数:
axAxes轴线

小部件的父轴。

xy(浮标,浮标)

套索起点的坐标。

callback可赎回的

每当套索被释放时, 回调 函数被调用并传递选定路径的顶点。

onmove(event)[源代码]
onrelease(event)[源代码]
class matplotlib.widgets.LassoSelector(ax, onselect=None, useblit=True, lineprops=None, button=None)[源代码]

基类:matplotlib.widgets._SelectorWidget

任意形状的选择曲线。

要使选择器保持响应,必须保留对它的引用。

所选路径可与 contains_point 从图像中选择数据点。

与…对比 LassoLassoSelector 使用类似于 RectangleSelectorSpanSelector ,并将继续与轴交互,直到断开。

示例用法:

ax = subplot(111)
ax.plot(x, y)

def onselect(verts):
    print(verts)
lasso = LassoSelector(ax, onselect)
参数:
axAxes轴线

小部件的父轴。

onselect功能

每当套索被释放时, 单选择 函数被调用并传递选定路径的顶点。

按钮MouseButton 或列表 MouseButton 可选鼠标按钮或鼠标按钮列表,可选

用于矩形选择的鼠标按钮。默认为 None ,对应于所有按钮。

onpress(event)[源代码]
onrelease(event)[源代码]
class matplotlib.widgets.LockDraw[源代码]

基类:object

有些小部件(如光标)绘制到画布上,但在所有情况下都不需要这样做,例如工具栏处于“缩放到矩形”模式并绘制矩形时。为了避免这种情况,小部件可以通过 canvas.widgetlock(widget) 在画布上绘制之前,这将阻止其他小部件同时执行此操作(如果它们也尝试先获取锁)。

available(o)[源代码]

返回图纸是否可用于 o .

isowner(o)[源代码]

返回是否 o 拥有这把锁。

locked()[源代码]

返回锁当前是否由所有者持有。

release(o)[源代码]

将锁从 o .

class matplotlib.widgets.MultiCursor(canvas, axes, useblit=True, horizOn=False, vertOn=True, **lineprops)[源代码]

基类:matplotlib.widgets.Widget

提供多个轴之间共享的垂直(默认)和/或水平线光标。

要使光标保持响应,必须保留对它的引用。

示例用法:

from matplotlib.widgets import MultiCursor
import matplotlib.pyplot as plt
import numpy as np

fig, (ax1, ax2) = plt.subplots(nrows=2, sharex=True)
t = np.arange(0.0, 2.0, 0.01)
ax1.plot(t, np.sin(2*np.pi*t))
ax2.plot(t, np.sin(4*np.pi*t))

multi = MultiCursor(fig.canvas, (ax1, ax2), color='r', lw=1,
                    horizOn=False, vertOn=True)
plt.show()
clear(event)[源代码]

清除光标。

connect()[源代码]

连接事件。

disconnect()[源代码]

断开事件连接。

onmove(event)[源代码]
class matplotlib.widgets.PolygonSelector(ax, onselect, useblit=False, lineprops=None, markerprops=None, vertex_select_radius=15)[源代码]

基类:matplotlib.widgets._SelectorWidget

选择轴的多边形区域。

用鼠标单击放置顶点,然后通过完成多边形(单击第一个顶点)进行选择。握住 ctrl 键并单击并拖动顶点以重新定位 ctrl 如果多边形已完成,则不需要键)。握住 转移 键并单击并拖动轴中的任意位置以移动所有顶点。按 esc 键开始新多边形。

要使选择器保持响应,必须保留对它的引用。

参数:
axAxes轴线

小部件的父轴。

onselect功能

当多边形在完成后完成或修改时, 单选择 函数被调用并作为 (xdata, ydata) 元组。

useblitbool,默认值:False
直线道具 :dict,默认值: dict(color='k', linestyle='-', linewidth=2, alpha=0.5) .默认值:

表示多边形边的线的艺术家属性。

马尾螺桨 :dict,默认值: dict(marker='o', markersize=7, mec='k', mfc='k', alpha=0.5) .默认值:

在多边形顶点绘制的标记的艺术家属性。

vertex_select_radius浮点,默认值:15px

如果鼠标单击在范围内,则会选择顶点(以完成多边形或移动顶点)。 vertex_select_radius 顶点的像素。

实例

多边形选择器演示

onmove(event)[源代码]

光标移动事件处理程序和验证程序

property verts

多边形顶点,作为 (x, y) 对。

class matplotlib.widgets.RadioButtons(ax, labels, active=0, activecolor='blue')[源代码]

基类:matplotlib.widgets.AxesWidget

GUI中性单选按钮。

要使按钮保持响应,必须保留对此对象的引用。

用连接到单选按钮 on_clicked 方法。

属性:
axAxes轴线

小部件的父轴。

activecolor颜色

选定按钮的颜色。

标签 名单 Text名单

按钮标签。

圈子 名单 Circle名单

按钮。

value_selectedSTR

当前选定按钮的标签文本。

将单选按钮添加到 Axes .

参数:
axAxes轴线

要添加按钮的轴。

labelsstr列表

按钮标签。

active利息

初始选定按钮的索引。

activecolor颜色

选定按钮的颜色。

disconnect(cid)[源代码]

删除带有连接ID的观察者 cid .

on_clicked(func)[源代码]

连接回调函数 func 单击事件按钮。

返回可用于断开回调的连接id。

set_active(index)[源代码]

带数字的选择按钮 指数 .

如果 eventson 是True。

class matplotlib.widgets.RectangleSelector(ax, onselect, drawtype='box', minspanx=0, minspany=0, useblit=False, lineprops=None, rectprops=None, spancoords='data', button=None, maxdist=10, marker_props=None, interactive=False, state_modifier_keys=None)[源代码]

基类:matplotlib.widgets._SelectorWidget

选择轴的矩形区域。

要使光标保持响应,必须保留对它的引用。

实例

矩形选择

参数:
axAxes轴线

小部件的父轴。

onselect功能

完成选择后调用的回调函数。必须有签名:

def onselect(eclick: MouseEvent, erelease: MouseEvent)

在哪里? 埃克里克埃雷莱斯 鼠标点击释放 MouseEvent 开始并完成选择的。

drawtype{,“box”,“line”},“无”

是画完整的矩形框,矩形的对角线,还是什么都不画。

minspanx浮点,默认值:0

x跨度小于 米恩斯潘 被忽略。

minspany浮点,默认值:0

y跨度小于 minspany公司 被忽略。

useblitbool,默认值:False

是否使用blitting来加快绘图速度(如果后端支持)。

lineprops可选的

绘制线时使用的属性,如果 drawtype == "line" . 违约::

dict(color="black", linestyle="-", linewidth=2, alpha=0.5)
rectprops可选的

绘制矩形时使用的属性,如果 drawtype == "box" . 违约::

dict(facecolor="red", edgecolor="black", alpha=0.2, fill=True)
spancoords{“data”,“pixels”},默认值:“data”

是否解释 米恩斯潘minspany公司 在数据或像素坐标中。

按钮MouseButton 名单 MouseButton ,默认值:所有按钮鼠标按钮,鼠标按钮列表,默认:所有按钮

触发矩形选择的按钮。

maxdist浮点,默认值:10

可激活交互式工具手柄的像素距离。

marker_props双关语

用于绘制交互控制柄的属性。当前未实现并被忽略。

interactivebool,默认值:False

是否绘制一组句柄,允许在绘制小部件后与之交互。

state_modifier_keys可选的

影响小部件行为的键盘修饰符。值修改默认值。

  • “移动”:移动现有形状,默认值:无修改器。
  • “clear”:清除当前形状,默认为“escape”。
  • “square”:使形状为正方形,默认值为“shift”。
  • “center”:使初始点成为形状的中心,默认值为:“ctrl”。

“正方形”和“中心”可以组合。

property center

矩形中心

property corners

从左下角开始的矩形角,顺时针移动。

draw_shape(extents)[源代码]
property edge_centers

矩形边的中点从左开始,顺时针移动。

property extents

返回(xmin、xmax、ymin、ymax)。

property geometry

返回一个包含x的shape(2,5)数组 (RectangleSelector.geometry[1, :] 和Y (RectangleSelector.geometry[0, :] )矩形的四个角的坐标,从左上角开始和结束。

class matplotlib.widgets.Slider(ax, label, valmin, valmax, valinit=0.5, valfmt=None, closedmin=True, closedmax=True, slidermin=None, slidermax=None, dragging=True, valstep=None, orientation='horizontal', **kwargs)[源代码]

基类:matplotlib.widgets.AxesWidget

表示浮点范围的滑块。

从创建滑块 缬氨酸瓦尔马克斯 在轴上 ax . 要使滑块保持响应,必须保持对它的引用。呼叫 on_changed() 连接到滑块事件。

属性:
val浮动

滑块值。

参数:
ax轴线

放置滑块的轴。

labelSTR

滑块标签。

valmin浮动

滑块的最小值。

valmax浮动

滑块的最大值。

valinit浮动,默认值:0.5

滑块的初始位置。

valfmtstr,默认值:无

%-用于格式化滑块值的格式字符串。如果没有,a ScalarFormatter 而是使用。

closedminbool,默认值:True

滑块间隔是否在底部闭合。

closedmaxbool,默认值:True

顶部是否闭合滑块。

slidermin滑块,默认值:无

不允许当前滑块的值小于滑块的值 滑块 .

slidermax滑块,默认值:无

不允许当前滑块的值大于滑块的值 幻灯片 .

draggingbool,默认值:True

如果为真,则可以通过鼠标拖动滑块。

valstep浮点,默认值:无

如果给定,滑块将捕捉到 瓦尔斯塔 .

orientation{'horizontal','vertical'},默认值:'horizontal'

滑块的方向。

笔记

额外的禁运转给 self.poly 哪个是 Rectangle 这会绘制滑块旋钮。见 Rectangle 有效属性名称的文档 (facecoloredgecoloralpha 等)。

disconnect(cid)[源代码]

删除带有连接ID的观察者 cid

参数:
cid利息

要删除的观察者的连接ID

on_changed(func)[源代码]

当滑块值更改时,调用 func 使用新的滑块值

参数:
func可赎回的

当滑块更改时要调用的函数。函数必须接受一个浮点作为其参数。

返回:
利息

连接ID(可用于断开连接 func

reset()[源代码]

将滑块重置为初始值

set_val(val)[源代码]

将滑块值设置为 val

参数:
val浮动
class matplotlib.widgets.SpanSelector(ax, onselect, direction, minspan=None, useblit=False, rectprops=None, onmove_callback=None, span_stays=False, button=None)[源代码]

基类:matplotlib.widgets._SelectorWidget

在单个轴上直观地选择最小/最大范围,并使用这些值调用函数。

为确保选择器保持响应,请保留对它的引用。

要关闭span选择器,请设置 span_selector.active 错误的。要重新打开它,请将其设置为True。

参数:
axmatplotlib.axes.Axesmatplotlib.axes.Axes
onselectfunc(min,max),min/max为浮点数
direction{“水平”,“垂直”}

绘制跨度选择器的方向。

minspan浮点,默认值:无

如果选择小于 明斯潘 不要打电话 单选择 .

useblitbool,默认值:False

如果为真,请使用后端相关的块传送功能以更快地更新画布。

rectpropsdict,默认值:无

词典 matplotlib.patches.Patch 性质。

onmove_callbackfunc(min,max),min/max是浮点数,默认值:无

选择范围时在鼠标移动时调用。

span_staysbool,默认值:False

如果为True,则释放鼠标后跨度保持可见。

按钮MouseButton 或列表 MouseButton鼠标按钮或鼠标按钮列表

激活范围选择器的鼠标按钮。

实例

>>> import matplotlib.pyplot as plt
>>> import matplotlib.widgets as mwidgets
>>> fig, ax = plt.subplots()
>>> ax.plot([1, 2, 3], [10, 50, 100])
>>> def onselect(vmin, vmax):
...     print(vmin, vmax)
>>> rectprops = dict(facecolor='blue', alpha=0.5)
>>> span = mwidgets.SpanSelector(ax, onselect, 'horizontal',
...                              rectprops=rectprops)
>>> fig.show()

参见: 跨距选择器

ignore(event)[源代码]

返回是否 事件 应该被忽略。

此方法应在任何事件回调开始时调用。

new_axes(ax)[源代码]

将span选择器设置为在新轴上操作。

class matplotlib.widgets.SubplotTool(targetfig, toolfig)[源代码]

基类:matplotlib.widgets.Widget

用于调整 matplotlib.figure.Figure .

参数:
目标图Figure图形

要调整的图形实例。

工具图Figure图形

要嵌入子批次工具的figure实例。

property axbottom
property axhspace
property axleft
property axright
property axtop
property axwspace
funcbottom(val)[源代码]

[Deprecated]

笔记

3.3 版后已移除:

funchspace(val)[源代码]

[Deprecated]

笔记

3.3 版后已移除:

funcleft(val)[源代码]

[Deprecated]

笔记

3.3 版后已移除:

funcright(val)[源代码]

[Deprecated]

笔记

3.3 版后已移除:

functop(val)[源代码]

[Deprecated]

笔记

3.3 版后已移除:

funcwspace(val)[源代码]

[Deprecated]

笔记

3.3 版后已移除:

class matplotlib.widgets.TextBox(ax, label, initial='', color='.95', hovercolor='1', label_pad=0.01)[源代码]

基类:matplotlib.widgets.AxesWidget

图形用户界面中性文本输入框。

要使文本框保持响应,必须保留对其的引用。

呼叫 on_text_change 每当文本更改时更新。

呼叫 on_submit 每当用户点击输入或离开文本输入字段时更新。

属性:
axAxes轴线

小部件的父轴。

标签Text文本
color颜色

不悬停时文本框的颜色。

hovercolor颜色

悬停时文本框的颜色。

参数:
axAxes轴线

这个 Axes 实例按钮将被放入。

labelSTR

此文本框的标签。

initialSTR

文本框中的初始值。

color颜色

盒子的颜色。

hovercolor颜色

鼠标在方框上时的颜色。

label_pad浮动

标签与文本框右侧之间的距离。

begin_typing(x)[源代码]
disconnect(cid)[源代码]

删除带有连接ID的观察者 cid .

on_submit(func)[源代码]

当用户点击进入或离开提交框时,调用此 func 附带事件。

返回可用于断开连接的连接ID。

on_text_change(func)[源代码]

当文本更改时,调用此 func 附带事件。

返回可用于断开连接的连接ID。

property params_to_disable
position_cursor(x)[源代码]
set_val(val)[源代码]
stop_typing()[源代码]
property text
class matplotlib.widgets.ToolHandles(ax, x, y, marker='o', marker_props=None, useblit=True)[源代码]

基类:object

画布工具的控制手柄。

参数:
axmatplotlib.axes.Axesmatplotlib.axes.Axes

显示工具手柄的Matplotlib轴。

x, y一维阵列

控制手柄的坐标。

markerSTR

用于显示手柄的标记形状。见 matplotlib.pyplot.plot .

marker_props双关语

其他标记属性。见 matplotlib.lines.Line2D .

closest(x, y)[源代码]

返回到最近索引的索引和像素距离。

set_animated(val)[源代码]
set_data(pts, y=None)[源代码]

设置手柄的X和Y位置

set_visible(val)[源代码]
property x
property y
class matplotlib.widgets.Widget[源代码]

基类:object

GUI中性小部件的抽象基类

property active

小部件是否处于活动状态?

drawon = True
eventson = True
get_active()[源代码]

获取小部件是否处于活动状态。

ignore(event)[源代码]

返回是否 事件 应该被忽略。

此方法应在任何事件回调开始时调用。

set_active(active)[源代码]

设置小部件是否处于活动状态。