class_docstr: ScatterVisualizer is a bivariate feature data visualization algorithm that
  plots using the Cartesian coordinates of each point.
  
      Parameters
      ----------
  
      ax : a matplotlib plot, default: None
          The axis to plot the figure on.
  
      x : string, default: None
          The feature name that corresponds to a column name or index postion
          in the matrix that will be plotted against the x-axis
  
      y : string, default: None
          The feature name that corresponds to a column name or index postion
          in the matrix that will be plotted against the y-axis
  
      features : a list of two feature names to use, default: None
          List of two features that correspond to the columns in the array.
          The order of the two features correspond to X and Y axes on the
          graph. More than two feature names or columns will raise an error.
          If a DataFrame is passed to fit and features is None, feature names
          are selected that are the columns of the DataFrame.
  
      classes : a list of class names for the legend, default: None
          If classes is None and a y value is passed to fit then the classes
          are selected from the target vector.
  
      color : optional list or tuple of colors to colorize points, default: None
          Use either color to colorize the points on a per class basis or
          colormap to color them on a continuous scale.
  
      colormap : optional string or matplotlib cmap to colorize points, default: None
          Use either color to colorize the points on a per class basis or
          colormap to color them on a continuous scale.
  
      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.
  
      kwargs : keyword arguments passed to the super class.
  
      These parameters can be influenced later on in the visualization
      process, but can and should be set as early as possible.
class_docstr_tok: ["ScatterVisualizer","is","a","bivariate","feature","data","visualization","algorithm","that","plots","using","the","Cartesian","coordinates","of","each","point",".","Parameters","--","--","--","--","--","ax",":","a","matplotlib","plot",",","default",":","None","The","axis","to","plot","the","figure","on",".","x",":","string",",","default",":","None","The","feature","name","that","corresponds","to","a","column","name","or","index","postion","in","the","matrix","that","will","be","plotted","against","the","x-axis","y",":","string",",","default",":","None","The","feature","name","that","corresponds","to","a","column","name","or","index","postion","in","the","matrix","that","will","be","plotted","against","the","y-axis","features",":","a","list","of","two","feature","names","to","use",",","default",":","None","List","of","two","features","that","correspond","to","the","columns","in","the","array",".","The","order","of","the","two","features","correspond","to","X","and","Y","axes","on","the","graph",".","More","than","two","feature","names","or","columns","will","raise","an","error",".","If","a","DataFrame","is","passed","to","fit","and","features","is","None",",","feature","names","are","selected","that","are","the","columns","of","the","DataFrame",".","classes",":","a","list","of","class","names","for","the","legend",",","default",":","None","If","classes","is","None","and","a","y","value","is","passed","to","fit","then","the","classes","are","selected","from","the","target","vector",".","color",":","optional","list","or","tuple","of","colors","to","colorize","points",",","default",":","None","Use","either","color","to","colorize","the","points","on","a","per","class","basis","or","colormap","to","color","them","on","a","continuous","scale",".","colormap",":","optional","string","or","matplotlib","cmap","to","colorize","points",",","default",":","None","Use","either","color","to","colorize","the","points","on","a","per","class","basis","or","colormap","to","color","them","on","a","continuous","scale",".","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",".","kwargs",":","keyword","arguments","passed","to","the","super","class",".","These","parameters","can","be","influenced","later","on","in","the","visualization","process",",","but","can","and","should","be","set","as","early","as","possible","."]
docstr: Adds a title and a legend and ensures that the axis labels are set as
  the feature names being visualized.
  
  Parameters
  ----------
  kwargs: generic keyword arguments.
  
  Notes
  -----
  Generally this method is called from show and not directly by the user.
docstr_tok: ["Adds","a","title","and","a","legend","and","ensures","that","the","axis","labels","are","set","as","the","feature","names","being","visualized",".","Parameters","--","--","--","--","--","kwargs",":","generic","keyword","arguments",".","Notes","--","--","-","Generally","this","method","is","called","from","show","and","not","directly","by","the","user","."]
code: def finalize(self, **kwargs):
      """
      Adds a title and a legend and ensures that the axis labels are set as
      the feature names being visualized.
  
      Parameters
      ----------
      kwargs: generic keyword arguments.
  
      Notes
      -----
      Generally this method is called from show and not directly by the user.
      """
      # Divide out the two features
      feature_one, feature_two = self.features_
  
      # Set the title
      self.set_title(
          "Scatter Plot: {0} vs {1}".format(
              str(feature_one), str(feature_two)
          )
      )
      # Add the legend
      self.ax.legend(loc="best")
      self.ax.set_xlabel(str(feature_one))
      self.ax.set_ylabel(str(feature_two))
  
file_path: yellowbrick/yellowbrick/contrib/scatter.py
imports: import itertools
  import numpy
  from yellowbrick.features.base import DataVisualizer
  from yellowbrick.utils import is_dataframe, is_structured_array
  from yellowbrick.utils import has_ndarray_int_columns
  from yellowbrick.exceptions import YellowbrickValueError
  from yellowbrick.style.colors import resolve_colors
label_desc: Use image node_id 4 for calling the ScatterVisualizer obj's underlying member method code with example usage: obj.finalize() without return types