matplotlib.backends.backend_agg
#
一个 Anti-Grain Geometry (AGG) 后端。
已实现的特性
笔帽样式和连接样式
虚线样式
线宽
线条、矩形、椭圆
裁剪到矩形
输出为RGBA和Pillow支持的图像格式
Alpha混合
DPI正确缩放 - 所有内容(虚线样式、线宽等)都正确缩放
绘制多边形
freetype2 与 ft2font
待办事项
整合屏幕DPI与PPI和文本
- matplotlib.backends.backend_agg.FigureCanvas[source]#
FigureCanvasAgg
的别名
- 类 matplotlib.backends.backend_agg.FigureCanvasAgg(figure=None)[source]#
基类:
FigureCanvasBase
- buffer_rgba()[source]#
将图像作为
memoryview
获取到渲染器的缓冲区。draw
必须至少调用一次,此函数才能正常工作并更新渲染器以适应图形的任何后续更改。
- draw()[source]#
渲染
Figure
。此方法必须遍历 Artist 树,即使没有产生输出,因为它会触发用户在将输出保存到磁盘之前可能希望访问的延迟工作。例如,计算限制、自动限制和刻度值。
- print_jpeg(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]#
将图形写入JPEG文件。
- 参数:
- filename_or_objstr 或 path-like 或 file-like
要写入的文件。
- pil_kwargs字典,可选
保存图形时传递给
PIL.Image.Image.save
的其他关键字参数。
- print_jpg(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]#
将图形写入JPEG文件。
- 参数:
- filename_or_objstr 或 path-like 或 file-like
要写入的文件。
- pil_kwargs字典,可选
保存图形时传递给
PIL.Image.Image.save
的其他关键字参数。
- print_png(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]#
将图形写入PNG文件。
- 参数:
- filename_or_objstr 或 path-like 或 file-like
要写入的文件。
- metadata字典,可选
PNG文件中的元数据为字节或latin-1编码字符串的键值对。根据PNG规范,键的长度必须小于79个字符。
PNG规范 定义了一些可能适用的常见关键字
Title: 图像的短(一行)标题或说明。
Author: 图像创建者的姓名。
Description: 图像描述(可能很长)。
Copyright: 版权声明。
Creation Time: 原始图像创建时间(通常为RFC 1123格式)。
Software: 用于创建图像的软件。
Disclaimer: 法律免责声明。
Warning: 内容性质警告。
Source: 用于创建图像的设备。
Comment: 杂项注释;从其他图像格式转换而来。
可以为其他目的创建其他关键字。
如果未提供 'Software',将使用Matplotlib自动生成的值。通过将其设置为 None 可以删除此值。
更多详情请参见 PNG规范。
- pil_kwargs字典,可选
传递给
PIL.Image.Image.save
的关键字参数。如果存在 'pnginfo' 键,它将完全覆盖 metadata,包括默认的 'Software' 键。
- print_tif(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]#
将图形写入TIFF文件。
- 参数:
- filename_or_objstr 或 path-like 或 file-like
要写入的文件。
- pil_kwargs字典,可选
保存图形时传递给
PIL.Image.Image.save
的其他关键字参数。
- print_tiff(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]#
将图形写入TIFF文件。
- 参数:
- filename_or_objstr 或 path-like 或 file-like
要写入的文件。
- pil_kwargs字典,可选
保存图形时传递给
PIL.Image.Image.save
的其他关键字参数。
- print_webp(filename_or_obj, *, metadata=None, pil_kwargs=None)[source]#
将图形写入WebP文件。
- 参数:
- filename_or_objstr 或 path-like 或 file-like
要写入的文件。
- pil_kwargs字典,可选
保存图形时传递给
PIL.Image.Image.save
的其他关键字参数。
- 类 matplotlib.backends.backend_agg.RendererAgg(width, height, dpi)[source]#
基类:
RendererBase
该渲染器处理所有绘制基元,使用控制颜色/样式的图形上下文实例
- draw_mathtext(gc, x, y, s, prop, angle)[source]#
使用
matplotlib.mathtext
绘制数学文本。
- draw_tex(gc, x, y, s, prop, angle, *, mtext=None)[source]#
绘制一个 TeX 实例。
- 参数:
- gc
GraphicsContextBase
图形上下文。
- x浮点数
文本在显示坐标中的 x 位置。
- y浮点数
文本基线在显示坐标中的 y 位置。
- sstr
TeX 文本字符串。
- prop
FontProperties
字体属性。
- angle浮点数
逆时针旋转角度(度)。
- mtext
Text
要渲染的原始文本对象。
- gc
- draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[source]#
绘制文本实例。
- 参数:
- gc
GraphicsContextBase
图形上下文。
- x浮点数
文本在显示坐标中的 x 位置。
- y浮点数
文本基线在显示坐标中的 y 位置。
- sstr
文本字符串。
- prop
FontProperties
字体属性。
- angle浮点数
逆时针旋转角度(度)。
- ismath布尔值 或 "TeX"
如果为 True,则使用 mathtext 解析器。
- mtext
Text
要渲染的原始文本对象。
- gc
备注
后端实现者注意事项
RendererBase.draw_text
还支持将“TeX”传递给 ismath 参数以使用TeX渲染,但这对于实际的渲染后端不是必需的,并且许多内置后端确实不支持此功能。相反,TeX渲染由draw_tex
提供。
- get_text_width_height_descent(s, prop, ismath)[source]#
获取字符串 s 的宽度、高度和下降(从底部到基线的偏移量),在显示坐标中,使用
FontProperties
prop。字符串 s 开头和结尾的空白字符包含在报告的宽度中。
- option_image_nocomposite()[source]#
返回是否应跳过Matplotlib的图像合成。
栅格后端通常应返回False(让C级光栅化器处理图像合成);矢量后端通常应返回
not rcParams["image.composite_image"]
。
- points_to_pixels(points)[source]#
将点转换为显示单位。
你需要重写此函数(除非你的后端没有DPI,例如postscript或svg)。一些成像系统假定每英寸像素的某个值
points to pixels = points * pixels_per_inch/72 * dpi/72
- 参数:
- points浮点数或类数组
- 返回:
- 转换为像素的点
- 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))
- 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)会绘制在其上。