| |
- Cursors
- Event
-
- LocationEvent
-
- KeyEvent
- MouseEvent
- FigureCanvasBase
- FigureManagerBase
- GraphicsContextBase
- NavigationToolbar2
- RendererBase
class Cursors |
|
# cursors |
|
Data and other attributes defined here:
- HAND = 0
- MOVE = 3
- POINTER = 1
- SELECT_REGION = 2
|
class Event |
|
A matplotlib event. Attach additional attributes as defined in
FigureCanvas.connect. The following attributes are defined and
shown with their default values
name # the event name
canvas # the FigureCanvas instance generating the event |
|
Methods defined here:
- __init__(self, name, canvas, guiEvent=None)
|
class FigureCanvasBase |
|
The canvas the figure renders into.
Public attribute
figure - A Figure instance |
|
Methods defined here:
- __init__(self, figure)
- button_press_event(self, x, y, button, guiEvent=None)
- Backend derived classes should call this function on any mouse
button press. x,y are the canvas coords: 0,0 is lower, left.
button and key are as defined in MouseEvent
- button_release_event(self, x, y, button, guiEvent=None)
- Backend derived classes should call this function on any mouse
button release. x,y are the canvas coords: 0,0 is lower, left.
button and key are as defined in MouseEvent
- draw(self, *args, **kwargs)
- Render the figure
- draw_cursor(self, event)
- Draw a cursor in the event.axes if inaxes is not None. Use
native GUI drawing for efficiency if possible
- draw_idle(self, *args, **kwargs)
- draw only if idle; defaults to draw but backends can overrride
- key_press_event(self, key, guiEvent=None)
- key_release_event(self, key, guiEvent=None)
- motion_notify_event(self, x, y, guiEvent=None)
- Backend derived classes should call this function on any mouse
button release. x,y are the canvas coords: 0,0 is lower, left.
button and key are as defined in MouseEvent
- mpl_connect(self, s, func)
- Connect event with string s to func. The signature of func is
def func(event)
where event is a MplEvent. The following events are recognized
'key_press_event'
'button_press_event'
'button_release_event'
'motion_notify_event'
For the three events above, if the mouse is over the axes,
the variable event.inaxes will be set to the axes it is over,
and additionally, the variables event.xdata and event.ydata
will be defined. This is the mouse location in data coords.
See backend_bases.MplEvent.
return value is a connection id that can be used with
mpl_disconnect
- mpl_disconnect(self, cid)
- Connect s to func. return an id that can be used with disconnect
Method should return None
- print_figure(self, filename, dpi=300, facecolor='w', edgecolor='w', orientation='portrait')
- Render the figure to hardcopy. Set the figure patch face and edge
colors. This is useful because some of the GUIs have a gray figure
face color background and you'll probably want to override this on
hardcopy.
filename - can also be a file object on image backends
orientation - only currently applies to PostScript printing.
- switch_backends(self, FigureCanvasClass)
- instantiate an instance of FigureCanvasClass
This is used for backend switching, eg, to instantiate a
FigureCanvasPS from a FigureCanvasGTK. Note, deep copying is
not done, so any changes to one of the instances (eg, setting
figure size or line props), will be reflected in the other
Data and other attributes defined here:
- events = ('key_press_event', 'key_release_event', 'button_press_event', 'button_release_event', 'motion_notify_event')
|
class FigureManagerBase |
|
Helper class for matlab mode, wraps everything up into a neat bundle
Public attibutes
canvas - A FigureCanvas instance
num - The figure number |
|
Methods defined here:
- __init__(self, canvas, num)
- destroy(self)
- key_press(self, event)
- show_popup(self, msg)
- Display message in a popup -- GUI only
|
class GraphicsContextBase |
|
An abstract base class that provides color, line styles, etc... |
|
Methods defined here:
- __init__(self)
- copy_properties(self, gc)
- Copy properties from gc to self
- get_alpha(self)
- Return the alpha value used for blending - not supported on
all backends
- get_antialiased(self)
- Return true if the object should try to do antialiased rendering
- get_capstyle(self)
- Return the capstyle as a string in ('butt', 'round', 'projecting')
- get_clip_rectangle(self)
- Return the clip rectangle as (left, bottom, width, height)
- get_dashes(self)
- Return the dash information as an offset dashlist tuple The
dash list is a even size list that gives the ink on, ink off
in pixels. See p107 of to postscript BLUEBOOK for more info
Default value is None
- get_joinstyle(self)
- Return the line join style as one of ('miter', 'round', 'bevel')
- get_linestyle(self, style)
- Return the linestyle: one of ('solid', 'dashed', 'dashdot',
'dotted').
- get_linewidth(self)
- Return the line width in points as a scalar
- get_rgb(self)
- returns a tuple of three floats from 0-1. color can be a
matlab format string, a html hex color string, or a rgb tuple
- set_alpha(self, alpha)
- Set the alpha value used for blending - not supported on
all backends
- set_antialiased(self, b)
- True if object should be drawn with antialiased rendering
- set_capstyle(self, cs)
- Set the capstyle as a string in ('butt', 'round', 'projecting')
- set_clip_rectangle(self, rectangle)
- Set the clip rectangle with sequence (left, bottom, width, height)
- set_dashes(self, dash_offset, dash_list)
- Set the dash style for the gc.
dash_offset is the offset (usually 0).
dash_list specifies the on-off sequence as points
(None, None) specifies a solid line
- set_foreground(self, fg, isRGB=False)
- Set the foreground color. fg can be a matlab format string, a
html hex color string, an rgb unit tuple, or a float between 0
and 1. In the latter case, grayscale is used.
The GraphicsContext converts colors to rgb internally. If you
know the color is rgb already, you can set isRGB to True to
avoid the performace hit of the conversion
- set_graylevel(self, frac)
- Set the foreground color to be a gray level with frac frac
- set_joinstyle(self, js)
- Set the join style to be one of ('miter', 'round', 'bevel')
- set_linestyle(self, style)
- Set the linestyle to be one of ('solid', 'dashed', 'dashdot',
'dotted').
- set_linewidth(self, w)
- Set the linewidth in points
Data and other attributes defined here:
- dashd = {'dashdot': (0, (3.0, 5.0, 1.0, 5.0)), 'dashed': (0, (6.0, 6.0)), 'dotted': (0, (1.0, 3.0)), 'solid': (None, None)}
|
class KeyEvent(LocationEvent) |
|
A key event (key press, key release).
Attach additional attributes as defined in
FigureCanvas.connect.
The following attributes are defined and shown with their default
values
x = None # x position - pixels from left of canvas
y = None # y position - pixels from bottom of canvas
key = None # the key pressed: None, chr(range(255), shift, win, or control
inaxes = None # the Axes instance if mouse us over axes
xdata = None # x coord of mouse in data coords
ydata = None # y coord of mouse in data coords
This interface may change slightly when better support for
modifier keys is included |
|
- Method resolution order:
- KeyEvent
- LocationEvent
- Event
Methods defined here:
- __init__(self, name, canvas, key, x=0, y=0, guiEvent=None)
Data and other attributes inherited from LocationEvent:
- button = None
- inaxes = None
- x = None
- xdata = None
- y = None
- ydata = None
|
class LocationEvent(Event) |
|
A event that has a screen location
The following additional attributes are defined and shown with
their default values
x = None # x position - pixels from left of canvas
y = None # y position - pixels from bottom of canvas
inaxes = None # the Axes instance if mouse us over axes
xdata = None # x coord of mouse in data coords
ydata = None # y coord of mouse in data coords |
|
Methods defined here:
- __init__(self, name, canvas, x, y, guiEvent=None)
- x, y in figure coords, 0,0 = bottom, left
button pressed None, 1, 2, 3
Data and other attributes defined here:
- button = None
- inaxes = None
- x = None
- xdata = None
- y = None
- ydata = None
|
class MouseEvent(LocationEvent) |
|
A mouse event (button_press_event, button_release_event,
motion_notify_event).
The following attributes are defined and shown with their default
values
x = None # x position - pixels from left of canvas
y = None # y position - pixels from bottom of canvas
button = None # button pressed None, 1, 2, 3
key = None # the key pressed: None, chr(range(255), shift, win, or control
inaxes = None # the Axes instance if mouse us over axes
xdata = None # x coord of mouse in data coords
ydata = None # y coord of mouse in data coords |
|
- Method resolution order:
- MouseEvent
- LocationEvent
- Event
Methods defined here:
- __init__(self, name, canvas, x, y, button=None, key=None, guiEvent=None)
- x, y in figure coords, 0,0 = bottom, left
button pressed None, 1, 2, 3
Data and other attributes defined here:
- button = None
- inaxes = None
- x = None
- xdata = None
- y = None
- ydata = None
|
class NavigationToolbar2 |
|
Base class for the navigation cursor, version 2
backends must implement a canvas that handles connections for
'button_press_event' and 'button_release_event'. See
FigureCanvas.connect for more information
They must also define
* save_figure - save the current figure
* set_cursor - if you want the pointer icon to change
* _init_toolbar - create your toolbar widget
* draw_rubberband (optional) : draw the zoom to rect
"rubberband" rectangle
* press : (optional) whenever a mouse button is pressed, you'll be
notified with the event
* release : (optional) whenever a mouse button is released,
you'll be notified with the event
* dynamic_update (optional) dynamically update the window while
navigating
* set_message (optional) - display message
That's it, we'll do the rest! |
|
Methods defined here:
- __init__(self, canvas)
- back(self, *args)
- move back up the view lim stack
- drag_pan(self, event)
- the drag callback in pan/zoom mode
- draw(self)
- redraw the canvases, update the locators
- draw_rubberband(self, event, x0, y0, x1, y1)
- draw a rectangle rubberband to indicate zoom limits
- dynamic_update(self)
- forward(self, *args)
- move forward in the view lim stack
- home(self, *args)
- restore the original view
- mouse_move(self, event)
- pan(self, *args)
- Activate the pan/zoom tool. pan with left button, zoom with right
- press(self, event)
- this will be called whenver a mouse button is pressed
- press_pan(self, event)
- the press mouse button in pan/zoom mode callback
- press_zoom(self, event)
- the press mouse button in zoom to rect mode callback
- push_current(self)
- push the current view limits onto the stack
- release(self, event)
- this will be called whenever mouse button is released
- release_pan(self, event)
- the release mouse button callback in pan/zoom mode
- release_zoom(self, event)
- the release mouse button callback in zoom to rect mode
- save_figure(self, *args)
- save the current figure
- set_cursor(self, cursor)
- Set the current cursor to one of the backend_bases.Cursors
enums values
- set_message(self, s)
- display a message on toolbar or in status bar
- update(self)
- reset the axes stack
- zoom(self, *args)
- activate zoom to rect mode
|
class RendererBase |
|
An abstract base class to handle drawing/rendering operations |
|
Methods defined here:
- close_group(self, s)
- close a grouping element with label s
Is only currently used by backend_svg
- draw_arc(self, gcEdge, rgbFace, x, y, width, height, angle1, angle2)
- Draw an arc using GraphicsContext instance gcEdge, centered at x,y,
with width and height and angles from 0.0 to 360.0
0 degrees is at 3-o'clock
positive angles are anti-clockwise
If the color rgbFace is not None, fill the arc with it.
- draw_image(self, x, y, im, origin, bbox)
- Draw the Image instance into the current axes; x is the
distance in pixels from the left hand side of the canvas. y is
the distance from the origin. That is, if origin is upper, y
is the distance from top. If origin is lower, y is the
distance from bottom
origin is 'upper' or 'lower'
bbox is a matplotlib.transforms.BBox instance for clipping, or
None
- draw_line(self, gc, x1, y1, x2, y2)
- Draw a single line from x1,y1 to x2,y2
- draw_line_collection(self, segments, transform, clipbox, colors, linewidths, linestyle, antialiaseds, offsets, transOffset)
- This is a function for optimized line drawing. If you need to draw
many line segments with similar properties, it is faster to avoid the
overhead of all the object creation etc. The lack of total
configurability is compensated for with efficiency. Hence we don't use
a GC and many of the line props it supports. See
matplotlib.collections for more details.
segments is a sequence of ( line0, line1, line2), where linen =
(x0, y0), (x1, y1), ... (xm, ym). Each line can be a
different length
transform is used to Transform the lines
clipbox is a xmin, ymin, width, height clip rect
colors is a tuple of RGBA tuples
linewidths is a tuple of linewidths
*** really should be called 'dashes' not 'linestyle', since
we call gc.set_dashes() not gc.set_linestyle() ***
linestyle is an (offset, onoffseq) tuple or None,None for solid
antialiseds is a tuple of ones or zeros indicating whether the
segment should be aa or not
offsets, if not None, is a list of x,y offsets to translate the lines
by after transform is used to transform the offset coords
This function could be overridden in the backend to possibly implement
faster drawing, but it is already much faster than using draw_lines()
by itself.
- draw_lines(self, gc, x, y)
- x and y are equal length arrays, draw lines connecting each
point in x, y
- draw_point(self, gc, x, y)
- Draw a single point at x,y
Where 'point' is a device-unit point (or pixel), not a matplotlib point
- draw_poly_collection(self, verts, transform, clipbox, facecolors, edgecolors, linewidths, antialiaseds, offsets, transOffset)
- Draw a polygon collection
verts are a sequence of polygon vectors, where each polygon
vector is a sequence of x,y tuples of vertices
facecolors and edgecolors are a sequence of RGBA tuples
linewidths are a sequence of linewidths
antialiaseds are a sequence of 0,1 integers whether to use aa
- draw_polygon(self, gc, rgbFace, points)
- Draw a polygon using the GraphicsContext instance gc.
points is a len vertices tuple, each element
giving the x,y coords a vertex
If the color rgbFace is not None, fill the polygon with it
- draw_rectangle(self, gcEdge, rgbFace, x, y, width, height)
- Draw a non-filled rectangle using the GraphicsContext instance gcEdge,
with lower left at x,y with width and height.
If rgbFace is not None, fill the rectangle with it.
- draw_regpoly_collection(self, clipbox, offsets, transOffset, verts, sizes, facecolors, edgecolors, linewidths, antialiaseds)
- Draw a regular poly collection
offsets - is a sequence is x,y tuples
transOffset - maps this to display coords
verts - are the vertices of the regular polygon at the origin
sizes are the area of the circle that circumscribes the
polygon in points^2
facecolors and edgecolors are a sequence of RGBA tuples
linewidths are a sequence of linewidths
antialiaseds are a sequence of 0,1 integers whether to use aa
- draw_text(self, gc, x, y, s, prop, angle, ismath=False)
- Draw the text.Text instance s at x,y (display coords) with font
properties instance prop at angle in degrees, using GraphicsContext gc
**backend implementers note**
When you are trying to determine if you have gotten your bounding box
right (which is what enables the text layout/alignment to work
properly), it helps to change the line in text.py
if 0: bbox_artist(self, renderer)
to if 1, and then the actual bounding box will be blotted along with
your text.
- flipy(self)
- return true if y small numbers are top for renderer
Is used for drawing text (text.py) and images (image.py) only
- get_canvas_width_height(self)
- return the canvas width and height in display coords
- get_text_extent(self, text)
- Get the text extent in window coords
- get_text_width_height(self, s, prop, ismath)
- get the width and height in display coords of the string s
with FontPropertry prop
- new_gc(self)
- Return an instance of a GraphicsContextBase
- open_group(self, s)
- open a grouping element with label s
Is only currently used by backend_svg
- points_to_pixels(self, points)
- Convert points to display units
points - a float or a numerix array of float
return points converted to pixels
You need to override this function (unless your backend doesn't have a
dpi, eg, postscript or svg).
Some imaging systems assume some value for pixels per inch.
points to pixels = points * pixels_per_inch/72.0 * dpi/72.0
- strip_math(self, s)
| |