<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def scatterviz(X, y=None, ax=None, features=None, classes=None, color=None, colormap=None, markers=None, alpha=1.0, **kwargs):
 """Displays a bivariate scatter plot. This helper function is a quick wrapper to utilize the ScatterVisualizer (Transformer) for one-off analysis. Parameters X : ndarray or DataFrame of shape n x m A matrix of n instances with m features y : ndarray or Series of length n, default: None An array or series of target or class values ax : matplotlib axes, default: None The axes to plot the figure on. features : list of strings, default: None The names of two features or columns. More than that will raise an error. classes : list of strings, default: None The names of the classes in the target color : list or tuple of colors, default: None Specify the colors for each individual class colormap : string or matplotlib cmap, default: None Sequential colormap for continuous target markers : iterable of strings, default: ,+o*vhd Matplotlib style markers for points on the scatter plot points alpha : float, default: 1.0 Specify a transparency where 1 is completely opaque and 0 is completely transparent. This property makes densely clustered points more visible. Returns ------- ax : matplotlib axes Returns the axes that the parallel coordinates were drawn on. """

    # Instantiate the visualizer
    visualizer = ScatterVisualizer(ax=ax, features=features, classes=classes,
                                   color=color, colormap=colormap,
                                   markers=markers, alpha=alpha, **kwargs)

    # Fit and transform the visualizer (calls draw)
    visualizer.fit(X, y, **kwargs)
    visualizer.transform(X)

    # Return the axes object on the visualizer
    return visualizer.ax