matplotlib / 3.4.3 / backend_cairo_api.html /

matplotlib.backends.backend_cairo

A Cairo backend for matplotlib

Author: Steve Chaplin and others

This backend depends on cairocffi or pycairo.

matplotlib.backends.backend_cairo. FigureCanvas

alias of matplotlib.backends.backend_cairo.FigureCanvasCairo

class matplotlib.backends.backend_cairo. FigureCanvasCairo ( figure=None ) [source]

Bases: matplotlib.backend_bases.FigureCanvasBase

copy_from_bbox ( bbox ) [source]
print_pdf ( fobj, *args, **kwargs ) [source]
print_png ( fobj ) [source]
print_ps ( fobj, *args, **kwargs ) [source]
print_raw ( fobj )
print_rgba ( fobj ) [source]
print_svg ( fobj, *args, **kwargs ) [source]
print_svgz ( fobj, *args, **kwargs ) [source]
restore_region ( region ) [source]
class matplotlib.backends.backend_cairo. GraphicsContextCairo ( renderer ) [source]

Bases: matplotlib.backend_bases.GraphicsContextBase

get_rgb ( ) [source]

Return a tuple of three or four floats from 0-1.

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_antialiased ( b ) [source]

Set whether object should be drawn with antialiased rendering.

set_capstyle ( cs ) [source]

Set how to draw endpoints of lines.

Parameters:
cs CapStyle or {'butt', 'projecting', 'round'}
set_clip_path ( path ) [source]

Set the clip path to a TransformedPath or None.

set_clip_rectangle ( rectangle ) [source]

Set the clip rectangle to a Bbox or None.

set_dashes ( offset, dashes ) [source]

Set the dash style for the gc.

Parameters:
dash_offset float or None

The offset (usually 0).

dash_list array-like or None

The on-off sequence as points.

Notes

(None, None) specifies a solid line.

See p. 107 of to PostScript blue book for more info.

set_foreground ( fg, isRGBA=None ) [source]

Set the foreground color.

Parameters:
fg color
isRGBA bool

If fg is known to be an (r, g, b, a) tuple, isRGBA can be set to True to improve performance.

set_joinstyle ( js ) [source]

Set how to draw connections between line segments.

Parameters:
js JoinStyle or {'miter', 'round', 'bevel'}
set_linewidth ( w ) [source]

Set the linewidth in points.

class matplotlib.backends.backend_cairo. RendererCairo ( dpi ) [source]

Bases: matplotlib.backend_bases.RendererBase

draw_image ( gc, x, y, im ) [source]

Draw an RGBA image.

Parameters:
gc GraphicsContextBase

A graphics context with clipping information.

x scalar

The distance in physical units (i.e., dots or pixels) from the left hand side of the canvas.

y scalar

The distance in physical units (i.e., dots or pixels) from the bottom side of the canvas.

im (N, M, 4) array-like of np.uint8

An array of RGBA pixels.

transform matplotlib.transforms.Affine2DBase

If and only if the concrete backend is written such that option_scale_image() returns True, an affine transformation (i.e., an Affine2DBase) may be passed to draw_image(). The translation vector of the transformation is given in physical units (i.e., dots or pixels). Note that the transformation does not override x and y, and has to be applied before translating the result by x and y (this can be accomplished by adding x and y to the translation vector defined by transform).

draw_markers ( gc, marker_path, marker_trans, path, transform, rgbFace=None ) [source]

Draw a marker at each of path's vertices (excluding control points).

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:
gc GraphicsContextBase

The graphics context.

marker_trans matplotlib.transforms.Transform

An affine transform applied to the marker.

trans matplotlib.transforms.Transform

An affine transform applied to the path.

draw_path ( gc, path, transform, rgbFace=None ) [source]

Draw 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:
gc GraphicsContextBase

The graphics context.

x float

The x location of the text in display coords.

y float

The y location of the text baseline in display coords.

s str

The text string.

prop matplotlib.font_manager.FontProperties

The font properties.

angle float

The rotation angle in degrees anti-clockwise.

mtext matplotlib.text.Text

The original text object to be rendered.

Notes

Note for backend implementers:

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.

property fontangles
property fontweights
get_canvas_width_height ( ) [source]

Return the canvas width and height in display coords.

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.

property mathtext_parser
new_gc ( ) [source]

Return an instance of a GraphicsContextBase.

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 * dpi/72
Parameters:
points float or array-like

a float or a numpy array of float

Returns:
Points converted to pixels
set_ctx_from_surface ( surface ) [source]
set_width_height ( width, height ) [source]

© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/backend_cairo_api.html