matplotlib.backends.backend_cairo
Фронтенд Cairo для matplotlib
| Автор: | Steve Chaplin и другие |
|---|
Этот фронтенд зависит от cairocffi или pycairo.
-
class matplotlib.backends.backend_cairo.ArrayWrapper(**kwargs)[source] -
Базовое классы:
object[Устарело] Тонкая оболочка вокруг numpy ndarray, которая раскрывает интерфейс, ожидаемый cairocffi. В основном дублирует интерфейс array.array.
Примечания
Устарело начиная с версии 3.0.
-
buffer_info(self)[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(self, fobj, *args, **kwargs)[source]
-
print_png(self, fobj, *args, **kwargs)[source]
-
print_ps(self, fobj, *args, **kwargs)[source]
-
print_raw(self, fobj, *args, **kwargs)
-
print_rgba(self, fobj, *args, **kwargs)[source]
-
print_svg(self, fobj, *args, **kwargs)[source]
-
print_svgz(self, fobj, *args, **kwargs)[source]
-
supports_blit = False
-
-
class matplotlib.backends.backend_cairo.GraphicsContextCairo(renderer)[source] -
Базовое классы:
matplotlib.backend_bases.GraphicsContextBase-
get_rgb(self)[source] -
Возвращает кортеж из трёх или четырёх чисел с плавающей точкой от 0 до 1.
-
restore(self)[source] -
Восстанавливает контекст графики из стека — необходимо только для фронтендов, сохраняющих контексты графики в стеке.
-
set_alpha(self, alpha)[source] -
Устанавливает значение альфа-канала, используемого для смешивания — не поддерживается во всех фронтендах.
Если
alpha=None(по умолчанию), альфа-компоненты цветов переднего плана и заливки будут использоваться для установки соответствующей прозрачности (по возможности); в противном случаеalphaпереопределит их.
-
set_capstyle(self, cs)[source] -
Устанавливает стиль окончания отрезка ('butt', 'round', 'projecting').
-
set_clip_path(self, path)[source] -
Устанавливает путь обрезки и преобразование. Путь должен быть экземпляром
TransformedPath.
-
set_clip_rectangle(self, rectangle)[source] -
Устанавливает прямоугольник обрезки с последовательностью (левый, нижний, ширина, высота)
-
set_dashes(self, offset, dashes)[source] -
Устанавливает стиль штриховки для контекста графики.
Параметры: -
dash_offset : float -
смещение (обычно 0).
-
dash_list : array_like -
определяет последовательность чередования длин и промежутков как точки.
(None, None)задает сплошную линию
-
-
set_foreground(self, fg, isRGBA=None)[source] -
Устанавливает цвет переднего плана.
Параметры: -
fg : color -
isRGBA : bool -
Если известно, что fg является
(r, g, b, a)кортежем, isRGBA может быть установлено в True для повышения производительности.
-
-
set_joinstyle(self, js)[source] -
Устанавливает стиль соединения ('miter', 'round', 'bevel').
-
set_linewidth(self, w)[source] -
Устанавливает ширину линии в пунктах.
-
-
class matplotlib.backends.backend_cairo.RendererCairo(dpi)[source] -
Основы:
matplotlib.backend_bases.RendererBase-
static convert_path(ctx, path, transform, clip=None)[source] -
[Устарело]
Примечания
Устарело начиная с версии 3.0:
-
draw_image(self, 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(self, 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(self, gc, path, transform, rgbFace=None)[source] -
Отрисовывает экземпляр
Pathс помощью заданного аффинного преобразования.
-
draw_text(self, 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='140190097671840'>, 'normal': <MyCairoCffi name='mock.FONT_SLANT_NORMAL' id='140190097684352'>, 'oblique': <MyCairoCffi name='mock.FONT_SLANT_OBLIQUE' id='140190097696864'>}
-
fontweights = {100: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140190097638624'>, 200: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140190097638624'>, 300: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140190097638624'>, 400: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140190097638624'>, 500: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140190097638624'>, 600: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140190097655232'>, 700: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140190097655232'>, 800: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140190097655232'>, 900: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140190097655232'>, 'ultralight': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140190097638624'>, 'light': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140190097638624'>, 'normal': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140190097638624'>, 'medium': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140190097638624'>, 'regular': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140190097638624'>, 'semibold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140190097655232'>, 'bold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140190097655232'>, 'heavy': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140190097655232'>, 'ultrabold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140190097655232'>, 'black': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140190097655232'>}
-
get_canvas_width_height(self)[source] -
Возвращает ширину и высоту холста в координатах отображения.
-
get_text_width_height_descent(self, s, prop, ismath)[source] -
Возвращает ширину, высоту и опускание (смещение от низа до базовой линии) в координатах отображения строки s с
FontPropertiesprop
-
new_gc(self)[source] -
Возвращает экземпляр
GraphicsContextBase.
-
points_to_pixels(self, 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(self, surface)[source]
-
set_width_height(self, width, height)[source]
-
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.1.1/api/backend_cairo_api.html