我有一个"图像"暴露名为" .extent()
"的方法的类这个类是numpy.ndarray
的子类。
所以,我可以打电话给
im = image( ( 256, 256 ), extent = ( 0.0, 3.14, -1.0, 1.0 ) )
matplotlib.pyplot.imshow( im, extent = im.extent() )
我真正想做的是注入代码,以便" .imshow()
"为了能够简单地打电话
matplotlib.pyplot.imshow( im )
并拥有" .imshow()
"自动设置范围。
编写另一个函数来做这件事是微不足道的,但我想要" matplotlib.pyplot.imshow()
"这样做。
所以,我的问题是:
是否可以使用我编写的模型在其他模块的函数内部注入代码?
如果是,怎么做?
答案 0 :(得分:4)
original = matplotlib.pyplot.imshow
matplotlib.pyplot.imshow = lambda x: original(x, extent=x.extent())
我认为是一种方法。
甚至更好,如评论中所建议的
imshow = lambda x:matplotlib.pyplot.imshow(x,extent=x.extent())
即使它没有“注入代码”