我有一个加载数据和绘图的模块。我有一堆测试用例,每当我导入我的模块时都会运行。他们中的一些人生成数字只是为了让我可以检查他们的属性。我使用plt.ioff
作为上下文管理器来抑制这些数据。但是,在交互式会话(Spyder)中,当我导入模块并绘制一些图时,会出现被抑制的测试用例图。
一个最小的例子来证明这一点:
from matplotlib import pyplot as plt
with plt.ioff():
plt.plot([0, 1, 2], [0, 1, 4])
plt.figure()
plt.plot([0, 1, 2], [1, 2, 3])
plt.show()
将显示两个数字,每个plot
命令对应一个数字。我在Spyder和Jupyter中都得到了相同的结果。我用的是matplotlib
v3.7.1。
1条答案
按热度按时间rbpvctlc1#
这是对
plt.ioff
的错误使用。消除图形的正确方法似乎是plt.close
: