def bestfit_func(self, bestfit_x):
        """
        Returns bestfit_y value

        args:
            bestfit_x: scalar, array_like
                x value
        return: scalar, array_like
            bestfit y value
        """
        bestfit_x = np.array(bestfit_x)
        if not self.done_bestfit:
            raise KeyError("Do do_bestfit first")
        bestfit_y = 0
        for idx, val in enumerate(self.fit_args):
            bestfit_y += val * (bestfit_x **
                                (self.args.get("degree", 1) - idx))
        return bestfit_y