matplotlib.backends.backend_agg

agg 后端。

实现的功能:

  • CapStyles和Join Styles
  • 破折号
  • 线宽
  • 线条、矩形、椭圆
  • 剪切到矩形
  • 输出为RGBA和枕头支持的图像格式
  • 阿尔法混合
  • DPI缩放正确-所有内容都缩放正确(虚线、线宽等)
  • 绘制多边形
  • 自由类型2 W/FT2FONT

TODO:

  • 集成屏幕dpi w/ppi和文本
matplotlib.backends.backend_agg.FigureCanvas

alias of matplotlib.backends.backend_agg.FigureCanvasAgg

class matplotlib.backends.backend_agg.FigureCanvasAgg(figure)[源代码]

基类:matplotlib.backend_bases.FigureCanvasBase

buffer_rgba()[源代码]

将图像作为 memoryview 到渲染器的缓冲区。

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

copy_from_bbox(bbox)[源代码]
draw()[源代码]

渲染 Figure .

get_renderer(cleared=False)[源代码]
print_jpeg(filename_or_obj, *args, dryrun=<deprecated parameter>, pil_kwargs=None, **kwargs)

将图形写入jpeg文件。

参数:
filename_or_objstr或path like或file like

要写入的文件。

其他参数:
**** : int, default: rcParams["savefig.jpeg_quality"] (default: 95)int,默认值:

图像质量,从1(最差)到95(最佳)。应该避免95以上的值;100会禁用JPEG压缩算法的某些部分,并导致大文件的图像质量几乎没有任何提高。此参数已弃用。

optimizebool,默认值:False

编码器是否应该对图像进行额外的传递,以便选择最佳编码器设置。此参数已弃用。

progressivebool,默认值:False

是否应将图像存储为渐进式JPEG文件。此参数已弃用。

pil_kwargs可选的

传递给的其他关键字参数 PIL.Image.Image.save 当保存图形时。这些优先于 ** , 优化进步的 .

print_jpg(filename_or_obj, *args, dryrun=<deprecated parameter>, pil_kwargs=None, **kwargs)[源代码]

将图形写入jpeg文件。

参数:
filename_or_objstr或path like或file like

要写入的文件。

其他参数:
**** : int, default: rcParams["savefig.jpeg_quality"] (default: 95)int,默认值:

图像质量,从1(最差)到95(最佳)。应该避免95以上的值;100会禁用JPEG压缩算法的某些部分,并导致大文件的图像质量几乎没有任何提高。此参数已弃用。

optimizebool,默认值:False

编码器是否应该对图像进行额外的传递,以便选择最佳编码器设置。此参数已弃用。

progressivebool,默认值:False

是否应将图像存储为渐进式JPEG文件。此参数已弃用。

pil_kwargs可选的

传递给的其他关键字参数 PIL.Image.Image.save 当保存图形时。这些优先于 ** , 优化进步的 .

print_png(filename_or_obj, *args, metadata=None, pil_kwargs=None)[源代码]

将图形写入PNG文件。

参数:
filename_or_objstr或path like或file like

要写入的文件。

metadata可选的

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

这个 PNG specification 定义一些可以适当使用的常用关键字:

  • 标题:图像的短(一行)标题或标题。
  • 作者:图像创建者的名字。
  • 描述:图像描述(可能很长)。
  • 版权:版权声明。
  • 创建时间:原始图像创建的时间(通常为RFC 1123格式)。
  • 软件:用于创建图像的软件。
  • 免责声明:法律免责声明。
  • 警告:内容性质警告。
  • 源:用于创建图像的设备。
  • 注释:其他注释;从其他图像格式转换。

其他关键字也可以被发明用于其他目的。

如果未给出“Software”,则将使用Matplotlib的自动生成值。可以通过将其设置为 None .

有关更多详细信息,请参阅 PNG specification .

pil_kwargs可选的

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

如果存在“pnginfo”键,它将完全重写 元数据 ,包括默认的“软件”键。

print_raw(filename_or_obj, *args)[源代码]
print_rgba(filename_or_obj, *args)
print_tif(filename_or_obj, *, dryrun=<deprecated parameter>, pil_kwargs=None)[源代码]
print_tiff(filename_or_obj, *, dryrun=<deprecated parameter>, pil_kwargs=None)
print_to_buffer()[源代码]
restore_region(region, bbox=None, xy=None)[源代码]
tostring_argb()[源代码]

获取图像为ARGB bytes .

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

tostring_rgb()[源代码]

以RGB格式获取图像 bytes .

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

class matplotlib.backends.backend_agg.RendererAgg(width, height, dpi)[源代码]

基类:matplotlib.backend_bases.RendererBase

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

buffer_rgba()[源代码]
clear()[源代码]
draw_mathtext(gc, x, y, s, prop, angle)[源代码]

使用绘制mathtext matplotlib.mathtext .

draw_path(gc, path, transform, rgbFace=None)[源代码]

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

draw_path_collection(gc, master_transform, paths, all_transforms, offsets, offsetTrans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position)[源代码]

从列表中选择图形特性绘制路径集合 脸色绿色染料线宽度直线运动抗混叠剂 . 偏移量 是要应用于每个路径的偏移列表。中的偏移量 偏移量 首先被 抵销交易 在应用之前。

offset_position 可以是“屏幕”或“数据”,具体取决于偏移所处的空间;“数据”已弃用。

这提供了 draw_path_collection() 打了多次电话给 draw_path() . 有些后端可能希望重写此项,以便只渲染一次每个路径数据集,然后使用不同的偏移量、颜色、样式等多次引用该路径。生成器方法 _iter_collection_raw_paths()_iter_collection() 旨在帮助(和标准化)跨后端的实现。强烈建议使用这些生成器,以便更改 draw_path_collection() 可以在全球范围内生产。

draw_tex(gc, x, y, s, prop, angle, ismath=<deprecated parameter>, mtext=None)[源代码]
draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[源代码]

绘制文本实例。

参数:
gcGraphicsContextBaseGraphicsContextBase

图形上下文。

x浮动

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

y浮动

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

sSTR

文本字符串。

propmatplotlib.font_manager.FontPropertiesmatplotlib.font_manager.FontProperties

字体属性。

angle浮动

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

多行文本matplotlib.text.Textmatplotlib.text.Text

要呈现的原始文本对象。

笔记

后端实现者注意:

当您试图确定边界框是否正确时(这是使文本布局/对齐方式正常工作的原因),它有助于更改文本中的线条。py::

if 0: bbox_artist(self, renderer)

如果为1,则实际边界框将与文本一起打印。

get_canvas_width_height()[源代码]

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

get_text_width_height_descent(s, prop, ismath)[源代码]

Get the width, height, and descent (offset from the bottom to the baseline), in display coords, of the string s with FontProperties prop.

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(points)[源代码]

将点转换为显示单位。

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

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

浮点数或浮点数数组

返回:
转换为像素的点
restore_region(region, bbox=None, xy=None)[源代码]

恢复保存的区域。如果给定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后处理(图像,dpi):
#ny,nx,depth=image.shape image(numpy数组)有rgba通道,深度为4。…#创建一个新的图像(4个通道的numpy数组,大小可以不同)。生成的图像可能与原始图像的左下角有偏移,返回新的图像,偏移量x,偏移量y

保存的渲染器将被还原,并在其上绘制(使用绘制图像)后处理返回的图像。

tostring_argb()[源代码]
tostring_rgb()[源代码]
tostring_rgba_minimized()[源代码]
matplotlib.backends.backend_agg.get_hinting_flag()[源代码]