我正在开发一个班级,目的是生产地块, 基类是可调用的,尤其是其调用方法如下:
def __call__ (self,nrows,ncols,*args,**kwargs):
self.style(*args)
self.setparams(kwargs)
if nrows == ncols ==1:
self.fig, self.axs = plt.subplots(nrows,ncols,figsize=(9.5,4.5))
else:
self.fig, self.axs = plt.subplots(nrows,ncols,figsize=(12,6))
self.fig,self.axs = self.set(nrows,ncols,self.fig,self.axs)
return self.fig,self.axs
现在..方法集定义了一些axs参数,如下所示:
def set(self,nrows,ncols, fig, axs , **kwargs ):
self.config = kwargs
self.axs.grid(linestyle='--', dashes=(5,7))
self.axs.set_title('', color='#555555')
此方法的目的是定义无法使用rcParam定义的参数(例如标题颜色,网格的dashes =()以及其他很多参数...) 现在我还不知道如何从派生类调用此方法以覆盖基类设置的参数... 我在想像使用字典(self.config = kwargs)来设置参数的解决方案,而我已经尝试过这种可怕的事情:
if axs.grid not in self.config.keys():
self.axs.grid(linestyle='--', dashes=(5,7))
else:
self.axs.grid(**self.config['axs.grid'])
即使它很可怕也应该起作用..但是现在的问题是如何定义
self.config['axs.grid']
在基类中,我已经尝试过此方法..但当然不起作用
self.config['axs.grid'] = [linestyle=':', dashes=(0, (1, 1))]
super().set(self.config)
有一种正确传递(linestyle=':', dashes=(0, (1, 1))
)的方法吗?