Python 是否有更好的方法重新使用Matplotlib?

Python 是否有更好的方法重新使用Matplotlib?,python,matplotlib,Python,Matplotlib,下面的代码块(A)解决了我能够重用绘图的总体问题,但我想知道是否有更好的方法(一种不涉及为每个plt.plot创建函数的方法,如下所示) 代码块A: import maptplotlib.pyplot as plt #create a function just to call the plt.plot def first_plot(): plt.plot(x,y) first_plot() # Now i can just show the first plot plt.show() d

下面的代码块(A)解决了我能够重用绘图的总体问题,但我想知道是否有更好的方法(一种不涉及为每个plt.plot创建函数的方法,如下所示)

代码块A:

import maptplotlib.pyplot as plt

#create a function just to call the plt.plot
def first_plot(): plt.plot(x,y) 
first_plot()
# Now i can just show the first plot
plt.show()

def second_plot(): plt.plot(x,z)

first_plot() # instead of plt.plot(x,y)
second_plot() # instead of plt.plot(x,z)
# now i can show both plots
plt.show()
如果绘图复杂:

plot.plot(lots of details)
他们有很多:

plots = [first,second,third,fourth,...]
我认为这将是有利的,因为它避免了代码重用

然而,创建一个只调用plt.plot()的函数对我来说可能是更好的方法

first_plot = plt.plot(x,y)
first_plot()
#now i want to show just the first plot
plt.show() # first call

second_plot = plt.plot(x,z)
# now i want to show them together combined
first_plot() 
second_plot()
plt.show() # second call
但这似乎不起作用/例如,对plt.show()的第二次调用不会生成第一个绘图(即使您解压缩第一个绘图(实际上,从代码块B中,它实际上是一个列表):

我不明白。但不管我如何调用plt.show()和plt.show(False)(阻塞?),它似乎没有影响,例如,在代码块A和B的上下文中,输出是相同的


换句话说,有没有一种方法可以选择在代码中的不同点显示/覆盖创建的绘图?

无论多么尴尬,我的问题中描述的“重用”绘图的最佳方法似乎是按照我最初的建议执行,并将其放入函数中

def some_plot(): return plot(x,y)
然后,如果要重复使用绘图,只需再次调用该函数:

some_plot()

“不起作用”是什么意思?发生了什么?任何错误或回溯的全文是什么?期望的输出是什么?您了解将调用
plot()
的结果分配给变量的后果吗?我重新措辞了这个问题,希望更清楚。“它不起作用”这意味着第二次调用plt.show()时第一个绘图不显示。所需的输出与代码块A的输出相同,但所需的输入(我的代码)不需要为每个绘图()创建函数。不,我不理解将调用结果分配给plt()的后果这样做纯粹是为了演示我想要生成的更干净的代码。也许另一种处理方法是更改plt.show呈现的内容和方式。
def some_plot(): return plot(x,y)
some_plot()