<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def plot(self, ifig=1, data_label='data', fit_label='fit',
             data_shape='o', fit_shape='-'):
        '''
        plot the data and the fitted function.

        Parameters
        ----------
        ifig : integer
            Figure window number.  The default is 1.
        data_label : string
            Legend for data.  The default is 'data'.
        fit_label : string
            Legend for fit.  If fit_lable is 'fit', then substitute fit
            function type self.func_name.  The default is 'fit'.
        data_shape : character
            Shape for data.  The default is 'o'.
        fit_shape : character
            Shape for fit.  The default is '-'.

        '''

        if len(self.coef) is not len(self.fcoef):
            print("Warning: the fitted coefficient list is not same")
            print("         length as guessed list - still I will try ...")

        pl.figure(ifig)
        pl.plot(self.x,self.y,data_shape,label=data_label)
        if fit_label is 'fit':
            fit_label=self.__name__
        pl.plot(self.x,self.func(self.fcoef,self.x),fit_shape,label=fit_label)
        pl.legend()