matplotlib.widgets
#
GUI 中立的小部件#
专为任何GUI后端设计的部件。所有这些部件都需要你预定义一个 Axes
实例,并将其作为第一个参数传递。Matplotlib 在布局方面不会过于智能——你需要自行决定 Axes 的宽度和高度,以适应你的部件。
- class matplotlib.widgets.AxesWidget(ax)[源代码][源代码]#
基类:
Widget
连接到单个
Axes
的小部件。为了确保小部件保持响应且不被垃圾回收,用户应维护对该对象的引用。
这是必要的,因为回调注册表仅维护对作为小部件成员函数的函数的弱引用。如果没有对小部件对象的引用,它可能会被垃圾回收,这将断开回调。
- 属性:
- ax
Axes
小部件的父级 Axes。
- 画布 :
FigureCanvasBase
FigureCanvasBase
小部件的父图画布。
active
布尔值小部件是否处于活动状态?
- ax
- property canvas#
!! 由 numpydoc 处理 !!
- class matplotlib.widgets.Button(ax, label, image=None, color='0.85', hovercolor='0.95', *, useblit=True)[源代码][源代码]#
基类:
AxesWidget
一个与图形用户界面无关的按钮。
为了使按钮保持响应,你必须保留对它的引用。调用
on_clicked
来连接按钮。- 参数:
- ax
Axes
按钮将被放置的
Axes
实例。- 标签str
按钮文本。
- 图像类数组或PIL图像
按钮中放置的图像,如果不是 None 。该参数直接传递给
imshow
。- 颜色 : color颜色
按钮未激活时的颜色。
- hovercolor颜色
鼠标悬停时按钮的颜色。
- useblitbool, 默认值: True
如果后端支持,使用blitting进行更快的绘图。详情请参阅教程 通过使用 blitting 实现更快的渲染。
Added in version 3.7.
- ax
- class matplotlib.widgets.CheckButtons(ax, labels, actives=None, *, useblit=True, label_props=None, frame_props=None, check_props=None)[源代码][源代码]#
基类:
AxesWidget
一组与图形用户界面无关的复选按钮。
为了使复选按钮保持响应,您必须保留对此对象的引用。
使用
on_clicked
方法连接到 CheckButtons。将检查按钮添加到
Axes
实例 ax 中。- 参数:
- ax
Axes
小部件的父级 Axes。
- 标签list of str
复选按钮的标签。
- 活动布尔值列表,可选
按钮的初始检查状态。列表的长度必须与 labels 相同。如果未给出,所有按钮均为未选中状态。
- useblitbool, 默认值: True
如果后端支持,使用blitting进行更快的绘图。详情请参阅教程 通过使用 blitting 实现更快的渲染。
Added in version 3.7.
- label_props字典,可选
用于标签的
Text
属性字典。Added in version 3.7.
- frame_props字典,可选
用于检查按钮框架的散点
Collection
属性的字典。默认值为(标签字体大小 / 2)**2 大小,黑色边缘颜色,无面颜色,以及 1.0 线宽。Added in version 3.7.
- check_props字典,可选
散点图
Collection
属性的字典,用于检查按钮的检查。默认值为 (标签字体大小 / 2)**2 大小,黑色颜色,以及 1.0 线宽。Added in version 3.7.
- ax
- on_clicked(func)[源代码][源代码]#
将回调函数 func 连接到按钮点击事件。
- 参数:
- 函数可调用
当按钮被点击时,使用按钮标签调用 func。当所有按钮都被清除时,使用 None 调用 func。回调函数 func 必须具有以下签名:
def func(label: str | None) -> Any
可能存在返回值,但会被忽略。
- 返回:
- 一个连接ID,可用于断开回调。
- set_active(index, state=None)[源代码][源代码]#
通过索引修改复选按钮的状态。
如果
eventson
为 True,回调将被触发。- 参数:
- 索引整数
切换复选按钮的索引。
- 状态bool, 可选
如果是布尔值,则显式设置状态。如果没有提供值,则切换状态。
- 引发:
- ValueError
如果 index 无效。
- 类型错误
如果 state 不是布尔值。
- set_check_props(props)[源代码][源代码]#
设置复选按钮的属性。
Added in version 3.7.
- 参数:
- 属性dict
用于检查按钮检查的
Collection
属性字典。
- set_frame_props(props)[源代码][源代码]#
设置复选按钮框架的属性。
Added in version 3.7.
- 参数:
- 属性dict
用于检查按钮框架的
Collection
属性字典。
- class matplotlib.widgets.Cursor(ax, *, horizOn=True, vertOn=True, useblit=False, **lineprops)[源代码][源代码]#
基类:
AxesWidget
一个跨越Axes并随鼠标光标移动的十字准线光标。
为了使光标保持响应,您必须保持对它的引用。
- 参数:
- ax
Axes
要附加光标的
Axes
。- horizOnbool, 默认值: True
是否绘制水平线。
- vertOnbool, 默认值: True
是否绘制垂直线。
- useblitbool, 默认值: False
如果后端支持,使用blitting进行更快的绘图。详情请参阅教程 通过使用 blitting 实现更快的渲染。
- ax
- 其他参数:
示例
参见 光标。
- class matplotlib.widgets.EllipseSelector(ax, onselect=None, *, minspanx=0, minspany=0, useblit=False, props=None, spancoords='data', button=None, grab_range=10, handle_props=None, interactive=False, state_modifier_keys=None, drag_from_anywhere=False, ignore_event_outside=False, use_data_coordinates=False)[源代码][源代码]#
-
选择一个Axes的椭圆形区域。
为了使光标保持响应,您必须保持对它的引用。
在选择区域外的相同坐标处触发的按下和释放事件将清除选择器,除非
ignore_event_outside=True
。- 参数:
- ax
Axes
小部件的父级 Axes。
- onselect函数, 可选
一个在释放事件发生后并且选择被创建、更改或移除时调用的回调函数。它必须具有以下签名:
def onselect(eclick: MouseEvent, erelease: MouseEvent)
其中 eclick 和 erelease 是启动和完成选择的鼠标点击和释放
MouseEvent
。- minspanxfloat, 默认值: 0
x-span 小于或等于 minspanx 的选择将被移除(如果已经存在)或取消。
- minspanyfloat, 默认值: 0
y-跨度小于或等于 minspanx 的选择将被移除(如果已存在)或取消。
- useblitbool, 默认值: False
是否使用blitting以实现更快的绘图(如果后端支持)。详情请参阅教程 通过使用 blitting 实现更快的渲染。
- 属性字典,可选
用于绘制椭圆的属性。参见
Patch
以获取有效属性。默认值:dict(facecolor='red', edgecolor='black', alpha=0.2, fill=True)
- spancoords
data
,pixels
,默认值:data
是否在数据或像素坐标中解释 minspanx 和 minspany。
- 按钮 :
MouseButton
, 列表的MouseButton
, 默认: 所有按钮MouseButton, MouseButton 列表, 默认: 所有按钮 触发矩形选择的按钮。
- grab_rangefloat, 默认值: 10
交互工具手柄可以在其中被激活的像素距离。
- handle_props字典,可选
用于绘制交互式句柄(标记艺术家)的属性。有关有效属性,请参见
Line2D
中的标记参数。默认值在mpl.rcParams
中定义,除了markeredgecolor
的默认值将与 props 中的edgecolor
属性相同。- 交互式bool, 默认值: False
是否绘制一组手柄,以便在绘制小部件后与之交互。
- state_modifier_keys字典,可选
影响小部件行为的键盘修饰符。这些值会修改默认值,默认值为:
“移动”:移动现有形状,默认:无修饰符。
"clear": 清除当前形状,默认: "escape"。
"square": 使形状为方形,默认值为 "shift"。
"center": 围绕其中心改变形状,默认: "ctrl"。
"rotate": 将图形围绕其中心在 -45° 和 45° 之间旋转,默认值: "r"。
"square" 和 "center" 可以结合使用。正方形形状可以通过在创建选择器时指定的
use_data_coordinates
参数来定义为数据坐标或显示坐标。- drag_from_anywherebool, 默认值: False
如果
True
,则可以通过点击其边界内的任何位置来移动小部件。- ignore_event_outsidebool, 默认值: False
如果
True
,则将忽略在跨度选择器外部触发的事件。- use_data_coordinatesbool, 默认值: False
如果为
True
,选择器的“方形”形状在数据坐标中定义,而不是在显示坐标中定义。
- ax
示例
- class matplotlib.widgets.Lasso(ax, xy, callback, *, useblit=True, props=None)[源代码][源代码]#
基类:
AxesWidget
任意形状的选择曲线。
所选路径可以与
contains_point
结合使用,从图像中选择数据点。与
LassoSelector
不同,这必须用一个起点 xy 初始化,并且在释放时Lasso
事件会被销毁。- 参数:
- ax
Axes
小部件的父级 Axes。
- xy(浮点数, 浮点数)
套索起点的坐标。
- 回调可调用
每当释放套索时,回调 函数会被调用,并传递所选路径的顶点。
- useblitbool, 默认值: True
是否使用blitting以实现更快的绘图(如果后端支持)。详情请参阅教程 通过使用 blitting 实现更快的渲染。
- props: dict, 可选
Lasso 线条属性。查看
Line2D
以获取有效属性。默认的 props 是:{'linestyle' : '-', 'color' : 'black', 'lw' : 2}
Added in version 3.9.
- ax
- class matplotlib.widgets.LassoSelector(ax, onselect=None, *, useblit=True, props=None, button=None)[源代码][源代码]#
基类:
_SelectorWidget
任意形状的选择曲线。
为了使选择器保持响应,您必须保留对它的引用。
所选路径可以与
contains_point
结合使用,以从图像中选择数据点。与
Lasso
相比,LassoSelector
的接口与RectangleSelector
和SpanSelector
类似,并且在与 Axes 断开连接之前会持续交互。示例用法:
ax = plt.subplot() ax.plot(x, y) def onselect(verts): print(verts) lasso = LassoSelector(ax, onselect)
- 参数:
- ax
Axes
小部件的父级 Axes。
- onselect函数, 可选
每当释放套索时,onselect 函数会被调用,并传入选中路径的顶点。
- useblitbool, 默认值: True
是否使用blitting以实现更快的绘图(如果后端支持)。详情请参阅教程 通过使用 blitting 实现更快的渲染。
- 属性字典,可选
绘制线条时使用的属性,参见
Line2D
以获取有效属性。默认值在mpl.rcParams
中定义。- 按钮 :
MouseButton
或MouseButton
列表, 可选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)[源代码][源代码]#
基类:
Widget
提供一个在多个 Axes 之间共享的垂直(默认)和/或水平线光标。
为了使光标保持响应,您必须保持对它的引用。
- 参数:
- 画布对象
此参数完全未被使用,仅保留以实现向后兼容。
- axes :
Axes
的列表列表 要附加光标的
Axes
。- useblitbool, 默认值: True
如果后端支持,使用blitting进行更快的绘图。详情请参阅教程 通过使用 blitting 实现更快的渲染。
- horizOnbool, 默认值: False
是否绘制水平线。
- vertOnbool, 默认值: True
是否绘制垂直线。
- 其他参数:
示例
参见 多光标。
- class matplotlib.widgets.PolygonSelector(ax, onselect=None, *, useblit=False, props=None, handle_props=None, grab_range=10, draw_bounding_box=False, box_handle_props=None, box_props=None)[源代码][源代码]#
基类:
_SelectorWidget
选择一个 Axes 的多边形区域。
通过每次鼠标点击放置顶点,并通过完成多边形(点击第一个顶点)进行选择。绘制完成后,可以通过点击并拖动左键移动单个顶点,或通过点击右键移除顶点。
此外,可以使用以下修饰键:
按住 ctrl 并点击并拖动顶点,可以在多边形完成之前重新定位它。
按住 shift 键并在 Axes 中的任意位置点击并拖动,以移动所有顶点。
按下 esc 键开始一个新的多边形。
为了使选择器保持响应,您必须保留对它的引用。
- 参数:
- ax
Axes
小部件的父级 Axes。
- onselect函数, 可选
当一个多边形在完成或完成后被修改时,onselect 函数会被调用,并传递一个包含顶点的列表,这些顶点以
(xdata, ydata)
元组的形式表示。- useblitbool, 默认值: False
是否使用blitting以实现更快的绘图(如果后端支持)。详情请参阅教程 通过使用 blitting 实现更快的渲染。
- 属性字典,可选
绘制线条的属性,查看
Line2D
以获取有效属性。默认值:dict(color='k', linestyle='-', linewidth=2, alpha=0.5)
- handle_props字典,可选
多边形顶点处绘制的标记的艺术家属性。有关有效属性,请参见
Line2D
中的标记参数。默认值在mpl.rcParams
中定义,除了markeredgecolor
的默认值将与 props 中的color
属性相同。- grab_rangefloat, 默认值: 10
如果鼠标点击在顶点 grab_range 像素范围内,则选择该顶点(以完成多边形或移动顶点)。
- 绘制边界框bool, 可选
如果
True
,多边形选择器完成后将绘制一个边界框。此框可用于移动和调整选择器的大小。- box_handle_props字典,可选
用于设置框句柄的属性。更多信息请参阅
RectangleSelector
的 handle_props 参数文档。- box_props字典,可选
要为框设置的属性。有关更多信息,请参阅
RectangleSelector
的 props 参数的文档。
- ax
注释
如果在移除点后只剩下一个点,选择器将恢复到未完成状态,您可以从现有点开始绘制新的多边形。
示例
- property verts#
多边形的顶点,作为
(x, y)
对的列表。
- class matplotlib.widgets.RadioButtons(ax, labels, active=0, activecolor=None, *, useblit=True, label_props=None, radio_props=None)[源代码][源代码]#
基类:
AxesWidget
一个与图形用户界面无关的单选按钮。
为了保持按钮的响应性,您必须保留对此对象的引用。
使用
on_clicked
方法连接到 RadioButtons。- 属性:
向
Axes
添加单选按钮。- 参数:
- ax
Axes
要添加按钮的轴。
- 标签list of str
按钮标签。
- 活跃整数
最初选中的按钮的索引。
- activecolor颜色
所选按钮的颜色。如果此处或 radio_props 中未指定,则默认为
'blue'
。- useblitbool, 默认值: True
如果后端支持,使用blitting进行更快的绘图。详情请参阅教程 通过使用 blitting 实现更快的渲染。
Added in version 3.7.
- label_props字典或字典列表,可选
用于标签的
Text
属性字典。Added in version 3.7.
- radio_props字典,可选
用于单选按钮的散点
Collection
属性字典。默认为 (标签字体大小 / 2)**2 大小,黑色边缘颜色,以及 activecolor 面颜色(当激活时)。备注
如果在 radio_props 中提供了 facecolor,它将覆盖 activecolor。这可以用于为每个按钮提供一个活动颜色。
Added in version 3.7.
- ax
- property activecolor#
!! 由 numpydoc 处理 !!
- on_clicked(func)[源代码][源代码]#
将回调函数 func 连接到按钮点击事件。
- 参数:
- 函数可调用
当按钮被点击时,使用按钮标签调用 func。当所有按钮都被清除时,使用 None 调用 func。回调函数 func 必须具有以下签名:
def func(label: str | None) -> Any
可能存在返回值,但会被忽略。
- 返回:
- 一个连接ID,可用于断开回调。
- set_active(index)[源代码][源代码]#
选择带有编号 index 的按钮。
如果
eventson
为 True,回调将被触发。- 参数:
- 索引整数
要激活的按钮的索引。
- 引发:
- ValueError
如果索引无效。
- set_radio_props(props)[源代码][源代码]#
设置
Text
标签的属性。Added in version 3.7.
- 参数:
- 属性dict
用于单选按钮的
Collection
属性字典。
- class matplotlib.widgets.RangeSlider(ax, label, valmin, valmax, *, valinit=None, valfmt=None, closedmin=True, closedmax=True, dragging=True, valstep=None, orientation='horizontal', track_color='lightgrey', handle_style=None, **kwargs)[源代码][源代码]#
基类:
SliderBase
一个表示浮点值范围的滑块。通过 val 属性定义范围的最小值和最大值,属性值为一个元组 (min, max)。
在 Axes ax 中创建一个滑块,定义一个包含在 [valmin, valmax] 范围内的值。为了使滑块保持响应,你必须维护对它的引用。调用
on_changed()
来连接滑块事件。- 属性:
- val浮点数元组
滑块值。
- 参数:
- 轴Axes
放置滑块的轴。
- 标签str
滑块标签。
- valmin浮动
滑块的最小值。
- valmax浮动
滑块的最大值。
- valinit浮点数元组或 None,默认值:None
滑块的初始位置。如果为 None,初始位置将位于范围的第 25 和第 75 百分位。
- valfmtstr, 默认值: None
%-format 字符串用于格式化滑块值。如果为 None,则使用
ScalarFormatter
代替。- closedminbool, 默认值: True
滑块区间是否在底部闭合。
- closedmaxbool, 默认值: True
滑块区间是否在顶部闭合。
- 拖动bool, 默认值: True
如果为真,滑块可以用鼠标拖动。
- valstepfloat, 默认值: None
如果指定,滑块将吸附到 valstep 的倍数。
- 方向{'horizontal', 'vertical'}, 默认: 'horizontal'
滑块的方向。
- track_color : color, 默认值: 'lightgrey'颜色, 默认: 'lightgrey'
背景轨道的颜色。通过 track 属性可以进一步对轨道进行样式设置。
- handle_styledict
滑块手柄的属性。默认值为
键
值
默认
描述
facecolor
颜色
'白色'
滑块手柄的表面颜色。
edgecolor
颜色
'.75'
滑块手柄的边缘颜色。
大小
整数
10
滑块手柄的大小,以点为单位。
其他值将被转换为 marker{foo} 并传递给
Line2D
构造函数。例如,handle_style = {'style'='x'}
将导致markerstyle = 'x'
。
注释
额外的 kwargs 会被传递给
self.poly
,这是绘制滑块旋钮的Polygon
。请参阅Polygon
文档以获取有效的属性名称(facecolor
、edgecolor
、alpha
等)。
- class matplotlib.widgets.RectangleSelector(ax, onselect=None, *, minspanx=0, minspany=0, useblit=False, props=None, spancoords='data', button=None, grab_range=10, handle_props=None, interactive=False, state_modifier_keys=None, drag_from_anywhere=False, ignore_event_outside=False, use_data_coordinates=False)[源代码][源代码]#
基类:
_SelectorWidget
选择一个Axes的矩形区域。
为了使光标保持响应,您必须保持对它的引用。
在选择区域外的相同坐标处触发的按下和释放事件将清除选择器,除非
ignore_event_outside=True
。- 参数:
- ax
Axes
小部件的父级 Axes。
- onselect函数, 可选
一个在释放事件发生后并且选择被创建、更改或移除时调用的回调函数。它必须具有以下签名:
def onselect(eclick: MouseEvent, erelease: MouseEvent)
其中 eclick 和 erelease 是启动和完成选择的鼠标点击和释放
MouseEvent
。- minspanxfloat, 默认值: 0
x-span 小于或等于 minspanx 的选择将被移除(如果已经存在)或取消。
- minspanyfloat, 默认值: 0
y-跨度小于或等于 minspanx 的选择将被移除(如果已存在)或取消。
- useblitbool, 默认值: False
是否使用blitting以实现更快的绘图(如果后端支持)。详情请参阅教程 通过使用 blitting 实现更快的渲染。
- 属性字典,可选
绘制矩形的属性。查看
Patch
以获取有效属性。默认值:dict(facecolor='red', edgecolor='black', alpha=0.2, fill=True)
- spancoords
data
,pixels
,默认值:data
是否在数据或像素坐标中解释 minspanx 和 minspany。
- 按钮 :
MouseButton
, 列表的MouseButton
, 默认: 所有按钮MouseButton, MouseButton 列表, 默认: 所有按钮 触发矩形选择的按钮。
- grab_rangefloat, 默认值: 10
交互工具手柄可以在其中被激活的像素距离。
- handle_props字典,可选
用于绘制交互式句柄(标记艺术家)的属性。有关有效属性,请参见
Line2D
中的标记参数。默认值在mpl.rcParams
中定义,除了markeredgecolor
的默认值将与 props 中的edgecolor
属性相同。- 交互式bool, 默认值: False
是否绘制一组手柄,以便在绘制小部件后与之交互。
- state_modifier_keys字典,可选
影响小部件行为的键盘修饰符。这些值会修改默认值,默认值为:
“移动”:移动现有形状,默认:无修饰符。
"clear": 清除当前形状,默认: "escape"。
"square": 使形状为方形,默认值为 "shift"。
"center": 围绕其中心改变形状,默认: "ctrl"。
"rotate": 将图形围绕其中心在 -45° 和 45° 之间旋转,默认值: "r"。
"square" 和 "center" 可以结合使用。正方形形状可以通过在创建选择器时指定的
use_data_coordinates
参数来定义为数据坐标或显示坐标。- drag_from_anywherebool, 默认值: False
如果
True
,则可以通过点击其边界内的任何位置来移动小部件。- ignore_event_outsidebool, 默认值: False
如果
True
,则将忽略在跨度选择器外部触发的事件。- use_data_coordinatesbool, 默认值: False
如果为
True
,选择器的“方形”形状在数据坐标中定义,而不是在显示坐标中定义。
- ax
示例
>>> import matplotlib.pyplot as plt >>> import matplotlib.widgets as mwidgets >>> fig, ax = plt.subplots() >>> ax.plot([1, 2, 3], [10, 50, 100]) >>> def onselect(eclick, erelease): ... print(eclick.xdata, eclick.ydata) ... print(erelease.xdata, erelease.ydata) >>> props = dict(facecolor='blue', alpha=0.5) >>> rect = mwidgets.RectangleSelector(ax, onselect, interactive=True, ... props=props) >>> fig.show() >>> rect.add_state('square')
另请参阅: 矩形和椭圆选择器
- property center#
数据坐标系中矩形的中心。
- property corners#
数据坐标系中矩形的角,从左下角开始,按顺时针方向移动。
- property edge_centers#
从左开始,逆时针移动的数据坐标中矩形边缘的中点。
- property extents#
返回 (xmin, xmax, ymin, ymax) 在数据坐标中,这些坐标由旋转前的边界框定义。
- property geometry#
返回一个形状为 (2, 5) 的数组,包含矩形的四个角的 x(
RectangleSelector.geometry[1, :]
)和 y(RectangleSelector.geometry[0, :]
)数据坐标,起始和结束于左上角。
- property rotation#
旋转角度在区间 [-45°, 45°] 内。旋转范围受限以保持实现简单。
- 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', initcolor='r', track_color='lightgrey', handle_style=None, **kwargs)[源代码][源代码]#
基类:
SliderBase
一个表示浮点数范围的滑块。
在 Axes ax 中创建一个从 valmin 到 valmax 的滑块。为了使滑块保持响应,你必须维护对它的引用。调用
on_changed()
来连接滑块事件。- 属性:
- val浮动
滑块值。
- 参数:
- 轴Axes
放置滑块的轴。
- 标签str
滑块标签。
- valmin浮动
滑块的最小值。
- valmax浮动
滑块的最大值。
- valinitfloat, 默认值: 0.5
滑块的初始位置。
- valfmtstr, 默认值: None
%-格式字符串用于格式化滑块值。如果为 None,则使用
ScalarFormatter
。- closedminbool, 默认值: True
滑块区间是否在底部闭合。
- closedmaxbool, 默认值: True
滑块区间是否在顶部闭合。
- slidermin滑块,默认值:无
不允许当前滑块的值小于滑块 slidermin 的值。
- slidermax滑块,默认值:无
不允许当前滑块的值大于滑块 slidermax 的值。
- 拖动bool, 默认值: True
如果为真,滑块可以用鼠标拖动。
- valstep浮点数或类似数组的对象,默认值:None
如果是一个浮点数,滑块将吸附到 valstep 的倍数。如果是一个数组,滑块将吸附到数组中的值。
- 方向{'horizontal', 'vertical'}, 默认: 'horizontal'
滑块的方向。
- initcolor : color, 默认值: 'r'颜色,默认值:'r'
在 valinit 位置的线条颜色。设置为
'none'
则不显示线条。- track_color : color, 默认值: 'lightgrey'颜色, 默认: 'lightgrey'
背景轨道的颜色。通过 track 属性可以进一步对轨道进行样式设置。
- handle_styledict
滑块手柄的属性。默认值为
键
值
默认
描述
facecolor
颜色
'白色'
滑块手柄的表面颜色。
edgecolor
颜色
'.75'
滑块手柄的边缘颜色。
大小
整数
10
滑块手柄的大小,以点为单位。
其他值将被转换为 marker{foo} 并传递给
Line2D
构造函数。例如,handle_style = {'style'='x'}
将导致markerstyle = 'x'
。
注释
额外的 kwargs 会被传递给
self.poly
,这是绘制滑块旋钮的Rectangle
。请参阅Rectangle
文档以获取有效的属性名称(facecolor
、edgecolor
、alpha
等)。
- class matplotlib.widgets.SliderBase(ax, orientation, closedmin, closedmax, valmin, valmax, valfmt, dragging, valstep)[源代码][源代码]#
基类:
AxesWidget
用于构建滑块小部件的基类。不建议直接使用。
为了使滑块保持响应,您必须保持对它的引用。
- class matplotlib.widgets.SpanSelector(ax, onselect, direction, *, minspan=0, useblit=False, props=None, onmove_callback=None, interactive=False, button=None, handle_props=None, grab_range=10, state_modifier_keys=None, drag_from_anywhere=False, ignore_event_outside=False, snap_values=None)[源代码][源代码]#
基类:
_SelectorWidget
在单个轴上视觉选择一个最小/最大范围,并使用这些值调用一个函数。
为了保证选择器保持响应,请保留对它的引用。
要关闭 SpanSelector,请将
span_selector.active
设置为 False。要重新启用它,请将其设置为 True。在选择区域外的相同坐标处触发的按下和释放事件将清除选择器,除非
ignore_event_outside=True
。- 参数:
- ax
Axes
- onselect : 具有签名
func(min: float, max: float)
的可调用对象具有签名的可调用对象 在释放事件发生后,并且选择被创建、更改或移除时调用的回调函数。
- 方向{"水平", "垂直"}
绘制跨度选择器的方向。
- minspanfloat, 默认值: 0
如果选择范围小于或等于 minspan,则选择将被移除(如果已存在)或取消。
- useblitbool, 默认值: False
如果为真,使用依赖于后端的blitting特性以加快画布更新。详情请参阅教程 通过使用 blitting 实现更快的渲染。
- 属性dict, 默认值: {'facecolor': 'red', 'alpha': 0.5}
Patch
属性的字典。- onmove_callback : 具有
func(min: float, max: float)
签名的可调用对象,可选具有签名的可调用对象 在选择跨度时,鼠标移动时调用。
- 交互式bool, 默认值: False
是否绘制一组手柄,以便在绘制小部件后与之交互。
- 按钮 :
MouseButton
或MouseButton
列表,默认: 所有按钮MouseButton 或 MouseButton 列表,默认:所有按钮 激活范围选择器的鼠标按钮。
- handle_propsdict, 默认: None
跨度边缘的句柄线的属性。仅在 interactive 为 True 时使用。有关有效属性,请参见
Line2D
。- grab_rangefloat, 默认值: 10
交互工具手柄可以在其中被激活的像素距离。
- state_modifier_keys字典,可选
影响小部件行为的键盘修饰符。这些值会修改默认值,默认值为:
"clear": 清除当前形状,默认: "escape"。
- drag_from_anywherebool, 默认值: False
如果
True
,则可以通过点击其边界内的任何位置来移动小部件。- ignore_event_outsidebool, 默认值: False
如果
True
,则将忽略在跨度选择器外部触发的事件。- snap_values一维数组类,可选
将选择器的边缘对齐到给定的值。
- ax
示例
>>> 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) >>> span = mwidgets.SpanSelector(ax, onselect, 'horizontal', ... props=dict(facecolor='blue', alpha=0.5)) >>> fig.show()
另见: Span Selector
- property direction#
'垂直' 或 '水平'。
- 类型:
跨度选择器的方向
- property extents#
- (浮点数, 浮点数)
当前选择的起始点和结束点的数据坐标值。如果没有选择,起始值和结束值将是相同的。
- class matplotlib.widgets.SubplotTool(targetfig, toolfig)[源代码][源代码]#
基类:
Widget
一个用于调整
Figure
子图参数的工具。- 参数:
- targetfig图
要调整的图形实例。
- toolfig图
要嵌入子图工具的图形实例。
- class matplotlib.widgets.TextBox(ax, label, initial='', *, color='.95', hovercolor='1', label_pad=0.01, textalignment='left')[源代码][源代码]#
基类:
AxesWidget
一个与图形用户界面无关的文本输入框。
为了使文本框保持响应,您必须保留对它的引用。
调用
on_text_change
以便在文本更改时更新。调用
on_submit
以便在用户按下回车键或离开文本输入框时更新。- 参数:
- property text#
!! 由 numpydoc 处理 !!
- class matplotlib.widgets.ToolHandles(ax, x, y, *, marker='o', marker_props=None, useblit=True)[源代码][源代码]#
基类:
object
画布工具的控制手柄。
- 参数:
- ax
Axes
显示工具手柄的 Matplotlib Axes。
- x, y一维数组
控制手柄的坐标。
- 标记str, 默认值: 'o'
用于显示手柄的标记形状。参见
plot
。- marker_props字典,可选
附加的标记属性。参见
Line2D
。- useblitbool, 默认值: True
是否使用blitting以实现更快的绘图(如果后端支持)。详情请参阅教程 通过使用 blitting 实现更快的渲染。
- ax
- property artists#
!! 由 numpydoc 处理 !!
- property x#
!! 由 numpydoc 处理 !!
- property y#
!! 由 numpydoc 处理 !!
- class matplotlib.widgets.ToolLineHandles(ax, positions, direction, *, line_props=None, useblit=True)[源代码][源代码]#
基类:
object
画布工具的控制手柄。
- 参数:
- ax
Axes
显示工具手柄的 Matplotlib Axes。
- 职位一维数组
数据坐标中的手柄位置。
- 方向{"水平", "垂直"}
手柄的方向,可以是 '垂直' 或 '水平'
- line_props字典,可选
附加的线条属性。参见
Line2D
。- useblitbool, 默认值: True
是否使用blitting以实现更快的绘图(如果后端支持)。详情请参阅教程 通过使用 blitting 实现更快的渲染。
- ax
- property artists#
!! 由 numpydoc 处理 !!
- closest(x, y)[源代码][源代码]#
返回索引和到最近手柄的像素距离。
- 参数:
- x, y浮动
x, y 位置,从该位置计算距离以确定最近的把手
- 返回:
- 索引, 距离手柄的索引及其距离
位置 x, y
- property direction#
'垂直' 或 '水平'。
- 类型:
把手方向
- property positions#
数据坐标中手柄的位置。