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]
-
Bases:
FigureCanvasBase- buffer_rgba()[source]
-
Получить изображение в виде
memoryviewбуфера отрисовщика.drawнеобходимо вызвать как минимум один раз, прежде чем эта функция будет работать, и для обновления отрисовщика в случае последующих изменений фигуры.
- copy_from_bbox(bbox)[source]
- draw()[source]
-
Отобразить
Figure.Этот метод должен пройти по дереву художников, даже если вывод не производится, потому что он инициирует отложенную работу, к которой пользователи могут получить доступ перед сохранением вывода на диск. Например, вычисление пределов, автоматических пределов и значений делений.
- get_renderer(cleared=<deprecated parameter>)[source]
- print_jpeg(filename_or_obj, *, pil_kwargs=None)[source]
-
Записать фигуру в файл JPEG.
- Параметры:
-
- filename_or_objstr или path-like или file-like
-
Файл для записи.
- pil_kwargsdict, необязательно
-
Дополнительные ключевые аргументы, которые передаются в
PIL.Image.Image.saveпри сохранении фигуры.
- print_jpg(filename_or_obj, *, 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 определяет некоторые общие ключевые слова, которые могут быть использованы по мере необходимости:
- Название: короткое (одна строка) название или подпись для изображения.
- Автор: имя создателя изображения.
- Описание: описание изображения (возможно длинное).
- Авторские права: уведомление об авторских правах.
- Время создания: время создания исходного изображения (обычно в формате RFC 1123).
- Программное обеспечение: программное обеспечение, использованное для создания изображения.
- Отказ от ответственности: правовой отказ от ответственности.
- Предупреждение: предупреждение о характере содержимого.
- Источник: устройство, используемое для создания изображения.
- Комментарий: разные комментарии; преобразование из другого формата изображения.
Другие ключевые слова могут быть придуманы для других целей.
Если 'Software' не указан, будет использовано автоматически сгенерированное значение для Matplotlib. Его можно удалить, установив значение None.
Для получения дополнительной информации обратитесь к спецификации PNG.
- pil_kwargsdict, необязательно
-
Ключевые аргументы, передаваемые в
PIL.Image.Image.save.Если ключ 'pnginfo' присутствует, он полностью заменяет metadata, включая значение ключа 'Software' по умолчанию.
- print_raw(filename_or_obj)[source]
- print_rgba(filename_or_obj)[source]
- print_tif(filename_or_obj, *, pil_kwargs=None)[source]
-
Записать фигуру в TIFF-файл.
- Параметры:
-
- filename_or_objstr или path-like или file-like
-
Файл для записи.
- pil_kwargsdict, необязательно
-
Дополнительные ключевые аргументы, которые передаются в
PIL.Image.Image.saveпри сохранении фигуры.
- print_tiff(filename_or_obj, *, pil_kwargs=None)[source]
-
Запись рисунка в файл TIFF.
- Параметры:
-
- filename_or_objстрока или объект пути или объект файла
-
Файл для записи.
- pil_kwargsсловарь, необязательно
-
Дополнительные ключевые аргументы, которые передаются в
PIL.Image.Image.saveпри сохранении рисунка.
- print_to_buffer()[source]
- print_webp(filename_or_obj, *, pil_kwargs=None)[source]
-
Запись рисунка в файл WebP.
- Параметры:
-
- filename_or_objстрока или объект пути или объект файла
-
Файл для записи.
- pil_kwargsсловарь, необязательно
-
Дополнительные ключевые аргументы, которые передаются в
PIL.Image.Image.saveпри сохранении рисунка.
- restore_region(region, bbox=None, xy=None)[source]
- classmatplotlib.backends.backend_agg.RendererAgg(width, height, dpi)[source]
-
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_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 или "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 в координатах отображения.
- 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 или array-like
-
число с плавающей точкой или массив 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. ... # создание нового изображения (массив numpy из 4 каналов, размер может быть # другим). Результирующее изображение может иметь смещения от # левого нижнего угла исходного изображения return new_image, offset_x, offset_y
Сохранённый рендерер восстанавливается, и возвращаемое изображение из post_processing отображается (с помощью draw_image) на нём.
- tostring_argb()[source]
- tostring_rgb()[source]
- 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.7.5/api/backend_agg_api.html