matplotlib.backends.backend_svg#

matplotlib.backends.backend_svg.FigureCanvas[源代码]#

FigureCanvasSVG 的别名

class matplotlib.backends.backend_svg.FigureCanvasSVG(figure=None)[源代码]#

基类:FigureCanvasBase

draw()[源代码]#

渲染 Figure

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

filetypes = {'svg': 'Scalable Vector Graphics', 'svgz': 'Scalable Vector Graphics'}#
fixed_dpi = 72#
get_default_filetype()[源代码]#

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

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

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

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

metadatadict[str, Any], 可选

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

标准键及其值类型为:

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

  • strstr 列表: 'Contributor', 'Creator', 'Keywords', 'Publisher', 以及 'Rights'

  • str, date, datetime, 或上述类型的 tuple: 'Date'。如果非 str,则会将其格式化为 ISO 8601。

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

信息按 Dublin Core Metadata(都柏林核心元数据) 编码。

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

基类:RendererBase

close_group(s)[源代码]#

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

仅由 SVG 渲染器使用。

draw_gouraud_triangles(gc, triangles_array, colors_array, transform)[源代码]#

绘制一系列 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)[源代码]#

绘制 RGBA 图像。

参数:
gcGraphicsContextBase

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

x浮点数

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

y浮点数

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

im(N, M, 4) 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)[源代码]#

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

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

参数:
gcGraphicsContextBase

图形上下文。

marker_pathPath

标记的路径。

marker_transTransform

应用于标记的仿射变换。

pathPath

绘制标记的位置。

transTransform

应用于路径的仿射变换。

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

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

draw_path_collection(gc, master_transform, paths, all_transforms, offsets, offset_trans, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position, *, hatchcolors=None)[源代码]#

绘制一组 paths

每条路径首先由 all_transforms(一个 (3, 3) 矩阵列表)中的对应项进行变换,然后由 master_transform 进行变换。接着,它们会根据 offsets 中的对应项进行平移,这些位移量已预先由 offset_trans 变换过。

facecolorsedgecolorslinewidthslinestylesantialiasedhatchcolors 是用于设置相应属性的列表。

3.11 版本新增: 允许指定 hatchcolors

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

绘制文本实例。

参数:
gcGraphicsContextBase

图形上下文。

x浮点数

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

y浮点数

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

sstr

文本字符串。

propFontProperties

字体属性。

angle浮点数

逆时针旋转角度(度)。

ismath布尔值 或 "TeX"

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

mtextText

要渲染的原始文本对象。

备注

后端实现者注意事项

RendererBase.draw_text 也支持将 "TeX" 传递给 ismath 参数以使用 TeX 渲染,但这对实际的渲染后端来说不是必需的,事实上许多内置后端并不支持此功能。相反,TeX 渲染由 draw_tex 提供。

finalize()[源代码]#
flipy()[源代码]#

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

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

get_canvas_width_height()[源代码]#

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

get_image_magnification()[源代码]#

获取传递给 draw_image 的图像的放大倍数。允许后端使图像的分辨率与其他美工元素(artists)不同。

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

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

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

open_group(s, gid=None)[源代码]#

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

仅由 SVG 渲染器使用。

option_image_nocomposite()[源代码]#

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

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

option_scale_image()[源代码]#

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