<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, ax=None, return_fig=False, **kwargs):
 """ Plot a synthetic. Args: ax (ax):
 A matplotlib axis. legend (Legend):
 For now, only here to match API for other plot methods. return_fig (bool):
 whether to return the matplotlib figure. Default False. Returns: ax. If you passed in an ax, otherwise None. """

        if ax is None:
            fig = plt.figure(figsize=(2, 10))
            ax = fig.add_subplot(111)
            return_ax = False
        else:
            return_ax = True

        hypertime = np.linspace(self.start, self.stop, (10 * self.size - 1) + 1)
        hyperamp = np.interp(hypertime, self.basis, self)

        ax.plot(hyperamp, hypertime, 'k')
        ax.fill_betweenx(hypertime, hyperamp, 0, hyperamp > 0.0, facecolor='k', lw=0)
        ax.invert_yaxis()
        ax.set_title(self.name)

        if return_ax:
            return ax
        elif return_fig:
            return fig
        else:
            return None