【发布时间】:2016-03-14 01:42:14
【问题描述】:
我经常不得不在其他现有情节的基础上制作情节。我不想编写一个复制现有功能的新函数,而是想将一个装饰器应用到一个 matplotlib 图中,它可能会添加一条额外的线等。我写了下面的代码,它不起作用。我想知道是否有人可能知道这样做的正确方法。
所以这是目标:
x, y = np.linspace(0,5), np.linspace(0,10)
x2,y2 = np.linspace(0,5), np.linspace(0,5)
plt.plot(x,y)
plt.plot(x2,y2)
plt.show()
现在在下面的代码中,我用一条线创建了一个图。然后我尝试在装饰器中添加第二条绘图线。我知道代码不起作用,但想看看是否有人可以告诉我如何解决这个问题。
def overplot(func):
def testplot_wrapper(func):
x, y = np.linspace(0,5), np.linspace(0,10)
plt.plot(x,y)
plot.show()
return(testplot_wrapper)
@overplot
def testplot():
x, y = np.linspace(0,5), np.linspace(0,10)
plt.plot(x,y)
plt.show()
p = overplot(testplot)
p.show()
目标是产生一个情节,
【问题讨论】:
标签: python python-3.x matplotlib python-decorators