matplotlib.testing#

matplotlib.test()#

matplotlib. test ( verbosity = None coverage = False ** kwargs ) [source] #

[非推奨] matplotlib テスト スイートを実行します。

ノート

バージョン 3.5 以降非推奨:代わりに pytest を使用してください。

matplotlib.testing#

テスト用のヘルパー関数。

matplotlib.testing. set_font_settings_for_testing ( ) [ソース] #
matplotlib.testing. set_reproducibility_for_testing ( ) [ソース] #
matplotlib.testing. セットアップ( ) [ソース] #
matplotlib.testing. subprocess_run_helper ( func , * args , timeout , extra_env = None ) [source] #

サブプロセスで関数を実行します。

パラメータ:
関数関数

実行する関数。インポート可能なモジュールにある必要があります。

*引数文字列

への最初の引数で渡される追加のコマンド ライン引数subprocess.run

extra_env dict[文字列、文字列]

サブプロセスに設定する追加の環境変数。

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 ( expected , actual , tol , in_decorator = False ) [source] #

2 つの「画像」ファイルを比較して、許容範囲内の違いを確認します。

converter指定された 2 つのファイル名は、辞書を介して PNG に変換可能なファイルを指している場合があります。基になる RMS はcalculate_rms関数で計算されます。

パラメータ:
予想される

期待されるイメージのファイル名。

実際の文字列

実際の画像のファイル名。

トルフロート

許容値 (色の値の差。255 が最大の差)。平均ピクセル差がこの値より大きい場合、テストは失敗します。

in_decoratorブール

出力形式を決定します。image_comparison デコレーターから呼び出された場合、これは True である必要があります。(デフォルト = 偽)

戻り値:
None または dict または str

画像が指定された許容範囲内で等しい場合はNoneを返します。

イメージが異なる場合、戻り値はin_decoratorによって異なります。in_decoratorが true の場合、次のエントリを持つ dict が返されます。

  • rms : イメージ差の RMS。

  • expected : 期待されるイメージのファイル名。

  • actual : 実際の画像のファイル名。

  • 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 を発生させます。

classmethod setUpClass ( ) [ソース] #

クラスでテストを実行する前にクラス フィクスチャを設定するためのフック メソッド。

classmethod tearDownClass ( ) [ソース] #

クラス内のすべてのテストを実行した後、クラス フィクスチャを分解するためのフック メソッド。

matplotlib.testing.decorators。check_figures_equal ( * , extensions = ('png', 'pdf', 'svg') , tol = 0 ) [source] #

2 つの Figure を生成して比較するテスト ケースのデコレータ。

装飾された関数は、 fig_testfig_refの 2 つのキーワード引数を取り、それらにテストと参照イメージを描画する必要があります。関数が戻った後、数値が保存され、比較されます。

image_comparisonテスト スイートのサイズが膨らまないようにするために、可能な場合はこのデコレーターを優先する必要があります。

パラメータ:
拡張子リスト、デフォルト: ["png"、"pdf"、"svg"]

テストする拡張機能。

トルフロート

テストが失敗したと見なされる RMS しきい値。

レイズ:
ランタイムエラー

テスト関数内で新しい Figure が作成された (その後閉じられていない) 場合。

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。クリーンアップ(スタイル=なし) [ソース] #

[非推奨] テストを実行する前にグローバル状態を確実にリセットするためのデコレーター。

パラメータ:
スタイルstr、dict、または list、オプション

適用するスタイル。デフォルトはです。["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 例外が発生します。

パラメータ:
baseline_imagesリストまたはなし

の呼び出しによって生成されるイメージの名前を指定する文字列のリストFigure.savefig

Noneの場合、テスト関数はbaseline_imagesフィクスチャをパラメーターとして、または とともに使用する必要がありますpytest.mark.usefixtures。この値は、pytest を使用する場合にのみ許可されます。

extensions None または str のリスト

テストする拡張機能のリスト。['png', 'pdf']

Noneの場合、サポートされているすべての拡張子 (png、pdf、および svg) がデフォルトになります。

単一の拡張子をテストする場合、 baseline_imagesに渡される名前に直接含めることができます。その場合、拡張子は設定しないでください。

テスト スイートのサイズが膨らまないようにするために、テストがそのバックエンドに依存する機能を明示的に実行している場合 にのみ、svgまたは出力を含めます (その目的については、デコレータも参照してください)。pdfcheck_figures_equal

tol float、デフォルト: 0

テストが失敗したと見なされる RMS しきい値。

浮動小数点計算で予想されるわずかな違いにより、32 ビット システムでは、このしきい値にさらに 0.06 が追加されます。

freetype_version文字列またはタプル

このテストに合格することが期待される freetype バージョンまたはバージョンの範囲。

remove_textブール

比較する前に、図からタイトルと目盛りのテキストを削除します。これは、FreeType の異なるバージョン間でのテキスト レンダリングの違いからベースライン イメージを独立させるのに役立ちます。

これは、凡例や注釈など、より意図的な他のテキストを削除しません。

savefig_kwarg辞書

savefig メソッドに渡されるオプションの引数。

スタイルstr、dict、または list

イメージ テストに適用するオプションのスタイル。必要に応じて、テスト自体に追加のスタイルを適用することもできます。デフォルトはです。["classic", "_classic_test_patch"]

matplotlib.testing.decorators。remove_ticks_and_titles () [ソース] #

matplotlib.testing.exceptions#

例外 matplotlib.testing.exceptions。ImageComparisonFailure [ソース] #

拠点:AssertionError

2 つの画像の比較としてテストをマークするには、この例外を発生させます。