<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, num_pts, color=None, alpha=None, ax=None):
 """Plot the current curve. Args: num_pts (int):
 Number of points to plot. color (Optional[Tuple[float, float, float]]):
 Color as RGB profile. alpha (Optional[float]):
 The alpha channel for the color. ax (Optional[matplotlib.artist.Artist]):
 matplotlib axis object to add plot to. Returns: matplotlib.artist.Artist: The axis containing the plot. This may be a newly created axis. Raises: NotImplementedError: If the curve's dimension is not ``2``. """

        if self._dimension != 2:
            raise NotImplementedError(
                "2D is the only supported dimension",
                "Current dimension",
                self._dimension,
            )

        s_vals = np.linspace(0.0, 1.0, num_pts)
        points = self.evaluate_multi(s_vals)
        if ax is None:
            ax = _plot_helpers.new_axis()
        ax.plot(points[0, :], points[1, :], color=color, alpha=alpha)
        return ax