matplotlib.backends.backend_svg#

matplotlib.backends.backend_svg.FigureCanvas[source]#

别名 FigureCanvasSVG

class matplotlib.backends.backend_svg.FigureCanvasSVG(figure=None)[source]#

基类: FigureCanvasBase

draw()[source]#

渲染 Figure

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

filetypes = {'svg': '可缩放矢量图形', 'svgz': '可缩放矢量图形'}#
fixed_dpi = 72#
get_default_filetype()[source]#

返回由 rcParams["savefig.format"] 指定的默认savefig文件格式(默认:'png')。

返回的字符串不包含句点。此方法在仅支持单一文件类型的后端中被覆盖。

print_svg(filename, *, bbox_inches_restore=None, metadata=None)[source]#
参数:
filenamestr 或 类路径 或 类文件

输出目标;如果是一个字符串,将打开一个文件进行写入。

metadatadict[str, Any], optional

SVG文件中的元数据,定义为字符串、日期时间或字符串列表的键值对,例如:{'Creator': 'My software', 'Contributor': ['Me', 'My Friend'], 'Title': 'Awesome'}

标准键及其值类型为:

  • str: 'Coverage''Description''Format''Identifier''Language''Relation''Source''Title''Type'

  • str字符串列表: 'Contributor''Creator''Keywords''Publisher''Rights'

  • strdatedatetime相同类型元组: 'Date'。如果不是字符串,则会格式化为ISO 8601格式。

已为 'Creator''Date''Format''Type' 预定义了值。可以通过将它们设置为 None 来移除它们。

信息被编码为 Dublin Core Metadata

print_svgz(filename, **kwargs)[source]#
class matplotlib.backends.backend_svg.RendererSVG(width, height, svgwriter, basename=None, image_dpi=72, *, metadata=None)[source]#

基类: RendererBase

close_group(s)[source]#

关闭带有标签 *s* 的分组元素。

仅由 SVG 渲染器使用。

draw_gouraud_triangles(gc, triangles_array, colors_array, transform)[source]#

绘制一系列 Gouraud 三角形。

参数:
gcGraphicsContextBase

图形上下文。

triangles_array(N, 3, 2) 类数组

N个三角形的 (x, y) 点数组。

colors_array(N, 3, 4) 类数组

N个三角形每个点的 RGBA 颜色数组。

transformTransform

应用于点的仿射变换。

draw_image(gc, x, y, im, transform=None)[source]#

绘制 RGBA 图像。

参数:
gcGraphicsContextBase

带有裁剪信息的图形上下文。

x浮点数

从画布左侧开始的物理单位(即点或像素)距离。

y浮点数

从画布底部开始的物理单位(即点或像素)距离。

im(N, M, 4) array of numpy.uint8

RGBA 像素数组。

transformAffine2DBase

当且仅当具体后端被编写为 option_scale_image 返回 True,仿射变换(即 Affine2DBase可以传递给 draw_image。变换的平移向量以物理单位(即点或像素)给出。请注意,该变换不会覆盖xy,并且必须在通过xy平移结果之前应用(这可以通过将xy添加到由transform定义的平移向量中来完成)。

draw_markers(gc, marker_path, marker_trans, path, trans, rgbFace=None)[source]#

path 的每个顶点(不包括控制点)绘制一个标记。

基础(回退)实现会多次调用 draw_path。后端可能希望覆盖此方法,以便只绘制一次标记并多次重用它。

参数:
gcGraphicsContextBase

图形上下文。

marker_pathPath

标记的路径。

marker_transTransform

应用于标记的仿射变换。

pathPath

绘制标记的位置。

transTransform

应用于路径的仿射变换。

rgbFace颜色,可选
draw_path(gc, path, transform, rgbFace=None)[source]#

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

draw_path_collection(gc, master_transform, paths, all_transforms, offsets, offset_trans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position)[source]#

绘制一组 paths

每个路径首先由 all_transforms 中的相应条目(一个 (3, 3) 矩阵列表)变换,然后由 master_transform 变换。然后,它们再由 offsets 中的相应条目平移,该偏移量首先由 offset_trans 变换。

facecolorsedgecolorslinewidthslinestylesantialiased 是设置相应属性的列表。

offset_position 现在未使用,但参数保留是为了向后兼容。

基础(回退)实现会多次调用 draw_path。后端可能希望覆盖此方法,以便只渲染每组路径数据一次,然后使用不同的偏移量、颜色、样式等多次引用该路径。生成器方法 _iter_collection_raw_paths_iter_collection 用于帮助(并标准化)跨后端的实现。强烈建议使用这些生成器,以便对 draw_path_collection 的行为进行全局更改。

draw_text(gc, x, y, s, prop, angle, ismath=False, mtext=None)[source]#

绘制文本实例。

参数:
gcGraphicsContextBase

图形上下文。

x浮点数

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

y浮点数

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

sstr

文本字符串。

propFontProperties

字体属性。

angle浮点数

逆时针旋转角度(度)。

ismath布尔值 或 "TeX"

如果为 True,则使用 mathtext 解析器。

mtextText

要渲染的原始文本对象。

备注

后端实现者注意事项

RendererBase.draw_text 也支持将“TeX”传递给ismath参数以使用TeX渲染,但实际的渲染后端不需要这样做,实际上许多内置后端也不支持。相反,TeX渲染由 draw_tex 提供。

finalize()[source]#
flipy()[source]#

返回 y 值是否从上到下递增。

请注意,这仅影响文本的绘制。

get_canvas_width_height()[source]#

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

get_image_magnification()[source]#

获取传递给 draw_image 的图像的放大因子。允许后端具有与其他 Artist 不同的图像分辨率。

get_text_width_height_descent(s, prop, ismath)[source]#

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

字符串 s 开头和结尾的空白字符包含在报告的宽度中。

open_group(s, gid=None)[source]#

打开一个分组元素,其标签为 s,ID 为 gid(如果已设置)。

仅由 SVG 渲染器使用。

option_image_nocomposite()[source]#

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

栅格后端通常应返回False(让C级栅格化器处理图像合成);矢量后端通常应返回 not rcParams["image.composite_image"]

option_scale_image()[source]#

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

class matplotlib.backends.backend_svg.XMLWriter(file)[source]#

基类: object

参数:
file可写入的文本文件类对象
close(id)[source]#

关闭开放元素,直到(并包括)由给定标识符标识的元素。

参数:
id

元素标识符,由 start() 方法返回。

comment(comment)[source]#

向输出流添加注释。

参数:
commentstr

注释文本。

data(text)[source]#

向输出流添加字符数据。

参数:
textstr

字符数据。

element(tag, text=None, attrib={}, **extra)[source]#

添加一个完整的元素。这与依次调用 start()data()end() 的效果相同。text 参数可以省略。

end(tag=None, indent=True)[source]#

关闭当前元素(由最近一次调用 start() 打开)。

参数:
tag

元素标签。如果给定,标签必须与起始标签匹配。如果省略,则关闭当前元素。

indentbool, 默认:True
flush()[source]#

刷新输出流。

start(tag, attrib={}, **extra)[source]#

打开一个新元素。属性可以作为关键字参数,或作为字符串/字符串字典给出。该方法返回一个不透明标识符,可以传递给 close() 方法,以关闭所有打开的元素,包括此元素。

参数:
tag

元素标签。

attrib

属性字典。或者,属性可以作为关键字参数给出。

返回:
一个元素标识符。