附加matplotlib图。图至pyp

2024-04-20 03:32:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个函数,在给定一些参数的情况下返回一个matplotlib.figure.Figure对象,我想把它添加到pyplot对象中(这样pyplot.show()就会显示图像)。你知道吗

有什么办法吗?你知道吗

谢谢!你知道吗

背景:

我的问题似乎违反直觉,这就是为什么我需要这么做。我正在开发一个Python包,它使用matplotlib生成绘图,所以我使用OO matplotlib接口。你知道吗

我正在编写测试(使用matplotlib.testing,它允许我将图像与装饰器进行比较),以确保函数返回正确的绘图。问题是,这样的包使用类似MATLAB的接口,在pyplot对象中查找绘图(使用plt.get_fignums()),然后与文件中的图像进行比较。你知道吗

我可以修改matplotlib.testing代码以满足我的需要,但是使用原样的代码似乎是一个更好的选择,尽管将一个图形附加到pyplot似乎有点不太方便。你知道吗


Tags: 对象函数代码图像绘图参数matplotlibshow
1条回答
网友
1楼 · 发布于 2024-04-20 03:32:51

最后我用另一种方法来解决我的测试问题。我没有使用matplotlib.testing内置的decorator,而是使用比较图像的函数:

from matplotlib.testing.compare import compare_images

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

如果测试成功,则返回None;如果图像差异超过阈值,则返回包含一些数据的字典。我将围绕该函数构建一个包装器,使其更易于测试。你知道吗

相关问题 更多 >