2015-10-12 45 views
1

我有一個函數返回給定一些參數matplotlib.figure.Figure對象,我想將它添加到pyplot對象(以便pyplot.show()顯示圖像)。附上matplotlib圖。圖爲pyplot

有沒有辦法做到這一點?

謝謝!

背景:

我的問題似乎違反直覺,這就是爲什麼我必須這樣做。我正在開發一個使用matplotlib生成圖的Python包,所以我使用OO matplotlib接口。

我正在寫測試(使用matplotlib.testing,它可以讓我比較圖像與裝飾),以確保函數返回正確的圖。問題是這樣的軟件包使用類似MATLAB的界面,並在pyplot對象中查找圖(使用plt.get_fignums()),然後與文件中的圖像進行比較。

我可以修改matplotlib.testing代碼以適合我的需要,但使用代碼看起來是一個更好的選擇,即使附加一個數字給pyplot看起來好像很亂。

回答

0

我結束了使用另一種方法來解決我的測試問題。除了使用matplotlib.testing內置裝飾的,我使用的比較圖像的功能:

from matplotlib.testing.compare import compare_images 

compare_images(expected='expected.png', actual='actual.png', tol=13, in_decorator=True) 

,如果測試成功,或在情況下,圖像的一些數據字典返回None差異不是更閾。我將圍繞該功能構建一個包裝,以使測試更友好。

相關問題