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 ( 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 を発生させます。
- matplotlib.testing.decorators。check_figures_equal ( * , extensions = ('png', 'pdf', 'svg') , tol = 0 ) [source] #
2 つの Figure を生成して比較するテスト ケースのデコレータ。
装飾された関数は、 fig_test とfig_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
または出力を含めます (その目的については、デコレータも参照してください)。pdf
check_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"]