matplotlib.widgets
¶

GUI中性小部件¶
设计用于任何GUI后端的小部件。所有这些小部件都需要预先定义 matplotlib.axes.Axes
实例并将其作为第一个参数传递。Matplotlib不会试图在布局方面太聪明——你需要弄清楚你想要的轴有多宽和多高来容纳你的小部件。
-
class
matplotlib.widgets.
AxesWidget
(ax)[源代码]¶ -
小部件连接到单个
Axes
.为了确保小部件保持响应而不是垃圾收集,用户应该维护对对象的引用。
这是必要的,因为回调注册表只维护对这些函数的弱引用,这些函数是小部件的成员函数。如果没有对小部件对象的引用,它可能被垃圾收集,这将断开回调。
属性: - ax :
Axes
轴线 小部件的父轴。
- 帆布 :
FigureCanvasBase
FigureCanvasBase
小部件的父图形画布。
active
布尔小部件是否处于活动状态?
- ax :
-
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
悬停时按钮的颜色。
参数:
-
class
matplotlib.widgets.
CheckButtons
(ax, labels, actives=None)[源代码]¶ 基类:
matplotlib.widgets.AxesWidget
一组与图形用户界面无关的检查按钮。
要使复选按钮保持响应,必须保留对此对象的引用。
用连接到复选按钮
on_clicked
方法。属性: 将复选按钮添加到
matplotlib.axes.Axes
实例 ax参数: - ax :
Axes
轴线 小部件的父轴。
- labelsstr列表
复选按钮的标签。
- actives布尔列表,可选
按钮的初始检查状态。列表的长度必须与 标签 . 如果未给定,则取消选中所有按钮。
- ax :
-
class
matplotlib.widgets.
Cursor
(ax, horizOn=True, vertOn=True, useblit=False, **lineprops)[源代码]¶ 基类:
matplotlib.widgets.AxesWidget
跨越轴并随鼠标光标移动的十字光标。
要使光标保持响应,必须保留对它的引用。
参数: - ax :
matplotlib.axes.Axes
matplotlib.axes.Axes
这个
Axes
将光标附加到。- horizOnbool,默认值:True
是否画水平线。
- vertOnbool,默认值:True
是否画垂直线。
- useblitbool,默认值:False
如果后端支持,请使用blitting以加快绘图速度。
其他参数: 实例
见 光标 .
- ax :
-
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()
参数: - ax :
Axes
轴线 小部件的父轴。
- 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”。
“正方形”和“中心”可以组合。
- ax :
-
class
matplotlib.widgets.
Lasso
(ax, xy, callback=None, useblit=True)[源代码]¶ 基类:
matplotlib.widgets.AxesWidget
任意形状的选择曲线。
所选路径可与
contains_point
从图像中选择数据点。不像
LassoSelector
,必须用起始点初始化 xy 和Lasso
事件在释放时被销毁。参数: - ax :
Axes
轴线 小部件的父轴。
- xy(浮标,浮标)
套索起点的坐标。
- callback可赎回的
每当套索被释放时, 回调 函数被调用并传递选定路径的顶点。
- ax :
-
class
matplotlib.widgets.
LassoSelector
(ax, onselect=None, useblit=True, lineprops=None, button=None)[源代码]¶ 基类:
matplotlib.widgets._SelectorWidget
任意形状的选择曲线。
要使选择器保持响应,必须保留对它的引用。
所选路径可与
contains_point
从图像中选择数据点。与…对比
Lasso
,LassoSelector
使用类似于RectangleSelector
和SpanSelector
,并将继续与轴交互,直到断开。示例用法:
ax = subplot(111) ax.plot(x, y) def onselect(verts): print(verts) lasso = LassoSelector(ax, onselect)
参数: - ax :
Axes
轴线 小部件的父轴。
- onselect功能
每当套索被释放时, 单选择 函数被调用并传递选定路径的顶点。
- 按钮 :
MouseButton
或列表MouseButton
可选鼠标按钮或鼠标按钮列表,可选 用于矩形选择的鼠标按钮。默认为
None
,对应于所有按钮。
- ax :
-
class
matplotlib.widgets.
LockDraw
[源代码]¶ 基类:
object
有些小部件(如光标)绘制到画布上,但在所有情况下都不需要这样做,例如工具栏处于“缩放到矩形”模式并绘制矩形时。为了避免这种情况,小部件可以通过
canvas.widgetlock(widget)
在画布上绘制之前,这将阻止其他小部件同时执行此操作(如果它们也尝试先获取锁)。
-
class
matplotlib.widgets.
MultiCursor
(canvas, axes, useblit=True, horizOn=False, vertOn=True, **lineprops)[源代码]¶ -
提供多个轴之间共享的垂直(默认)和/或水平线光标。
要使光标保持响应,必须保留对它的引用。
示例用法:
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()
-
class
matplotlib.widgets.
PolygonSelector
(ax, onselect, useblit=False, lineprops=None, markerprops=None, vertex_select_radius=15)[源代码]¶ 基类:
matplotlib.widgets._SelectorWidget
选择轴的多边形区域。
用鼠标单击放置顶点,然后通过完成多边形(单击第一个顶点)进行选择。握住 ctrl 键并单击并拖动顶点以重新定位 ctrl 如果多边形已完成,则不需要键)。握住 转移 键并单击并拖动轴中的任意位置以移动所有顶点。按 esc 键开始新多边形。
要使选择器保持响应,必须保留对它的引用。
参数: - ax :
Axes
轴线 小部件的父轴。
- 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 顶点的像素。
实例
-
property
verts
¶ 多边形顶点,作为
(x, y)
对。
- ax :
-
class
matplotlib.widgets.
RadioButtons
(ax, labels, active=0, activecolor='blue')[源代码]¶ 基类:
matplotlib.widgets.AxesWidget
GUI中性单选按钮。
要使按钮保持响应,必须保留对此对象的引用。
用连接到单选按钮
on_clicked
方法。属性: 将单选按钮添加到
Axes
.参数: - ax :
Axes
轴线 要添加按钮的轴。
- labelsstr列表
按钮标签。
- active利息
初始选定按钮的索引。
- activecolor颜色
选定按钮的颜色。
- ax :
-
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
选择轴的矩形区域。
要使光标保持响应,必须保留对它的引用。
实例
参数: - ax :
Axes
轴线 小部件的父轴。
- 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
¶ 从左下角开始的矩形角,顺时针移动。
-
property
edge_centers
¶ 矩形边的中点从左开始,顺时针移动。
-
property
extents
¶ 返回(xmin、xmax、ymin、ymax)。
-
property
geometry
¶ 返回一个包含x的shape(2,5)数组 (
RectangleSelector.geometry[1, :]
和Y (RectangleSelector.geometry[0, :]
)矩形的四个角的坐标,从左上角开始和结束。
- ax :
-
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
有效属性名称的文档 (facecolor
,edgecolor
,alpha
等)。
-
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。参数: - ax :
matplotlib.axes.Axes
matplotlib.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()
参见: 跨距选择器
- ax :
-
class
matplotlib.widgets.
SubplotTool
(targetfig, toolfig)[源代码]¶ -
用于调整
matplotlib.figure.Figure
.参数: -
property
axbottom
¶
-
property
axhspace
¶
-
property
axleft
¶
-
property
axright
¶
-
property
axtop
¶
-
property
axwspace
¶
-
property
-
class
matplotlib.widgets.
TextBox
(ax, label, initial='', color='.95', hovercolor='1', label_pad=0.01)[源代码]¶ 基类:
matplotlib.widgets.AxesWidget
图形用户界面中性文本输入框。
要使文本框保持响应,必须保留对其的引用。
呼叫
on_text_change
每当文本更改时更新。呼叫
on_submit
每当用户点击输入或离开文本输入字段时更新。属性: 参数: -
property
params_to_disable
¶
-
property
text
¶
-
property
-
class
matplotlib.widgets.
ToolHandles
(ax, x, y, marker='o', marker_props=None, useblit=True)[源代码]¶ 基类:
object
画布工具的控制手柄。
参数: - ax :
matplotlib.axes.Axes
matplotlib.axes.Axes
显示工具手柄的Matplotlib轴。
- x, y一维阵列
控制手柄的坐标。
- markerSTR
用于显示手柄的标记形状。见
matplotlib.pyplot.plot
.- marker_props双关语
其他标记属性。见
matplotlib.lines.Line2D
.
-
property
x
¶
-
property
y
¶
- ax :