Draw the instances colored by the target y such that each line is a
        single instance. This is the "slow" mode of drawing, since each
        instance has to be drawn individually. However, in so doing, the
        density of instances in braids is more apparent since lines have an
        independent alpha that is compounded in the figure.

        This is the default method of drawing.

        Parameters
        ----------
        X : ndarray of shape n x m
            A matrix of n instances with m features

        y : ndarray of length n
            An array or series of target or class values

        Notes
        -----
        This method can be used to draw additional instances onto the parallel
        coordinates before the figure is finalized.

def draw_instances(self, X, y, **kwargs):
        """
        Draw the instances colored by the target y such that each line is a
        single instance. This is the "slow" mode of drawing, since each
        instance has to be drawn individually. However, in so doing, the
        density of instances in braids is more apparent since lines have an
        independent alpha that is compounded in the figure.

        This is the default method of drawing.

        Parameters
        ----------
        X : ndarray of shape n x m
            A matrix of n instances with m features

        y : ndarray of length n
            An array or series of target or class values

        Notes
        -----
        This method can be used to draw additional instances onto the parallel
        coordinates before the figure is finalized.
        """
        # Get alpha from param or default
        alpha = self.alpha or 0.25

        for idx in range(len(X)):
            Xi = X[idx]
            yi = y[idx]

            # TODO: generalize this duplicated code into a single function
            if isinstance(yi, str):
                label = yi
            else:
                # TODO: what happens if yi is not in classes?!
                label = self.classes_[yi]

            self.ax.plot(
                self._increments, Xi,
                color=self._colors[label], alpha=alpha, **kwargs
            )

        return self.ax