Python 如何从show()调用中排除matplotlib图形?

Python 如何从show()调用中排除matplotlib图形?,python,matplotlib,matplotlib-widget,Python,Matplotlib,Matplotlib Widget,我有一个类,它拥有一些matplotlib图形、轴、美工等。它具有操作和显示这些图形的功能,在处理该类的实例时,这些功能都可以正常工作 但是,如果用户希望在包含my类实例的笔记本的另一个单元格中绘制一些单独的matplotlib图,则当用户调用plt.show()以显示自己的图形时,会显示该类的所有图形 我正在使用ipympl、%matplotlib小部件,并设置plt.ioff() 是否有一种方法可以设置我的数字,以便在调用plt.show()时不显示它们 示例:考虑这两个JUJYTER笔记本

我有一个类,它拥有一些matplotlib图形、轴、美工等。它具有操作和显示这些图形的功能,在处理该类的实例时,这些功能都可以正常工作

但是,如果用户希望在包含my类实例的笔记本的另一个单元格中绘制一些单独的matplotlib图,则当用户调用plt.show()以显示自己的图形时,会显示该类的所有图形

我正在使用ipympl、
%matplotlib小部件
,并设置plt.ioff()

是否有一种方法可以设置我的数字,以便在调用plt.show()时不显示它们

示例:考虑这两个JUJYTER笔记本单元(必须拆分为第一个数字显示)

%matplotlib小部件
将matplotlib.pyplot作为plt导入
plt.ioff()
类interactiveplot(对象):
定义初始化(self,x,y):
plt.ioff()
self.fig,self.ax=plt.subplot(图大小=(2,2))
self.plot,=self.ax.plot(x,y)
def更新(自我、x、y):
self.plot.set_数据(x,y)
self.fig.canvas.draw()
def显示(自我):
返回self.fig.canvas
#创建类实例
测试=交互绘图([1,2,3,4],[4,1,5,7])
#显示图形
test.show()
#更改显示图形中的数据
测试更新([2,3],[6,5])
#显示一个完全不相关的情节
图,ax=plt.子批次(图尺寸=(2,2))
最大散射([2.3,3.4],[34,23])
plt.show()
#同时显示test.fig和fig!我只想看无花果!

如果您确定永远不想通过
plt.show()显示图形
您可以将其关闭,
plt.close(self.fig)
我永远不想通过
plt.show()显示它
,但我仍然希望能够通过在
interactiveplot.show()中使用ipympl访问画布来显示它
我的示例类的函数。这几乎是不可能的,至少如果您想保留绘图的交互性质(包括缩放等)。是的,这就是我想要的。我担心这可能不可能。但这并不意味着不可能。。。设置图形的某些属性,将其从对plt.show()的全局调用中排除。是否有一种方法可以调用
show()
,但将输出重定向到它实际上不会显示的地方?