matplotlib.backends.backend_cairo
Фронтенд Cairo для matplotlib
| Автор: | Стив Чаплин и другие |
|---|
Этот фронтенд зависит от cairocffi или pycairo.
-
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]
-
-
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] -
Устанавливает область обрезки и преобразование.
Параметры: -
pathTransformedPath or None
-
-
set_clip_rectangle(self, rectangle)[source] -
Устанавливает прямоугольник обрезки с последовательностью (левый, нижний, ширина, высота)
-
set_dashes(self, offset, dashes)[source] -
Устанавливает стиль штриховки для контекста.
Параметры: -
dash_offsetfloat or None -
Смещение (обычно 0).
-
dash_listarray-like or None -
Последовательность включений/выключений как точки.
Примечания
(None, None)задаёт сплошную линию.См. стр. 107 PostScript руководства для получения дополнительной информации.
-
-
set_foreground(self, fg, isRGBA=None)[source] -
Устанавливает цвет переднего плана.
Параметры: -
fgcolor -
isRGBAbool -
Если известно, что 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] -
Bases:
matplotlib.backend_bases.RendererBase-
draw_image(self, gc, x, y, im)[source] -
Отобразить изображение RGBA.
Параметры: -
gcGraphicsContextBase -
Контекст графики с информацией о обрезке.
-
xscalar -
Расстояние в физических единицах (т.е. точках или пикселях) от левой стороны холста.
-
yscalar -
Расстояние в физических единицах (т.е. точках или пикселях) от нижней стороны холста.
-
imarray-like, shape=(N, M, 4), dtype=np.uint8 -
Массив пикселей RGBA.
-
transformmatplotlib.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(). Некоторые бэкэнды могут захотеть переопределить этот метод, чтобы отобразить маркер только один раз и повторно использовать его несколько раз.Параметры: -
gcGraphicsContextBase -
Контекст графики.
-
marker_transmatplotlib.transforms.Transform -
Аффинное преобразование, применяемое к маркеру.
-
transmatplotlib.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] -
Отобразить экземпляр текста.
Параметры: -
gcGraphicsContextBase -
Контекст графики.
-
xfloat -
Координата x текста в координатах отображения.
-
yfloat -
Координата y базовой линии текста в координатах отображения.
-
sstr -
Строка текста.
-
propmatplotlib.font_manager.FontProperties -
Свойства шрифта.
-
anglefloat -
Угол поворота в градусах против часовой стрелки.
-
mtextmatplotlib.text.Text -
Исходный объект текста, подлежащий отображению.
Примечания
Примечание для разработчиков бэкэндов:
При попытке определить, правильно ли вы получили прямоугольник ограничительной рамки (что позволяет правильно выполнить расположение и выравнивание текста), полезно изменить строку в text.py:
if 0: bbox_artist(self, renderer)
на if 1, а затем прямоугольник ограничительной рамки будет нарисован вместе с вашим текстом.
-
-
fontangles = {'italic': <MyCairoCffi name='mock.FONT_SLANT_ITALIC' id='140056179458784'>, 'normal': <MyCairoCffi name='mock.FONT_SLANT_NORMAL' id='140056179474880'>, 'oblique': <MyCairoCffi name='mock.FONT_SLANT_OBLIQUE' id='140056179490976'>}
-
fontweights = {100: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140056179430784'>, 200: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140056179430784'>, 300: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140056179430784'>, 400: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140056179430784'>, 500: <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140056179430784'>, 600: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140056179446784'>, 700: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140056179446784'>, 800: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140056179446784'>, 900: <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140056179446784'>, 'ultralight': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140056179430784'>, 'light': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140056179430784'>, 'normal': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140056179430784'>, 'medium': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140056179430784'>, 'regular': <MyCairoCffi name='mock.FONT_WEIGHT_NORMAL' id='140056179430784'>, 'semibold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140056179446784'>, 'bold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140056179446784'>, 'heavy': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140056179446784'>, 'ultrabold': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140056179446784'>, 'black': <MyCairoCffi name='mock.FONT_WEIGHT_BOLD' id='140056179446784'>}
-
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 * dpi/72
Параметры: -
pointsfloat 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.2.2/api/backend_cairo_api.html