matplotlib.backends.backend_cairo
¶Author: | Steve Chaplin and others |
---|
This backend depends on cairo, and either on cairocffi, or (Python 2 only) on pycairo.
matplotlib.backends.backend_cairo.
ArrayWrapper
(myarray)[source]¶Bases: object
Thin wrapper around numpy ndarray to expose the interface expected by cairocffi. Basically replicates the array.array interface.
matplotlib.backends.backend_cairo.
FigureCanvas
¶alias of matplotlib.backends.backend_cairo.FigureCanvasCairo
matplotlib.backends.backend_cairo.
FigureCanvasCairo
(figure)[source]¶Bases: matplotlib.backend_bases.FigureCanvasBase
supports_blit
= False¶matplotlib.backends.backend_cairo.
GraphicsContextCairo
(renderer)[source]¶Bases: matplotlib.backend_bases.GraphicsContextBase
restore
()[source]¶Restore the graphics context from the stack - needed only for backends that save graphics contexts on a stack
set_alpha
(alpha)[source]¶Set the alpha value used for blending - not supported on all backends.
If alpha=None
(the default), the alpha components of the
foreground and fill colors will be used to set their respective
transparencies (where applicable); otherwise, alpha
will override
them.
set_clip_path
(path)[source]¶Set the clip path and transformation. Path should be a
TransformedPath
instance.
set_clip_rectangle
(rectangle)[source]¶Set the clip rectangle with sequence (left, bottom, width, height)
set_dashes
(offset, dashes)[source]¶Set the dash style for the gc.
Parameters: |
|
---|
matplotlib.backends.backend_cairo.
RendererCairo
(dpi)[source]¶Bases: matplotlib.backend_bases.RendererBase
draw_image
(gc, x, y, im)[source]¶Draw an RGBA image.
Parameters: |
|
---|
draw_markers
(gc, marker_path, marker_trans, path, transform, rgbFace=None)[source]¶Draws a marker at each of the vertices in path. This includes all vertices, including control points on curves. To avoid that behavior, those vertices should be removed before calling this function.
This provides a fallback implementation of draw_markers that
makes multiple calls to draw_path()
. Some backends may
want to override this method in order to draw the marker only
once and reuse it multiple times.
Parameters: |
|
---|
draw_path
(gc, path, transform, rgbFace=None)[source]¶Draws a Path
instance using the
given affine transform.
draw_text
(gc, x, y, s, prop, angle, ismath=False, mtext=None)[source]¶Draw the text instance
Parameters: |
|
---|
Notes
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 plotted along with your text.
fontangles
= {'italic': <MyCairoCffi name='mock.FONT_SLANT_ITALIC' id='140677916054864'>, 'normal': <MyCairoCffi name='mock.FONT_SLANT_NORMAL' id='140677916063280'>, 'oblique': <MyCairoCffi name='mock.FONT_SLANT_OBLIQUE' id='140677916075792'>}¶fontweights
= {100: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140677916025744'>, 200: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140677916025744'>, 300: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140677916025744'>, 400: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140677916025744'>, 500: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140677916025744'>, 600: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140677916038256'>, 700: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140677916038256'>, 800: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140677916038256'>, 900: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140677916038256'>, 'ultralight': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140677916025744'>, 'light': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140677916025744'>, 'normal': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140677916025744'>, 'medium': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140677916025744'>, 'regular': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140677916025744'>, 'semibold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140677916038256'>, 'bold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140677916038256'>, 'heavy': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140677916038256'>, 'ultrabold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140677916038256'>, 'black': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140677916038256'>}¶get_text_width_height_descent
(s, prop, ismath)[source]¶Get the width, height, and descent (offset from the bottom
to the baseline), in display coords, of the string s with
FontProperties
prop
points_to_pixels
(points)[source]¶Convert points to display units
You need to override this function (unless your backend doesn't have a dpi, e.g., 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
Parameters: |
|
---|---|
Returns: |
|