backend_template
#
一个功能齐全、无所事事的后端,旨在作为后端编写者的模板。它功能齐全,您可以选择它作为后端,例如
import matplotlib
matplotlib.use("template")
并且您的程序将(应该!)运行而不会出错,尽管不会产生任何输出。这为后端编写者提供了一个起点;您可以有选择地实现绘图方法(draw_path
、
draw_image
等)并慢慢看到您的图形变得栩栩如生,而不是在获得任何结果之前必须有一个完整的实现。
将此文件复制到 Matplotlib 源代码树之外的目录中,Python 可以在其中导入它(通过将目录添加到您的目录sys.path
或将其打包为普通 Python 包);如果后端是可导入的,
那么您可以使用import my.backend
import matplotlib
matplotlib.use("module://my.backend")
如果您的后端实现了对保存数字的支持(即有一个print_xyz
方法),您可以将其注册为给定文件类型的默认处理程序:
from matplotlib.backend_bases import register_backend
register_backend('xyz', 'my_backend', 'XYZ File Format')
...
plt.savefig("figure.xyz")
- 类 matplotlib.backends.backend_template。FigureCanvasTemplate ( figure = None ) [source] #
-
图形渲染到的画布。调用 draw 和 print fig 方法,创建渲染器等。
注意:GUI 模板需要将按钮按下、鼠标移动和按键按下的事件连接到调用基类方法 button_press_event、button_release_event、motion_notify_event、key_press_event 和 key_release_event 的函数。有关示例,请参阅交互式后端的实现。
- 属性:
- 数字
matplotlib.figure.Figure
高级 Figure 实例
- 数字
- filetypes = {'eps': 'Encapsulated Postscript', 'foo': 'My magic Foo format', 'jpeg': '联合摄影专家组', 'jpg': '联合摄影专家组', 'pdf': ' Portable Document Format', 'pgf': 'PGF code for LaTeX', 'png': 'Portable Network Graphics', 'ps': 'Postscript', 'raw': '原始RGBA位图', 'rgba': '原始RGBA位图', 'svg': '可缩放 矢量 图形', 'svgz': '可缩放 矢量 图形', 'tif': '标记 图像 文件 格式', 'tiff': '标记 图像 文件 格式', 'webp': 'WebP 图像 格式'} #
- get_default_filetype ( ) [来源] #
rcParams["savefig.format"]
返回在(默认值:)中指定的默认 savefig 文件格式'png'
。返回的字符串不包含句点。此方法在仅支持单一文件类型的后端被覆盖。
- print_foo (文件名, * args , ** kwargs ) [来源] #
写出格式 foo.
此方法通常通过
Figure.savefig
and 调用FigureCanvasBase.print_figure
,它负责将图形 facecolor、edgecolor 和 dpi 设置为所需的输出值,并将它们恢复为原始值。因此,print_foo
不需要处理这些设置。
- 类 matplotlib.backends.backend_template。FigureManagerTemplate ( canvas , num ) [source] #
-
pyplot 模式的助手类,将所有内容打包成一个整洁的包。
对于非交互式后端,基类就足够了。
- 类 matplotlib.backends.backend_template。GraphicsContextTemplate [来源] #
-
图形上下文提供颜色、线条样式等。有关将图形上下文属性(帽样式、连接样式、线宽、颜色)映射到特定后端的示例,请参见 cairo 和 postscript 后端。在 cairo 中,这是通过包装 cairo.Context 对象并使用字典映射样式到 gdk 常量将适当的调用转发给它来完成的。在 Postscript 中,所有工作都由渲染器完成,将线条样式映射到 postscript 调用。
如果在渲染器级别(如在 postscript 后端)进行映射更合适,则不需要覆盖任何 GC 方法。如果包装一个实例(如在 cairo 后端)并在此处进行映射更合适,则需要覆盖几个 setter 方法。
基础 GraphicsContext 将颜色存储为单位间隔上的 RGB 元组,例如 (0.5, 0.0, 1.0)。您可能需要将其映射到适合您的后端的颜色。
- 类 matplotlib.backends.backend_template。RendererTemplate ( dpi ) [来源] #
基地:
RendererBase
渲染器处理绘图/渲染操作。
这是一个最小的无所事事类,可用于在编写新后端时开始使用。
backend_bases.RendererBase
有关方法的文档,请参阅。- draw_image ( gc , x , y , im ) [来源] #
绘制 RGBA 图像。
- 参数:
- GC
GraphicsContextBase
带有剪辑信息的图形上下文。
- x标量
距画布左侧的物理单位(即点或像素)的距离。
- y标量
距离画布底部的物理单位(即点或像素)的距离。
- im (N, M, 4) 类似于 np.uint8 的数组
一组 RGBA 像素。
- 转换
matplotlib.transforms.Affine2DBase
当且仅当具体后端被编写为
option_scale_image
返回True
时,仿射变换(即 anAffine2DBase
)可以传递给draw_image
。变换的平移向量以物理单位(即点或像素)给出。请注意,转换不会覆盖x和y,并且必须在通过x和y转换结果之前应用(这可以通过将x 和y添加到由transform定义的平移向量来完成)。
- GC
- draw_text ( gc , x , y , s , prop , angle , ismath = False , mtext = None ) [来源] #
绘制一个文本实例。
- 参数:
- GC
GraphicsContextBase
图形上下文。
- x浮动
显示坐标中文本的 x 位置。
- y浮动
显示坐标中文本基线的 y 位置。
- 字符串_
文本字符串。
- 支柱
matplotlib.font_manager.FontProperties
字体属性。
- 角度浮动
以度为单位的逆时针旋转角度。
- 多行文字
matplotlib.text.Text
要渲染的原始文本对象。
- GC
笔记
后端实施者的注意事项:
当您尝试确定您的边界框是否正确(这使文本布局/对齐能够正常工作)时,它有助于更改 text.py 中的行:
if 0: bbox_artist(self, renderer)
到 if 1,然后实际的边界框将与您的文本一起绘制。
- get_text_width_height_descent ( s , prop , ismath ) [来源] #
使用 prop获取字符串s的显示坐标中的宽度、高度和下降(从底部到基线的偏移量)。
FontProperties
- new_gc ( ) [来源] #
返回 a 的一个实例
GraphicsContextBase
。