我有一个函数,它返回一个给定一些参数的matplotlib.figure.Figure
对象,我想将它添加到pyplot
对象中(以便pyplot.show()
显示图像)。
有办法这样做吗?
谢谢!
背景:
我的问题似乎有违直觉,这就是我需要这样做的原因。我正在开发一个Python包,它使用matplotlib生成绘图,所以我使用了接口。
我正在编写测试(使用matplotlib.testing
,它允许我将图像与装饰器进行比较),以确保函数返回正确的绘图。问题是这样的包使用类似MATLAB的接口,并在pyplot对象中查找绘图(使用plt.get_fignums()
),然后与文件中的图像进行比较。
我可以修改matplotlib.testing
代码以满足我的需要,但使用代码似乎是一个更好的选择,尽管将图形附加到pyplot似乎很麻烦。
发布于 2015-10-12 19:38:26
最后我使用了另一种方法来解决我的测试问题。我使用的是比较图像的函数,而不是使用matplotlib.testing
内置装饰器:
from matplotlib.testing.compare import compare_images
compare_images(expected='expected.png', actual='actual.png', tol=13, in_decorator=True)
如果测试成功,则返回None
,或者返回带有某些数据的字典,以防图像的差异超过阈值。我将围绕这个函数构建一个包装器,使其更易于测试。
https://stackoverflow.com/questions/33086816
复制相似问题