| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Widgets that are designed to work for any of the GUI backends. All of these widgets require you to predefine a matplotlib.axes.Axes instance and pass that as the first arg. matplotlib doesn’t try to be too smart with respect to layout – you will have to figure out how wide and tall you want your Axes to be to accommodate your widget.
Bases: matplotlib.widgets.Widget
Widget that is connected to a single Axes.
To guarantee that the widget remains responsive and not garbage-collected, a reference to the object should be maintained by the user.
This is necessary because the callback registry maintains only weak-refs to the functions, which are member functions of the widget. If there are no references to the widget object it may be garbage collected which will disconnect the callbacks.
Attributes:
Connect callback with an event.
This should be used in lieu of figure.canvas.mpl_connect since this function stores callback ids for later clean up.
Disconnect all events created by this widget.
Bases: matplotlib.widgets.AxesWidget
A GUI neutral button.
For the button to remain responsive you must keep a reference to it.
The following attributes are accessible
- ax
- The matplotlib.axes.Axes the button renders into.
- label
- A matplotlib.text.Text instance.
- color
- The color of the button when not hovering.
- hovercolor
- The color of the button when hovering.
Call on_clicked() to connect to the button
| Parameters: | ax : matplotlib.axes.Axes
label : str
image : array, mpl image, Pillow Image
color : color
hovercolor : color
|
|---|
remove the observer with connection id cid
When the button is clicked, call this func with event.
A connection id is returned. It can be used to disconnect the button from its callback.
Bases: matplotlib.widgets.AxesWidget
A GUI neutral radio button.
For the check buttons to remain responsive you must keep a reference to this object.
The following attributes are exposed
- ax
- The matplotlib.axes.Axes instance the buttons are located in
- labels
- List of matplotlib.text.Text instances
- lines
- List of (line1, line2) tuples for the x’s in the check boxes. These lines exist for each box, but have set_visible(False) when its box is not checked.
- rectangles
- List of matplotlib.patches.Rectangle instances
Connect to the CheckButtons with the on_clicked() method
Add check buttons to matplotlib.axes.Axes instance ax
remove the observer with connection id cid
When the button is clicked, call func with button label
A connection id is returned which can be used to disconnect
Directly (de)activate a check button by index.
Callbacks will be triggered if eventson is True.
Bases: matplotlib.widgets.AxesWidget
A horizontal and vertical line that spans the axes and moves with the pointer. You can turn off the hline or vline respectively with the following attributes:
- horizOn
- Controls the visibility of the horizontal line
- vertOn
- Controls the visibility of the horizontal line
and the visibility of the cursor itself with the visible attribute.
For the cursor to remain responsive you must keep a reference to it.
Add a cursor to ax. If useblit=True, use the backend- dependent blitting features for faster updates (GTKAgg only for now). lineprops is a dictionary of line properties.
(Source code, png, pdf)
clear the cursor
on mouse motion draw the cursor if visible
Bases: matplotlib.widgets.RectangleSelector
Select an elliptical region of an axes.
For the cursor to remain responsive you must keep a reference to it.
Example usage:
from matplotlib.widgets import EllipseSelector
from pylab import *
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 = arange(100)/(99.0)
y = sin(x)
fig = figure
ax = subplot(111)
ax.plot(x,y)
toggle_selector.ES = EllipseSelector(ax, onselect, drawtype='line')
connect('key_press_event', toggle_selector)
show()
Create a selector in ax. When a selection is made, clear the span and call onselect with:
onselect(pos_1, pos_2)
and clear the drawn box/line. The pos_1 and pos_2 are arrays of length 2 containing the x- and y-coordinate.
If minspanx is not None then events smaller than minspanx in x direction are ignored (it’s the same for y).
The rectangle is drawn with rectprops; default:
rectprops = dict(facecolor='red', edgecolor = 'black',
alpha=0.2, fill=True)
The line is drawn with lineprops; default:
lineprops = dict(color='black', linestyle='-',
linewidth = 2, alpha=0.5)
Use drawtype if you want the mouse to draw a line, a box or nothing between click and actual position by setting
drawtype = 'line', drawtype='box' or drawtype = 'none'.
spancoords is one of ‘data’ or ‘pixels’. If ‘data’, minspanx and minspanx will be interpreted in the same coordinates as the x and y axis. If ‘pixels’, they are in pixels.
button is a list of integers indicating which mouse buttons should be used for rectangle selection. You can also specify a single integer if only a single button is desired. Default is None, which does not limit which button can be used.
interactive will draw a set of handles and allow you interact with the widget after it is drawn.
state_modifier_keys are keyboard modifiers that affect the behavior of the widget.
The defaults are: dict(move=’ ‘, clear=’escape’, square=’shift’, center=’ctrl’)
Keyboard modifiers, which: ‘move’: Move the existing shape. ‘clear’: Clear the current shape. ‘square’: Makes the shape square. ‘center’: Make the initial point the center of the shape. ‘square’ and ‘center’ can be combined.
Bases: matplotlib.widgets.AxesWidget
Selection curve of an arbitrary shape.
The selected path can be used in conjunction with contains_point() to select data points from an image.
Unlike LassoSelector, this must be initialized with a starting point xy, and the Lasso events are destroyed upon release.
Parameters:
Bases: matplotlib.widgets._SelectorWidget
Selection curve of an arbitrary shape.
For the selector to remain responsive you must keep a reference to it.
The selected path can be used in conjunction with contains_point() to select data points from an image.
In contrast to Lasso, LassoSelector is written with an interface similar to RectangleSelector and SpanSelector and will continue to interact with the axes until disconnected.
Parameters:
Example usage:
ax = subplot(111)
ax.plot(x,y)
def onselect(verts):
print(verts)
lasso = LassoSelector(ax, onselect)
*button* is a list of integers indicating which mouse buttons should
be used for rectangle selection. You can also specify a single
integer if only a single button is desired. Default is *None*,
which does not limit which button can be used.
Note, typically:
1 = left mouse button
2 = center mouse button (scroll wheel)
3 = right mouse button
Bases: object
Some widgets, like the cursor, draw onto the canvas, and this is not desirable under all circumstances, like when the toolbar is in zoom-to-rect mode and drawing a rectangle. The module level “lock” allows someone to grab the lock and prevent other widgets from drawing. Use matplotlib.widgets.lock(someobj) to prevent other widgets from drawing while you’re interacting with the canvas.
drawing is available to o
Return True if o owns this lock
Return True if the lock is currently held by an owner
release the lock
Bases: matplotlib.widgets.Widget
Provide a vertical (default) and/or horizontal line cursor shared between multiple axes.
For the cursor to remain responsive you must keep a reference to it.
Example usage:
from matplotlib.widgets import MultiCursor
from pylab import figure, show, np
t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2*np.pi*t)
s2 = np.sin(4*np.pi*t)
fig = figure()
ax1 = fig.add_subplot(211)
ax1.plot(t, s1)
ax2 = fig.add_subplot(212, sharex=ax1)
ax2.plot(t, s2)
multi = MultiCursor(fig.canvas, (ax1, ax2), color='r', lw=1,
horizOn=False, vertOn=True)
show()
clear the cursor
connect events
disconnect events
Bases: matplotlib.widgets.AxesWidget
A GUI neutral radio button.
For the buttons to remain responsive you must keep a reference to this object.
The following attributes are exposed:
- ax
- The matplotlib.axes.Axes instance the buttons are in
- activecolor
- The color of the button when clicked
- labels
- A list of matplotlib.text.Text instances
- circles
- A list of matplotlib.patches.Circle instances
- value_selected
- A string listing the current value selected
Connect to the RadioButtons with the on_clicked() method
Add radio buttons to matplotlib.axes.Axes instance ax
remove the observer with connection id cid
When the button is clicked, call func with button label
A connection id is returned which can be used to disconnect
Trigger which radio button to make active.
Callbacks will be triggered if eventson is True.
Bases: matplotlib.widgets._SelectorWidget
Select a rectangular region of an axes.
For the cursor to remain responsive you must keep a reference to it.
Example usage:
from matplotlib.widgets import RectangleSelector
from pylab import *
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.RS.active:
print(' RectangleSelector deactivated.')
toggle_selector.RS.set_active(False)
if event.key in ['A', 'a'] and not toggle_selector.RS.active:
print(' RectangleSelector activated.')
toggle_selector.RS.set_active(True)
x = arange(100)/(99.0)
y = sin(x)
fig = figure
ax = subplot(111)
ax.plot(x,y)
toggle_selector.RS = RectangleSelector(ax, onselect, drawtype='line')
connect('key_press_event', toggle_selector)
show()
Create a selector in ax. When a selection is made, clear the span and call onselect with:
onselect(pos_1, pos_2)
and clear the drawn box/line. The pos_1 and pos_2 are arrays of length 2 containing the x- and y-coordinate.
If minspanx is not None then events smaller than minspanx in x direction are ignored (it’s the same for y).
The rectangle is drawn with rectprops; default:
rectprops = dict(facecolor='red', edgecolor = 'black',
alpha=0.2, fill=True)
The line is drawn with lineprops; default:
lineprops = dict(color='black', linestyle='-',
linewidth = 2, alpha=0.5)
Use drawtype if you want the mouse to draw a line, a box or nothing between click and actual position by setting
drawtype = 'line', drawtype='box' or drawtype = 'none'.
spancoords is one of ‘data’ or ‘pixels’. If ‘data’, minspanx and minspanx will be interpreted in the same coordinates as the x and y axis. If ‘pixels’, they are in pixels.
button is a list of integers indicating which mouse buttons should be used for rectangle selection. You can also specify a single integer if only a single button is desired. Default is None, which does not limit which button can be used.
interactive will draw a set of handles and allow you interact with the widget after it is drawn.
state_modifier_keys are keyboard modifiers that affect the behavior of the widget.
The defaults are: dict(move=’ ‘, clear=’escape’, square=’shift’, center=’ctrl’)
Keyboard modifiers, which: ‘move’: Move the existing shape. ‘clear’: Clear the current shape. ‘square’: Makes the shape square. ‘center’: Make the initial point the center of the shape. ‘square’ and ‘center’ can be combined.
Center of rectangle
Corners of rectangle from lower left, moving clockwise.
Midpoint of rectangle edges from left, moving clockwise.
Return (xmin, xmax, ymin, ymax).
Bases: matplotlib.widgets.AxesWidget
A slider representing a floating point range.
For the slider to remain responsive you must maintain a reference to it.
ax : the slider matplotlib.axes.Axes instance
val : the current slider value
valfmt : the format string for formatting the slider text
closedmin : whether the slider is closed on the minimum
closedmax : whether the slider is closed on the maximum
dragging : allow for mouse dragging on slider
Call on_changed() to connect to the slider event
Create a slider from valmin to valmax in axes ax.
Additional kwargs are passed on to self.poly which is the matplotlib.patches.Rectangle that draws the slider knob. See the matplotlib.patches.Rectangle documentation for valid property names (e.g., facecolor, edgecolor, alpha, ...).
| Parameters: | ax : Axes
label : str
valmin : float
valmax : float
valinit : float
label : str
valfmt : str
closedmin : bool
closedmax : bool
slidermin : Slider or None
slidermax : Slider or None
dragging : bool
|
|---|
remove the observer with connection id cid
When the slider value is changed, call func with the new slider position
A connection id is returned which can be used to disconnect
reset the slider to the initial value if needed
Bases: matplotlib.widgets._SelectorWidget
Visually select a min/max range on a single axis and call a function with those values.
To guarantee that the selector remains responsive, keep a reference to it.
In order to turn off the SpanSelector, set span_selector.active=False. To turn it back on, set span_selector.active=True.
| Parameters: | ax : matplotlib.axes.Axes object onselect : func(min, max), min/max are floats direction : “horizontal” or “vertical”
minspan : float, default is None
useblit : bool, default is False
rectprops : dict, default is None
onmove_callback : func(min, max), min/max are floats, default is None
span_stays : bool, default is False
button : int or list of ints
|
|---|
Examples
>>> 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()
See also: widgets example code: span_selector.py
return True if event should be ignored
Set SpanSelector to operate on a new Axes
Bases: matplotlib.widgets.Widget
A tool to adjust the subplot params of a matplotlib.figure.Figure.
Bases: object
Control handles for canvas tools.
| Parameters: | ax : matplotlib.axes.Axes
x, y : 1D arrays
marker : str
marker_props : dict
|
|---|
Return index and pixel distance to closest index.
Set x and y positions of handles
Bases: object
Abstract base class for GUI neutral widgets
Is the widget active?
Get whether the widget is active.
Return True if event should be ignored.
This method (or a version of it) should be called at the beginning of any event callback.
Set whether the widget is active.
| Back | FazBrowse Home | New Git URL |