matplotlib.backends.backend_agg
Backend на основе Anti-Grain Geometry (AGG).
Реализованные функции:
- стили обводки и соединения
- штриховка
- ширина линии
- линии, прямоугольники, эллипсы
- обрезка до прямоугольника
- вывод в форматы RGBA и поддерживаемые Pillow изображения
- альфа-смешивание
- правильное масштабирование DPI - всё масштабируется правильно (штриховка, ширина линий и т. д.)
- рисование многоугольника
- freetype2 с ft2font
Ещё предстоит сделать:
- интеграция dpi экрана с ppi и текстом
- matplotlib.backends.backend_agg.FigureCanvas[source]
-
Псевдоним для
FigureCanvasAgg
- classmatplotlib.backends.backend_agg.FigureCanvasAgg(figure=None)[source]
-
Базы:
FigureCanvasBase- buffer_rgba()[source]
-
Получить изображение как
memoryviewв буфере рендерера.drawдолжен быть вызван хотя бы один раз, прежде чем эта функция будет работать, и для обновления рендерера для любых последующих изменений в Figure.
- copy_from_bbox(bbox)[source]
- draw()[source]
-
Отобразить
Figure.Этот метод должен пройти по дереву элементов, даже если вывод не создается, потому что он запускает отложенную работу, к которой пользователи могут захотеть получить доступ перед сохранением вывода на диск. Например, вычисление пределов, автоматических пределов и значений меток.
- get_renderer()[source]
- print_jpeg(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]
-
Сохранить рисунок в файл JPEG.
- Параметры:
-
- filename_or_objstr или path-like или file-like
-
Файл для записи.
- pil_kwargsdict, необязательно
-
Дополнительные ключевые аргументы, которые передаются в
PIL.Image.Image.saveпри сохранении рисунка.
- print_jpg(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]
-
Сохранить рисунок в файл JPEG.
- Параметры:
-
- filename_or_objstr или path-like или file-like
-
Файл для записи.
- pil_kwargsdict, необязательно
-
Дополнительные ключевые аргументы, которые передаются в
PIL.Image.Image.saveпри сохранении рисунка.
- print_png(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]
-
Сохранить рисунок в файл PNG.
- Параметры:
-
- filename_or_objstr или path-like или file-like
-
Файл для записи.
- metadatadict, необязательно
-
Метаданные в файле PNG в виде пар ключ-значение байтов или строк, которые можно закодировать в латин-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, *, metadata=None)[source]
- print_rgba(filename_or_obj, *, metadata=None)[source]
- print_tif(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]
-
Сохранить рисунок в файл TIFF.
- Параметры:
-
- filename_or_objstr или path-like или file-like
-
Файл для записи.
- pil_kwargsdict, необязательно
-
Дополнительные ключевые аргументы, которые передаются в
PIL.Image.Image.saveпри сохранении рисунка.
- print_tiff(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]
-
Записать рисунок в файл TIFF.
- Параметры:
-
- filename_or_objстрока или путь или файлоподобный объект
-
Файл для записи.
- pil_kwargsсловарь, необязательно
-
Дополнительные ключевые аргументы, которые передаются в
PIL.Image.Image.saveпри сохранении рисунка.
- print_to_buffer()[source]
- print_webp(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]
-
Записать рисунок в файл WebP.
- Параметры:
-
- filename_or_objстрока или путь или файлоподобный объект
-
Файл для записи.
- pil_kwargsсловарь, необязательно
-
Дополнительные ключевые аргументы, которые передаются в
PIL.Image.Image.saveпри сохранении рисунка.
- restore_region(region, bbox=None, xy=None)[source]
- tostring_argb()[source]
-
Получить изображение в формате ARGB
bytes.drawдолжно быть вызвано хотя бы один раз перед тем, как эта функция будет работать и обновить рендерер для любых последующих изменений в Figure.
- tostring_rgb()[source]
-
[Устаревшее] Получить изображение в формате RGB
bytes.drawдолжно быть вызвано хотя бы один раз перед тем, как эта функция будет работать и обновить рендерер для любых последующих изменений в Figure.Примечания
Устарело начиная с версии 3.8: Используйте buffer_rgba вместо этого.
- classmatplotlib.backends.backend_agg.RendererAgg(width, height, dpi)[source]
-
Основы:
RendererBaseОтрисовщик обрабатывает все примитивы рисования с использованием экземпляра контекста графики, который управляет цветами/стилями
- buffer_rgba()[source]
- clear()[source]
- draw_mathtext(gc, x, y, s, prop, angle)[source]
-
Отрисовка математического текста с использованием
matplotlib.mathtext.
- draw_path(gc, path, transform, rgbFace=None)[source]
-
Отрисовка экземпляра
Pathс использованием заданного аффинного преобразования.
- draw_tex(gc, x, y, s, prop, angle, *, mtext=None)[source]
-
Отрисовка экземпляра TeX.
- Параметры:
-
-
gc
GraphicsContextBase -
Контекст графики.
- xfloat
-
Положение x текста в координатах отображения.
- yfloat
-
Положение y базовой линии текста в координатах отображения.
- sstr
-
Строка текста TeX.
-
prop
FontProperties -
Свойства шрифта.
- anglefloat
-
Угол поворота в градусах против часовой стрелки.
-
mtext
Text -
Исходный объект текста для отрисовки.
-
gc
- draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[source]
-
Отрисовка экземпляра текста.
- Параметры:
-
-
gc
GraphicsContextBase -
Контекст графики.
- xfloat
-
Положение x текста в координатах отображения.
- yfloat
-
Положение y базовой линии текста в координатах отображения.
- sstr
-
Строка текста.
-
prop
FontProperties -
Свойства шрифта.
- anglefloat
-
Угол поворота в градусах против часовой стрелки.
- ismathbool or "TeX"
-
Если True, используется парсер mathtext. Если "TeX", используется tex для отрисовки.
-
mtext
Text -
Исходный объект текста для отрисовки.
-
gc
Примечания
Примечание для реализаторов бэкенда:
При попытке определить, правильно ли вы рассчитали прямоугольник, что позволяет правильно расположить и выровнять текст, полезно изменить строку в файле text.py:
if 0: bbox_artist(self, renderer)
на if 1, и тогда фактический прямоугольник будет нарисован вместе с текстом.
- get_canvas_width_height()[source]
-
Возвращает ширину и высоту холста в координатах отображения.
- get_text_width_height_descent(s, prop, ismath)[source]
-
Получает ширину, высоту и спуск (смещение снизу до базовой линии) строки s со свойствами шрифта
FontPropertiesprop в координатах отображения.Пробелы в начале и конце s включены в вычисленную ширину.
- 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 или массив-подобный объект
- Возвращаемое значение:
-
- Точки, преобразованные в пиксели
- 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 # image (numpy array) has RGBA channels and has a depth of 4. ... # create a new_image (numpy array of 4 channels, size can be # different). The resulting image may have offsets from # lower-left corner of the original image return new_image, offset_x, offset_y
Сохранённый рендерер восстанавливается, и возвращаемое изображение из post_processing выводится на нём (с использованием draw_image).
- tostring_argb()[source]
- tostring_rgb()[source]
-
[Устаревшее]
Примечания
Устарело начиная с версии 3.8: Используйте вместо этого buffer_rgba.
- matplotlib.backends.backend_agg.get_hinting_flag()[source]
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/backend_agg_api.html