matplotlib.backends.backend_agg
Интерфейс на основе Anti-Grain Geometry (AGG).
Реализованные функции:
- стили обводки и соединения
- штриховка
- ширина линии
- линии, прямоугольники, эллипсы
- обрезка по прямоугольнику
- вывод в RGBA и поддерживаемые Pillow форматы изображений
- альфа-смешивание
- корректное масштабирование DPI — всё масштабируется корректно (штриховка, ширина линии и т. д.)
- рисование многоугольников
- freetype2 с ft2font
Осталось сделать:
- интеграция разрешения экрана (dpi) с разрешением страницы (ppi) и текстом
-
matplotlib.backends.backend_agg.FigureCanvas -
псевдоним для
matplotlib.backends.backend_agg.FigureCanvasAgg
- класс
matplotlib.backends.backend_agg.FigureCanvasAgg(figure=None)[source]
-
Bases:
matplotlib.backend_bases.FigureCanvasBase-
buffer_rgba()[source] -
Получить изображение в виде
memoryviewбуфера рендерера.drawдолжно быть вызвано как минимум один раз перед работой этой функции и для обновления рендерера в случае последующих изменений в Figure.
-
copy_from_bbox(bbox)[source]
-
draw()[source] -
Отобразить
Figure.Важно, чтобы этот метод фактически проходил по дереву художников, даже если вывод не производится, так как это запустит отложенную работу (например, вычисление автоматических пределов и значений делений), к которой пользователи могут получить доступ перед сохранением на диск.
-
get_renderer(cleared=False)[source]
-
print_jpeg(filename_or_obj, *args, pil_kwargs=None, **kwargs) -
Записать изображение в файл JPEG.
Параметры: - filename_or_objstr или объект-путь или файлоподобный объект
-
Файл для записи.
Другие параметры: -
qualityint, по умолчанию:
rcParams["savefig.jpeg_quality"](по умолчанию:95) -
Качество изображения в диапазоне от 1 (худшее) до 95 (лучшее). Значения выше 95 следует избегать; 100 отключает части алгоритма сжатия JPEG и приводит к большим файлам без заметного повышения качества изображения. Этот параметр устарел.
- optimizebool, по умолчанию: False
-
Нужно ли кодировщику выполнить дополнительный проход по изображению для выбора оптимальных настроек кодирования. Этот параметр устарел.
- progressivebool, по умолчанию: False
-
Нужно ли сохранить изображение как прогрессивный файл JPEG. Этот параметр устарел.
- pil_kwargsdict, необязательно
-
Дополнительные ключевые аргументы, передаваемые в
PIL.Image.Image.saveпри сохранении графика. Они имеют приоритет над quality, optimize и progressive.
-
print_jpg(filename_or_obj, *args, pil_kwargs=None, **kwargs)[source] -
Записать изображение в файл JPEG.
Параметры: - filename_or_objstr или объект-путь или файлоподобный объект
-
Файл для записи.
Другие параметры: -
qualityint, по умолчанию:
rcParams["savefig.jpeg_quality"](по умолчанию:95) -
Качество изображения в диапазоне от 1 (худшее) до 95 (лучшее). Значения выше 95 следует избегать; 100 отключает части алгоритма сжатия JPEG и приводит к большим файлам без заметного повышения качества изображения. Этот параметр устарел.
- optimizebool, по умолчанию: False
-
Нужно ли кодировщику выполнить дополнительный проход по изображению для выбора оптимальных настроек кодирования. Этот параметр устарел.
- progressivebool, по умолчанию: False
-
Нужно ли сохранить изображение как прогрессивный файл JPEG. Этот параметр устарел.
- pil_kwargsdict, необязательно
-
Дополнительные ключевые аргументы, передаваемые в
PIL.Image.Image.saveпри сохранении графика. Они имеют приоритет над quality, optimize и progressive.
-
print_png(filename_or_obj, *args, metadata=None, pil_kwargs=None)[source] -
Записать изображение в файл PNG.
Параметры: - filename_or_objstr или объект-путь или файлоподобный объект
-
Файл для записи.
- metadatadict, необязательно
-
Метаданные в файле PNG в виде пар ключ-значение байтов или строк, кодируемых в latin-1. Согласно спецификации PNG, ключи должны быть короче 79 символов.
Спецификация PNG определяет некоторые общие ключевые слова, которые могут использоваться при необходимости:
- Title: Краткое (одной строкой) заголовок или подпись для изображения.
- Author: Имя создателя изображения.
- Description: Описание изображения (возможно, длинное).
- Copyright: Авторские права.
- Creation Time: Время создания исходного изображения (обычно в формате RFC 1123).
- Software: Программное обеспечение, используемое для создания изображения.
- Disclaimer: Юридическое освобождение от ответственности.
- Warning: Предупреждение о природе содержимого.
- Source: Устройство, используемое для создания изображения.
- Comment: Разнообразный комментарий; преобразование из другого формата изображения.
Другие ключевые слова могут быть изобретены для других целей.
Если 'Software' не задан, будет использоваться автоматически сгенерированное значение Matplotlib. Это можно удалить, установив его в None.
Для получения дополнительной информации см. спецификацию PNG.
- pil_kwargsdict, необязательно
-
Ключевые аргументы, передаваемые в
PIL.Image.Image.save.Если ключ 'pnginfo' присутствует, он полностью переопределяет metadata, включая значение по умолчанию ключа 'Software'.
-
print_raw(filename_or_obj, *args)[source]
-
print_rgba(filename_or_obj, *args)
-
print_tif(filename_or_obj, *, pil_kwargs=None)[source]
-
-
-
print_tiff(filename_or_obj, *, pil_kwargs=None)
-
print_to_buffer()[source]
-
restore_region(region, bbox=None, xy=None)[source]
-
- класс
matplotlib.backends.backend_agg.RendererAgg(ширина, высота, dpi)[source] -
Базы:
matplotlib.backend_bases.RendererBaseОтобразитель обрабатывает все графические примитивы с использованием экземпляра графического контекста, который управляет цветами/стилями
-
buffer_rgba()[source]
-
clear()[source]
-
draw_mathtext(gc, x, y, s, prop, angle)[source] -
Отрисовка mathtext с использованием
matplotlib.mathtext.
-
draw_path(gc, path, transform, rgbFace=None)[source] -
Отрисовка экземпляра
Pathс использованием заданного аффинного преобразования.
-
draw_path_collection(gc, master_transform, paths, all_transforms, offsets, offsetTrans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position)[source] -
Отрисовка набора путей, выбирая свойства отрисовки из списков facecolors, edgecolors, linewidths, linestyles и antialiaseds. offsets — список смещений, которые нужно применить к каждому пути. Смещения в offsets сначала преобразуются с помощью offsetTrans перед применением.
offset_position может быть либо «screen», либо «data», в зависимости от пространства, в котором находятся смещения; «data» устарело.
Это предоставляет резервную реализацию
draw_path_collection(), которая выполняет несколько вызововdraw_path(). Некоторые бэкэнды могут захотеть переопределить это, чтобы отобразить каждый набор данных пути только один раз, а затем использовать этот путь несколько раз с различными смещениями, цветами, стилями и т. д. Генераторные методы_iter_collection_raw_paths()и_iter_collection()предназначены для помощи (и стандартизации) реализации по всем бэкэндам. Настоятельно рекомендуется использовать эти генераторы, чтобы изменения в поведенииdraw_path_collection()можно было внести глобально.
-
draw_tex(gc, x, y, s, prop, angle, *, mtext=None)[source]
-
draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[source] -
Отрисовка текстового экземпляра.
Параметры: -
gc
GraphicsContextBase -
Графический контекст.
- xfloat
-
Положение x текста в координатах отображения.
- yfloat
-
Положение базовой линии текста в координатах отображения.
- sstr
-
Строка текста.
-
prop
matplotlib.font_manager.FontProperties -
Свойства шрифта.
- anglefloat
-
Угол поворота в градусах против часовой стрелки.
-
mtext
matplotlib.text.Text -
Исходный объект текста для отображения.
Примечания
Примечание для разработчиков бэкэндов:
При попытке определить, правильно ли вы получили прямоугольник ограничительной рамки (что необходимо для правильной работы компоновки и выравнивания текста), полезно изменить строку в файле text.py:
if 0: bbox_artist(self, renderer)
на if 1, и тогда прямоугольник ограничительной рамки будет отображаться вместе с текстом.
-
gc
-
get_canvas_width_height()[source] -
Возвращает ширину и высоту холста в координатах отображения.
-
get_content_extents()[source] -
[Устаревшее]
Примечания
Устарело начиная с версии 3.4:
-
get_text_width_height_descent(s, prop, ismath)[source] -
Возвращает ширину, высоту и спуск (смещение снизу до базовой линии) в координатах отображения для строки s со свойствами шрифта
FontPropertiesprop.
-
lock= <unlocked _thread.RLock object owner=0 count=0>
-
option_image_nocomposite()[source] -
Возвращает, следует ли пропустить композицию изображений Matplotlib.
Бэкэнды растровых изображений обычно должны возвращать False (чтобы уровень растрирования C заботился о композиции изображений); бэкэнды векторных изображений обычно должны возвращать
not rcParams["image.composite_image"].
-
-
option_scale_image()[source] -
Возвращает, поддерживаются ли произвольные аффинные преобразования в
draw_image()(True для большинства векторных бэкэндов).
-
points_to_pixels(points)[source] -
Преобразование единиц измерения в пиксели.
Вам нужно переопределить эту функцию (если ваш бэкенд не имеет разрешения dpi, например, postscript или svg). Некоторые системы обработки изображений предполагают некоторое значение для количества пикселей на дюйм:
points to pixels = points * pixels_per_inch/72 * dpi/72
Параметры: - pointsfloat или массив-подобный объект
-
число с плавающей точкой или массив NumPy чисел с плавающей точкой
Возвращает: - Точки, преобразованные в пиксели
-
restore_region(region, bbox=None, xy=None)[source] -
Восстановление сохраненной области. Если задан bbox (экземпляр BboxBase или его границы), восстанавливается только область, заданная этим bbox. xy (пара чисел с плавающей точкой) необязательно задаёт новую позицию (левый нижний угол исходной области, а не левый нижний угол 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()[source] -
Начало фильтрации. Просто создаёт новый холст (прежний сохраняется).
-
stop_filter(post_processing)[source] -
Сохранение графика на текущем холсте в виде изображения и применение функции post_processing.
- def post_processing(image, dpi):
- # ny, nx, depth = image.shape # изображение (массив NumPy) имеет RGBA каналы и имеет глубину 4. ... # создаёт новый массив new_image (4 канала, размер может быть # другим). Полученное изображение может иметь смещения от # левого нижнего угла исходного изображения return new_image, offset_x, offset_y
Сохранённый рендерер восстанавливается, и возвращаемое изображение от post_processing отображается (с помощью draw_image) на нём.
-
tostring_argb()[source]
-
tostring_rgb()[source]
-
tostring_rgba_minimized()[source] -
[Устарело]
Замечания
Устарело начиная с версии 3.4:
-
-
matplotlib.backends.backend_agg.get_hinting_flag()[source]
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/backend_agg_api.html