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] -
Устанавливает ширину линии в пунктах
-
-
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 с
FontPropertiesprop
-
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