如何让pythonclass方法继承库函数?
How to let python class metod inherit library functions?
我写的 class 的一部分是用 matplotlib 绘图的包装器。
但是,我希望我的包装器仍然能够通过所有绘图选项。
示例:
import matplotlib as plt
import numpy as np
class parentclass():
def __init__(self):
#functions to read some data
data=np.arange(100)
def plotaline(self,customargument1,customargument2,**kwargs):
cmin=customargument1*2
cmax=customargument2*4
#these are just for the sake of having other arguments
plt.plot(self.data,vmin=cmin,vmax=vmax,**kwargs)
# expected:
mydata=parentclass()
#plots a data line with red crosses as it takes the args that usually would go into plt.plot()
mydata.plotaline(0,1,'r-+')
我知道少了什么。我需要一种方法将 plt 库中的“plot”方法传递给我的 class 方法。
也许这是我在这里缺少的一些逻辑,当然我可能对继承了解不够。
不胜感激。
添加 *args
和 **kwargs
以包含可选的位置参数和关键字参数。
def plotaline(self,customargument1,customargument2, *args, **kwargs):
cmin=customargument1*2
cmax=customargument2*4
#these are just for the sake of having other arguments
plt.plot(self.data,vmin=cmin,vmax=vmax, *args, **kwargs)
我写的 class 的一部分是用 matplotlib 绘图的包装器。
但是,我希望我的包装器仍然能够通过所有绘图选项。
示例:
import matplotlib as plt
import numpy as np
class parentclass():
def __init__(self):
#functions to read some data
data=np.arange(100)
def plotaline(self,customargument1,customargument2,**kwargs):
cmin=customargument1*2
cmax=customargument2*4
#these are just for the sake of having other arguments
plt.plot(self.data,vmin=cmin,vmax=vmax,**kwargs)
# expected:
mydata=parentclass()
#plots a data line with red crosses as it takes the args that usually would go into plt.plot()
mydata.plotaline(0,1,'r-+')
我知道少了什么。我需要一种方法将 plt 库中的“plot”方法传递给我的 class 方法。 也许这是我在这里缺少的一些逻辑,当然我可能对继承了解不够。
不胜感激。
添加 *args
和 **kwargs
以包含可选的位置参数和关键字参数。
def plotaline(self,customargument1,customargument2, *args, **kwargs):
cmin=customargument1*2
cmax=customargument2*4
#these are just for the sake of having other arguments
plt.plot(self.data,vmin=cmin,vmax=vmax, *args, **kwargs)