Spec-Zone.ru › Matplotlib 2.2

matplotlib.backends.backend_cairo

Cairo-совместимый бэкэнд для matplotlib

Автор: Стив Чаплин и другие

Этот бэкэнд зависит от cairo, и либо от cairocffi, либо (только для Python 2) от pycairo.

class matplotlib.backends.backend_cairo.ArrayWrapper(myarray) [source]

Базовый класс: object

Тонкий обертка вокруг numpy ndarray для экспонирования интерфейса, ожидаемого cairocffi. В основном дублирует интерфейс array.array.

buffer_info() [source]
matplotlib.backends.backend_cairo.FigureCanvas

Псевдоним для matplotlib.backends.backend_cairo.FigureCanvasCairo

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

Базовый класс: matplotlib.backend_bases.FigureCanvasBase

print_pdf(fobj, *args, **kwargs) [source]
print_png(fobj, *args, **kwargs) [source]
print_ps(fobj, *args, **kwargs) [source]
print_svg(fobj, *args, **kwargs) [source]
print_svgz(fobj, *args, **kwargs) [source]
supports_blit = False
class matplotlib.backends.backend_cairo.GraphicsContextCairo(renderer) [source]

Базовый класс: matplotlib.backend_bases.GraphicsContextBase

get_rgb() [source]

Возвращает кортеж из трёх или четырёх чисел с плавающей точкой в диапазоне от 0 до 1.

restore() [source]

Восстановление графического контекста из стека — необходимо только для бэкэндов, сохраняющих графические контексты в стеке.

set_alpha(alpha) [source]

Устанавливает значение альфы, используемое для смешивания — не поддерживается во всех бэкендах. Если alpha=None (значение по умолчанию), компоненты альфы переднего и заливочного цвета будут использоваться для установки их соответствующей прозрачности (при необходимости); в противном случае, alpha переопределит их.

set_capstyle(cs) [source]

Устанавливает стиль обрезки в виде строки ('butt', 'round', 'projecting')

set_clip_path(path) [source]

Устанавливает обрезной путь и преобразование. Путь должен быть экземпляром TransformedPath.

set_clip_rectangle(rectangle) [source]

Устанавливает прямоугольник обрезки с последовательностью (левая, нижняя, ширина, высота)

set_dashes(offset, dashes) [source]

Устанавливает стиль штриховки для gc.

Параметры:
dash_offset : float

смещение (обычно 0).

dash_list : array_like

определяет последовательность включения/выключения как точки. (None, None) определяет сплошную линию

set_foreground(fg, isRGBA=None) [source]

Устанавливает цвет переднего плана. fg может быть строкой в формате MATLAB, строкой html-цвета, кортежем rgb или rgba, или числом с плавающей точкой от 0 до 1. В последнем случае используется градация серого.

Если известно, что fg — rgba, установите isRGBA=True для повышения эффективности.

set_joinstyle(js) [source]

Устанавливает стиль соединения, одним из ('miter', 'round', 'bevel')

set_linewidth(w) [source]

Устанавливает ширину линии в пунктах

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

Основы: matplotlib.backend_bases.RendererBase

static convert_path(ctx, path, transform, clip=None) [source]
draw_image(gc, x, y, im) [source]

Отрисовка изображения RGBA.

Параметры:
gc : GraphicsContextBase

контекст графики с информацией о обрезке.

x : scalar

расстояние в физических единицах (т.е. точки или пиксели) от левой стороны холста.

y : scalar

расстояние в физических единицах (т.е. точки или пиксели) от нижней стороны холста.

im : array_like, shape=(N, M, 4), dtype=np.uint8

массив пикселей RGBA.

transform : matplotlib.transforms.Affine2DBase

Если и только если конкретный бэкенд написан так, что option_scale_image() возвращает True, аффинное преобразование может быть передано в draw_image(). Оно принимает вид экземпляра Affine2DBase. Вектор переноса преобразования задан в физических единицах (т.е. точки или пиксели). Обратите внимание, что преобразование не переопределяет x и y, и должно быть применено перед переводом результата на x и y (это можно сделать, добавив x и y к вектору переноса, определенному transform).

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

Отрисовывает маркер в каждой вершине в пути. Это включает все вершины, включая контрольные точки на кривых. Чтобы избежать этого поведения, эти вершины должны быть удалены перед вызовом этой функции.

Это обеспечивает резервную реализацию draw_markers, которая делает несколько вызовов draw_path(). Некоторые бэкэнды могут переопределить этот метод, чтобы отрисовать маркер только один раз и повторно использовать его несколько раз.

Параметры:
gc : GraphicsContextBase

Контекст графики

marker_trans : matplotlib.transforms.Transform

Аффинное преобразование, применяемое к маркерам.

trans : matplotlib.transforms.Transform

Аффинное преобразование, применяемое к пути.

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

Отрисовывает экземпляр Path с помощью заданного аффинного преобразования.

draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None) [source]

Отрисовка экземпляра текста.

Параметры:
gc : GraphicsContextBase

контекст графики

x : scalar

координата x текста в координатах отображения

y : scalar

координата y базовой линии текста в координатах отображения

s : str

строка текста

prop : matplotlib.font_manager.FontProperties

свойства шрифта

angle : scalar

угол поворота в градусах

mtext : matplotlib.text.Text

исходный объект текста для отрисовки

Примечания

Примечание разработчикам бэкендов

При попытке определить, правильно ли вы получили прямоугольник обрезки (что позволяет правильно выровнять текст), полезно изменить строку в text.py:

if 0: bbox_artist(self, renderer)

на if 1, а затем фактический прямоугольник обрезки будет отображаться вместе с текстом.

fontangles = {'italic': <MyCairoCffi name='mock.FONT_SLANT_ITALIC' id='139831684338520'>, 'normal': <MyCairoCffi name='mock.FONT_SLANT_NORMAL' id='139831684351032'>, 'oblique': <MyCairoCffi name='mock.FONT_SLANT_OBLIQUE' id='139831684367584'>}
fontweights = {100: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='139831685276504'>, 200: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='139831685276504'>, 300: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='139831685276504'>, 400: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='139831685276504'>, 500: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='139831685276504'>, 600: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='139831684321912'>, 700: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='139831684321912'>, 800: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='139831684321912'>, 900: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='139831684321912'>, 'ultralight': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='139831685276504'>, 'light': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='139831685276504'>, 'normal': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='139831685276504'>, 'medium': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='139831685276504'>, 'regular': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='139831685276504'>, 'semibold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='139831684321912'>, 'bold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='139831684321912'>, 'heavy': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='139831684321912'>, 'ultrabold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='139831684321912'>, 'black': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='139831684321912'>}
get_canvas_width_height() [source]

возвращает ширину и высоту холста в координатах отображения

get_text_width_height_descent(s, prop, ismath) [source]

Получить ширину, высоту и спуск (смещение снизу до базовой линии) в координатах отображения строки s с FontProperties prop

new_gc() [source]

Возвращает экземпляр GraphicsContextBase

points_to_pixels(points) [source]

Преобразовать точки в единицы отображения

Вам нужно переопределить эту функцию (если ваш бэкенд не имеет dpi, например, postscript или svg). Некоторые системы изображений предполагают некоторое значение для пикселей на дюйм:

points to pixels = points * pixels_per_inch/72.0 * dpi/72.0
Параметры:
points : scalar or array_like

число с плавающей точкой или массив numpy чисел с плавающей точкой

Возвращает:
Точки, преобразованные в пиксели
set_ctx_from_surface(surface) [source]
set_width_height(width, height) [source]

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API