我如何测试 PyVista 是否成功绘制了图形?

How do I test that PyVista successfully plotted a figure?

我正在 PyVista 中生成 3D 网格,我想更新我的集成测试套件以确保它能成功显示我的绘图。

我希望采用 here 中描述的方法来与 PyVista 一起工作。不幸的是,我在 PyVista 中找不到任何与 plt.gcf() 等效的函数的任何结果。

有人知道解决方法吗?

有几种方法可以做到这一点。首先,pyvista return 是 pyvista.plotting.renderer.CameraPosition 成功情节的一个实例。例如:

>>> import pyvista
>>> sphere = pyvista.Sphere()
>>> cpos = sphere.plot(off_screen=True)
>>> print(type(cpos))
<class 'pyvista.plotting.renderer.CameraPosition'>

由于需要设置绘图和渲染器才能正确显示绘图,因此获得 return 相机位置意味着绘图成功。

或者,您可以保存屏幕截图并检查文件是否存在:

import os
import pyvista
sphere = pyvista.Sphere()
cpos = sphere.plot(off_screen=True, screenshot='tmp.png')
assert os.path.isfile('tmp.png')

您还可以检查保存图像的内容(或可能的文件大小)