matplotlib.testing
#
matplotlib.test()
#
matplotlib.testing
#
用于测试的辅助函数。
matplotlib.testing.compare
#
用于比较图像结果的实用程序。
- matplotlib.testing.compare。calculate_rms ( expected_image , actual_image ) [来源] #
计算每像素误差,然后计算均方根误差。
- matplotlib.testing.compare。可比较格式( ) [来源] #
compare_images
返回可以在此系统上比较的文件格式列表。- 返回:
- str 列表
例如。
['png', 'pdf', 'svg', 'eps']
- matplotlib.testing.compare。compare_images (预期,实际, tol , in_decorator = False ) [来源] #
比较两个“图像”文件,检查公差范围内的差异。
两个给定的文件名可能指向可通过
converter
字典转换为 PNG 的文件。基础 RMS 使用该calculate_rms
函数计算。- 参数:
- 预期的str
预期图像的文件名。
- 实际str
实际图像的文件名。
- 浮动_
容差(颜色值差异,其中 255 是最大差异)。如果平均像素差大于此值,则测试失败。
- in_decorator布尔值
确定输出格式。如果从 image_comparison 装饰器调用,这应该是 True。(默认=假)
- 返回:
- 无或 dict 或 str
如果图像在给定的容差内相等,则返回None 。
如果图像不同,则返回值取决于in_decorator。如果in_decorator为真,则返回包含以下条目的字典:
rms:图像差异的 RMS。
预期:预期图像的文件名。
实际:实际图像的文件名。
diff_image:差异图像的文件名。
tol:比较容差。
否则,将返回此信息的人类可读的多行字符串表示。
例子
img1 = "./baseline/plot.png" img2 = "./output/plot.png" compare_images(img1, img2, 0.001)
matplotlib.testing.decorators
#
- 类 matplotlib.testing.decorators。CleanupTestCase ( methodName = 'runTest' ) [来源] #
基地:
TestCase
[已弃用] unittest.TestCase 的包装器,包括清理操作。
笔记
3.6 版后已弃用:使用现有代码的供应商副本,包括私有函数 _cleanup_cm。
创建将在执行时使用命名测试方法的类的实例。如果实例没有具有指定名称的方法,则引发 ValueError。
- matplotlib.testing.decorators。check_figures_equal ( * , extensions = ('png', 'pdf', 'svg') , tol = 0 ) [source] #
用于生成和比较两个图形的测试用例的装饰器。
装饰函数必须采用两个关键字参数,fig_test 和fig_ref,并在它们上绘制测试和参考图像。函数返回后,保存数字并进行比较。
在可能的情况下,应该优先使用此装饰器
image_comparison
,以防止测试套件的大小膨胀。- 参数:
- 扩展名列表,默认:["png", "pdf", "svg"]
要测试的扩展。
- 浮动_
高于该阈值的测试被视为失败的 RMS 阈值。
- 提高:
- 运行时错误
如果在测试函数中创建了任何新图形(并且随后没有关闭)。
例子
检查
Axes.plot
使用单个参数的调用是否将其绘制为 :[0, 1, 2, ...]
@check_figures_equal() def test_plot(fig_test, fig_ref): fig_test.subplots().plot([1, 3, 5]) fig_ref.subplots().plot([0, 1, 2], [1, 3, 5])
- matplotlib.testing.decorators。check_freetype_version ( ver ) [来源] #
[已弃用]
笔记
3.6 版后已弃用:改用 _check_freetype_version 现有代码的供应商副本。
- matplotlib.testing.decorators。清理( style = None ) [来源] #
[已弃用] 一个装饰器,用于确保在运行测试之前重置任何全局状态。
- 参数:
- 样式str、dict 或列表,可选
要应用的样式。默认为.
["classic", "_classic_test_patch"]
笔记
3.6 版后已弃用:使用现有代码的供应商副本,包括私有函数 _cleanup_cm。
- matplotlib.testing.decorators。image_comparison ( baseline_images , extensions = None , tol = 0 , freetype_version = None , remove_text = False , savefig_kwarg = None , style = ('classic', '_classic_test_patch') ) [source] #
将测试生成的图像与 baseline_images中指定的图像进行比较,它们必须对应,否则
ImageComparisonFailure
将引发异常。- 参数:
- 基线图像列表或无
一个字符串列表,指定调用生成的图像的名称
Figure.savefig
。如果None,测试功能必须使用
baseline_images
夹具,作为参数或 withpytest.mark.usefixtures
。仅在使用 pytest 时才允许使用此值。- 扩展无或 str 列表
要测试的扩展列表,例如.
['png', 'pdf']
如果None,默认为所有支持的扩展名:png、pdf 和 svg。
在测试单个扩展时,它可以直接包含在传递给baseline_images的名称中。在这种情况下,不得设置扩展名。
为了防止测试套件的大小膨胀,我们仅在测试显式执行依赖于该后端的功能时才包含
svg
或pdf
输出(另请参见check_figures_equal
用于该目的的装饰器)。- tol浮动,默认值:0
高于该阈值的测试被视为失败的 RMS 阈值。
由于浮点计算中预期的微小差异,在 32 位系统上,此阈值会额外增加 0.06。
- freetype_version str 或元组
此测试通过的预期 freetype 版本或版本范围。
- remove_text布尔值
在比较之前从图中删除标题和勾选文本。这有助于使基线图像独立于不同版本的 FreeType 之间的文本呈现变化。
这不会删除其他更经过深思熟虑的文本,例如图例和注释。
- savefig_kwarg字典
传递给 savefig 方法的可选参数。
- 样式str、dict 或列表
应用于图像测试的可选样式。如果需要,测试本身也可以应用其他样式。默认为.
["classic", "_classic_test_patch"]