backend_agg#

粒度几何(AGG) 后端。

实现的功能:

  • 帽子样式和连接样式

  • 破折号

  • 行宽

  • 直线、矩形、椭圆

  • 剪裁成一个矩形

  • 输出为 RGBA 和 Pillow 支持的图像格式

  • 阿尔法混合

  • DPI 正确缩放 - 一切都正确缩放(破折号、线宽等)

  • 绘制多边形

  • freetype2 w/ft2font

仍然待办事项:

  • 集成屏幕 dpi w/ppi 和文本

matplotlib.backends.backend_agg。FigureCanvas [来源] #

的别名FigureCanvasAgg

matplotlib.backends.backend_agg。FigureCanvasAgg ( figure = None ) [来源] #

基地:FigureCanvasBase

buffer_rgba ( ) [来源] #

获取图像作为memoryview渲染器的缓冲区。

draw必须在此函数工作之前至少调用一次,并更新渲染器以对图形进行任何后续更改。

copy_from_bbox ( bbox ) [来源] #
绘制( ) [来源] #

渲染Figure.

即使没有产生输出,此方法也必须遍历艺术家树,因为它会触发用户在将输出保存到磁盘之前可能想要访问的延迟工作。例如计算限制、自动限制和刻度值。

get_renderer ( cleared=<deprecated parameter> ) [source] #
print_jpeg ( filename_or_obj , * args , pil_kwargs = None ) [来源] #

将图形写入 JPEG 文件。

参数
filename_or_obj str or path-like or file-like

要写入的文件。

pil_kwargs字典,可选

PIL.Image.Image.save保存图窗时传递给的其他关键字参数 。

print_jpg ( filename_or_obj , * args , pil_kwargs = None ) [来源] #

将图形写入 JPEG 文件。

参数
filename_or_obj str or path-like or file-like

要写入的文件。

pil_kwargs字典,可选

PIL.Image.Image.save保存图窗时传递给的其他关键字参数 。

print_png ( filename_or_obj , * args , metadata = None , pil_kwargs = None ) [source] #

将图形写入 PNG 文件。

参数
filename_or_obj str or path-like or file-like

要写入的文件。

元数据字典,可选

PNG 文件中的元数据作为字节键值对或 latin-1 可编码字符串。根据 PNG 规范,密钥必须少于 79 个字符。

PNG 规范定义了一些可以酌情使用的常用关键字:

  • 标题:图像的短(一行)标题或标题。

  • 作者:图像创建者的姓名。

  • 描述:图像描述(可能很长)。

  • 版权:版权声明。

  • 创建时间:原始图像创建时间(通常为 RFC 1123 格式)。

  • 软件:用于创建图像的软件。

  • 免责声明:法律免责声明。

  • 警告:内容性质的警告。

  • 来源:用于创建图像的设备。

  • 评论:杂项评论;从其他图像格式转换。

可以为其他目的发明其他关键字。

如果未给出“软件”,则将使用 Matplotlib 的自动生成值。这可以通过将其设置为None来删除。

有关更多详细信息,请参阅PNG 规范

pil_kwargs字典,可选

关键字参数传递给PIL.Image.Image.save.

如果存在 'pnginfo' 键,它会完全覆盖 metadata,包括默认的 'Software' 键。

print_raw ( filename_or_obj , * args ) [来源] #
print_rgba ( filename_or_obj , * args ) [来源] #
print_tif ( filename_or_obj , * , pil_kwargs = None ) [来源] #

将图形写入 TIFF 文件。

参数
filename_or_obj str or path-like or file-like

要写入的文件。

pil_kwargs字典,可选

PIL.Image.Image.save保存图窗时传递给的其他关键字参数 。

print_tiff ( filename_or_obj , * , pil_kwargs = None ) [来源] #

将图形写入 TIFF 文件。

参数
filename_or_obj str or path-like or file-like

要写入的文件。

pil_kwargs字典,可选

PIL.Image.Image.save保存图窗时传递给的其他关键字参数 。

print_to_buffer ( ) [来源] #
print_webp ( filename_or_obj , * , pil_kwargs = None ) [来源] #

将图形写入 WebP 文件。

参数
filename_or_obj str or path-like or file-like

要写入的文件。

pil_kwargs字典,可选

PIL.Image.Image.save保存图窗时传递给的其他关键字参数 。

restore_region ( region , bbox = None , xy = None ) [source] #
tostring_argb ( ) [来源] #

获取图像为 ARGB bytes

draw必须在此函数工作之前至少调用一次,并更新渲染器以对图形进行任何后续更改。

tostring_rgb ( ) [来源] #

获取图像为 RGB bytes

draw必须在此函数工作之前至少调用一次,并更新渲染器以对图形进行任何后续更改。

matplotlib.backends.backend_agg。RendererAgg ( width , height , dpi ) [source] #

基地:RendererBase

渲染器使用控制颜色/样式的图形上下文实例处理所有绘图图元

buffer_rgba ( ) [来源] #
清除( ) [来源] #
draw_mathtext ( gc , x , y , s , prop , angle ) [来源] #

使用 绘制数学文本matplotlib.mathtext

draw_path ( gc , path , transform , rgbFace = None ) [source] #

Path使用给定的仿射变换绘制一个实例。

draw_tex ( gc , x , y , s , prop , angle , * , mtext = None ) [来源] #
draw_text ( gc , x , y , s , prop , angle , ismath = False , mtext = None ) [来源] #

绘制一个文本实例。

参数
GCGraphicsContextBase

图形上下文。

x浮动

显示坐标中文本的 x 位置。

y浮动

显示坐标中文本基线的 y 位置。

字符串_

文本字符串。

支柱matplotlib.font_manager.FontProperties

字体属性。

角度浮动

以度为单位的逆时针旋转角度。

多行文字matplotlib.text.Text

要渲染的原始文本对象。

笔记

后端实施者的注意事项:

当您尝试确定您的边界框是否正确(这使文本布局/对齐能够正常工作)时,它有助于更​​改 text.py 中的行:

if 0: bbox_artist(self, renderer)

到 if 1,然后实际的边界框将与您的文本一起绘制。

get_canvas_width_height ( ) [来源] #

以显示坐标返回画布宽度和高度。

get_text_width_height_descent ( s , prop , ismath ) [来源] #

使用 prop获取字符串s的显示坐标中的宽度、高度和下降(从底部到基线的偏移量)。FontProperties

lock = <unlocked _thread.RLock object owner=0 count=0> #
option_image_nocomposite ( ) [来源] #

返回是否应跳过 Matplotlib 的图像合成。

光栅后端通常应该返回 False(让 C 级光栅器负责图像合成);矢量后端通常应该返回.not rcParams["image.composite_image"]

option_scale_image ( ) [来源] #

返回是否支持任意仿射变换draw_image(对于大多数矢量后端为真)。

points_to_pixels () [来源] #

将点转换为显示单位。

您需要覆盖此函数(除非您的后端没有 dpi,例如 postscript 或 svg)。一些成像系统假定每英寸像素有一些值:

points to pixels = points * pixels_per_inch/72 * dpi/72
参数
浮点数或类似数组

一个浮点数或一个 numpy 浮点数数组

返回
点转换为像素
restore_region ( region , bbox = None , xy = None ) [source] #

恢复保存的区域。如果给定 bbox(BboxBase 的实例,或其范围),则仅恢复 bbox 指定的区域。xy(一对浮点数)可选地指定将恢复区域的新位置(原始区域的 LLC,而不是 bbox 的 LLC)。

>>> 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 ( ) [来源] #

开始过滤。它只是创建一个新画布(旧画布被保存)。

stop_filter ( post_processing ) [来源] #

将当前画布中的绘图保存为图像并应用post_processing功能。

def post_processing(图像,dpi):

# ny, nx, depth = image.shape # 图像(numpy 数组)具有 RGBA 通道,深度为 4。 ... # 创建一个 new_image(4 个通道的 numpy 数组,大小可以不同)。生成的图像可能与原始图像的左下角有偏移量 return new_image, offset_x, offset_y

保存的渲染器被恢复,并在其上绘制(使用 draw_image)从 post_processing 返回的图像。

tostring_argb ( ) [来源] #
tostring_rgb ( ) [来源] #
matplotlib.backends.backend_agg。get_hinting_flag ( ) [来源] #