matplotlib.backends.backend_agg
Backend agg http://antigrain.com/
Реализованные функции
- стили обводки и соединения
- штрихи
- ширина линии
- линии, прямоугольники, эллипсы
- обрезка до прямоугольника
- вывод в RGBA и PNG, необязательно JPEG и TIFF
- смешивание с альфой
- масштабирование DPI корректно - все масштабируется корректно (штрихи, толщины линий и т.д.)
- рисование многоугольника
- freetype2 с ft2font
TODO:
- интеграция dpi экрана с ppi и текстом
-
matplotlib.backends.backend_agg.FigureCanvas -
псевдоним для
matplotlib.backends.backend_agg.FigureCanvasAgg
-
class matplotlib.backends.backend_agg.FigureCanvasAgg(figure)[source] -
Bases:
matplotlib.backend_bases.FigureCanvasBaseПоверхность холста, на которую отрисовывается изображение. Вызывает методы отрисовки и печати, создаёт рендереры и т. д...
Атрибуты: -
figure : matplotlib.figure.Figure -
Экземпляр объекта Figure высокого уровня
-
buffer_rgba(self)[source] -
Получение изображения в виде объекта memoryview буфера рендерера.
drawдолжен быть вызван хотя бы один раз, прежде чем эта функция будет работать и для обновления рендерера для любых последующих изменений в объекте Figure.Возвращает: - memoryview
-
copy_from_bbox(self, bbox)[source]
-
draw(self)[source] -
Отрисовка изображения с помощью рендерера.
-
get_renderer(self, cleared=False)[source]
-
print_jpeg(self, filename_or_obj, *args, dryrun=False, pil_kwargs=None, **kwargs) -
Сохранение изображения в файл формата JPEG.
Параметры: -
filename_or_obj : str or PathLike or file-like object -
Файл для записи.
Дополнительные параметры: -
quality : int -
Качество изображения от 1 (низкое) до 100 (высокое). По умолчанию
rcParams["savefig.jpeg_quality"]. Значения выше 95 следует избегать; 100 полностью отключает стадию квантования JPEG. -
optimize : bool -
Если указано, кодер делает дополнительный проход по изображению, чтобы выбрать оптимальные настройки кодирования.
-
progressive : bool -
Если указано, изображение сохраняется как прогрессивное JPEG.
-
pil_kwargs : dict, optional -
Дополнительные ключевые параметры, передаваемые в
PIL.Image.saveпри сохранении изображения. Они имеют приоритет над параметрами quality, optimize и progressive.
-
-
print_jpg(self, filename_or_obj, *args, dryrun=False, pil_kwargs=None, **kwargs)[source] -
Сохранение изображения в файл формата JPEG.
Параметры: -
filename_or_obj : str or PathLike or file-like object -
Файл для записи.
Дополнительные параметры: -
quality : int -
Качество изображения от 1 (низкое) до 100 (высокое). По умолчанию
rcParams["savefig.jpeg_quality"]. Значения выше 95 следует избегать; 100 полностью отключает стадию квантования JPEG. -
optimize : bool -
Если указано, кодер делает дополнительный проход по изображению, чтобы выбрать оптимальные настройки кодирования.
-
progressive : bool -
Если указано, изображение сохраняется как прогрессивное JPEG.
-
pil_kwargs : dict, optional -
Дополнительные ключевые параметры, передаваемые в
PIL.Image.saveпри сохранении изображения. Они имеют приоритет над параметрами quality, optimize и progressive.
-
-
print_png(self, filename_or_obj, *args, metadata=None, pil_kwargs=None, **kwargs)[source] -
Сохранение изображения в файл формата PNG.
Параметры: -
filename_or_obj : str or PathLike or file-like object -
Файл для записи.
-
metadata : dict, optional -
Метаданные в файле PNG в виде пар ключ-значение байтов или строк, которые можно закодировать в latin-1. Согласно спецификации PNG, ключи должны быть короче 79 символов.
Спецификация PNG определяет некоторые общие ключевые слова, которые могут быть использованы:
- Title: Короткий (одна строка) заголовок или подпись к изображению.
- Author: Имя создателя изображения.
- Description: Описание изображения (возможно длинное).
- Copyright: Авторское право.
- Creation Time: Время создания оригинального изображения (обычно в формате RFC 1123).
- Software: Программное обеспечение, использованное для создания изображения.
- Disclaimer: Юридическое уведомление.
- Warning: Предупреждение о характере содержимого.
- Source: Устройство, использованное для создания изображения.
- Comment: Разнообразные комментарии; преобразование из другого формата изображения.
Другие ключевые слова могут быть придуманы для других целей.
Если 'Software' не указан, будет использоваться автоматически сгенерированное значение для matplotlib.
Для получения более подробной информации см. спецификацию PNG.
-
pil_kwargs : dict, optional -
Если установлено значение отличное от None, для сохранения изображения используется Pillow вместо встроенной поддержки PNG в Matplotlib, и эти ключевые параметры передаются в
PIL.Image.save.Если ключ 'pnginfo' присутствует, он полностью переопределяет metadata, включая ключевое слово по умолчанию 'Software'.
-
-
print_raw(self, filename_or_obj, *args, **kwargs)[source]
-
print_rgba(self, filename_or_obj, *args, **kwargs)
-
print_tif(self, filename_or_obj, *args, dryrun=False, pil_kwargs=None, **kwargs)[source]
-
print_tiff(self, filename_or_obj, *args, dryrun=False, pil_kwargs=None, **kwargs)
-
print_to_buffer(self)[source]
-
restore_region(self, region, bbox=None, xy=None)[source]
-
tostring_argb(self)[source] -
Получение изображения в виде строкового значения ARGB.
drawдолжен быть вызван хотя бы один раз, прежде чем эта функция будет работать и для обновления рендерера для любых последующих изменений в объекте Figure.Возвращает: - bytes
-
tostring_rgb(self)[source] -
Получение изображения в виде строкового значения RGB.
drawдолжен быть вызван хотя бы один раз, прежде чем эта функция будет работать и для обновления рендерера для любых последующих изменений в объекте Figure.Возвращает: - bytes
-
-
class matplotlib.backends.backend_agg.RendererAgg(width, height, dpi)[source] -
Bases:
matplotlib.backend_bases.RendererBaseОтрисовщик обрабатывает все примитивы рисования с помощью экземпляра контекста графики, который управляет цветами/стилями
-
buffer_rgba(self)[source]
-
clear(self)[source]
-
draw_mathtext(self, gc, x, y, s, prop, angle)[source] -
Отобразить математический текст с помощью matplotlib.mathtext
-
draw_path(self, gc, path, transform, rgbFace=None)[source] -
Отображает экземпляр
Pathс использованием заданного аффинного преобразования.
-
draw_tex(self, gc, x, y, s, prop, angle, ismath='TeX!', mtext=None)[source]
-
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, а затем вместе с текстом будет отображаться и фактическая область.
-
-
get_canvas_width_height(self)[source] -
Возвращает ширину и высоту холста в координатах отображения.
-
get_text_width_height_descent(self, s, prop, ismath)[source] -
Получить ширину, высоту и опускание (смещение от нижней части до базовой линии) в координатах отображения строки s с
FontPropertiesprop
-
lock = <unlocked _thread.RLock object owner=0 count=0>
-
option_image_nocomposite(self)[source] -
Возвращает, следует ли пропускать композицию изображений Matplotlib.
Бэкенды растрового изображения обычно должны возвращать False (позволяя C-уровневому растрирующему устройству позаботиться о композиции изображения); бэкенды векторных изображений обычно должны возвращать
not rcParams["image.composite_image"].
-
option_scale_image(self)[source] -
Возвращает, поддерживаются ли произвольные аффинные преобразования в
draw_image()(True для большинства векторных бэкендов).
-
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 с плавающей точкой
Возвращает: - Точки, преобразованные в пиксели
-
-
restore_region(self, region, bbox=None, xy=None)[source] -
Восстановить сохраненную область. Если задана bbox (экземпляр BboxBase или его пределы), восстанавливается только область, заданная bbox. xy (пара чисел с плавающей точкой) необязательно задает новое положение (LLU исходной области, а не LLU bbox), где восстанавливается область.
>>> region = renderer.copy_from_bbox() >>> x1, y1, x2, y2 = region.get_extents() >>> renderer.restore_region(region, bbox=(x1+dx, y1, x2, y2), ... xy=(x1-dx, y1))
-
start_filter(self)[source] -
Начать фильтрацию. Он просто создает новый холст (старый сохраняется).
-
stop_filter(self, post_processing)[source] -
Сохранить диаграмму на текущем холсте как изображение и применить функцию post_processing.
- def post_processing(image, dpi):
- # ny, nx, depth = image.shape # image (numpy array) имеет RGBA каналы и имеет глубину 4. ... # создать new_image (массив numpy из 4 каналов, размер может быть # различным). Полученное изображение может иметь смещения от # левого нижнего угла исходного изображения return new_image, offset_x, offset_y
Сохраненный рендерер восстанавливается, а возвращаемое изображение из post_processing отображается (с помощью draw_image) на нем.
-
tostring_argb(self)[source]
-
tostring_rgb(self)[source]
-
tostring_rgba_minimized(self)[source]
-
-
matplotlib.backends.backend_agg.get_hinting_flag()[source]
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.1.1/api/backend_agg_api.html