matplotlib.testing

matplotlib.testing

用于测试的帮助函数。

matplotlib.testing.is_called_from_pytest()[源代码]

[Deprecated] 无论我们是否在pytest运行。

笔记

3.2 版后已移除.

matplotlib.testing.set_font_settings_for_testing()[源代码]
matplotlib.testing.set_reproducibility_for_testing()[源代码]
matplotlib.testing.setup()[源代码]

matplotlib.testing.compare

用于比较图像结果的实用程序。

matplotlib.testing.compare.comparable_formats()[源代码]

返回文件格式列表 compare_images 可以在这个系统上比较。

返回:
str列表

例如。 ['png', 'pdf', 'svg', 'eps'] .

matplotlib.testing.compare.compare_images(expected, actual, tol, in_decorator=False)[源代码]

比较两个“图像”文件,检查公差范围内的差异。

两个给定的文件名可以指向通过 converter 字典。基础均方根是用 calculate_rms 功能。

参数:
expectedSTR

预期图像的文件名。

actualSTR

实际图像的文件名。

tol浮动

公差(色差,其中255是最大差值)。如果平均像素差大于此值,则测试失败。

in_decorator布尔

确定输出格式。如果从image_comparison decorator调用,则这应该是真的。(默认值为False)

返回:
无或dict或str

返回 None 如果图像在给定公差内相等。

如果图像不同,则返回值取决于 in_decorator .如果 in_decorator 如果为true,则返回包含以下条目的dict:

  • rms :图像差的RMS。
  • 预期 :预期图像的文件名。
  • 实际的 :实际图像的文件名。
  • diff_image :差异图像的文件名。
  • tol :比较公差。

否则,将返回此信息的可读多行字符串表示形式。

实例

img1 = "./baseline/plot.png"
img2 = "./output/plot.png"
compare_images(img1, img2, 0.001)

matplotlib.testing.decorators

class matplotlib.testing.decorators.CleanupTestCase(methodName='runTest')[源代码]

基类:unittest.case.TestCase

包装纸unittest.TestCase包括清理作业。

创建类的实例,该实例将在执行时使用指定的测试方法。如果实例没有具有指定名称的方法,则引发ValueError。

classmethod setUpClass()[源代码]

在类中运行测试之前设置类fixture的钩子方法。

classmethod tearDownClass()[源代码]

钩子方法,用于在运行类中的所有测试后解构类fixture。

matplotlib.testing.decorators.check_figures_equal(*, extensions=('png', 'pdf', 'svg'), tol=0)[源代码]

用于生成和比较两个图形的测试用例的装饰器。

修饰函数必须接受两个关键字参数, fig_testfig_ref ,并在其上绘制测试和参考图像。函数返回后,将保存并比较图形。

这个装修工应该比 image_comparison 为了防止测试套件的规模膨胀。

参数:
extensions列表,默认值: [“png”,“pdf”,“svg”]

要测试的扩展。

tol浮动

高于该阈值的测试视为失败。

实例

查一下电话 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)[源代码]
matplotlib.testing.decorators.cleanup(style=None)[源代码]

一个修饰符,用于确保在运行测试之前重置任何全局状态。

参数:
stylestr、dict或list,可选

要应用的样式。默认为 ["classic", "_classic_test_patch"] .

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

将测试生成的图像与中指定的图像进行比较 baseline_images 其他,必须对应 ImageComparisonFailure 将引发异常。

参数:
baseline_images列出或无

指定调用生成的图像的名称的字符串列表 Figure.savefig .

如果 None ,测试函数必须使用 baseline_images 夹具,作为参数或 pytest.mark.usefixtures . 只有在使用pytest时才允许使用此值。

extensions无或str列表

要测试的扩展列表,例如。 ['png', 'pdf'] .

如果 None ,默认为所有支持的扩展名:png、pdf和svg。

当测试单个扩展时,它可以直接包含在传递给的名称中 baseline_images . 那样的话, 扩展 不得设置。

为了避免测试套件的膨胀,我们只包含 svgpdf 如果测试依赖于后端,请参见 check_figures_equal 装修工)。

tol浮点,默认值:0

高于该阈值的测试视为失败。

由于浮点计算中的预期差异很小,因此在32位系统上,此阈值额外增加了0.06。

freetype_versionstr或tuple

此测试要通过的预期freetype版本或版本范围。

remove_text布尔

在比较之前,从图中删除标题和勾选文本。这有助于使基线图像独立于FreeType不同版本之间文本渲染的变化。

这不会删除其他更仔细的文本,例如图例和注释。

savefig_kwarg双关语

传递给savefig方法的可选参数。

stylestr、dict或list

要应用于图像测试的可选样式。如果需要,测试本身也可以应用其他样式。默认为 ["classic", "_classic_test_patch"] .

matplotlib.testing.decorators.remove_ticks_and_titles(figure)[源代码]

matplotlib.testing.exceptions

exception matplotlib.testing.exceptions.ImageComparisonFailure[源代码]

基类:AssertionError

引发此异常以将测试标记为两个图像之间的比较。