class_docstr: Base class for MissingDataVisualizers.
      
docstr: The fit method is the primary drawing input for the
  visualization since it has both the X and y data required for the
  viz and the transform method does not.
  
  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
      An array or series of target or class values
  
  kwargs : dict
      Pass generic arguments to the drawing method
  
  Returns
  -------
  self : instance
      Returns the instance of the transformer/visualizer
docstr_tok: ["The","fit","method","is","the","primary","drawing","input","for","the","visualization","since","it","has","both","the","X","and","y","data","required","for","the","viz","and","the","transform","method","does","not",".","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","An","array","or","series","of","target","or","class","values","kwargs",":","dict","Pass","generic","arguments","to","the","drawing","method","Returns","--","--","--","-","self",":","instance","Returns","the","instance","of","the","transformer\/visualizer"]
code: def fit(self, X, y=None, **kwargs):
      """
      The fit method is the primary drawing input for the
      visualization since it has both the X and y data required for the
      viz and the transform method does not.
  
      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
          An array or series of target or class values
  
      kwargs : dict
          Pass generic arguments to the drawing method
  
      Returns
      -------
      self : instance
          Returns the instance of the transformer/visualizer
      """
      # Do not call super here - the data visualizer has been refactored
      # to provide increased functionality that is not yet compatible with
      # the current implementation. This mimicks the previous functionality.
      # TODO: Refactor MissingDataVisualizer to make use of new features.
      self.features_ = self.features
  
      if is_dataframe(X):
          self.X = X.values
          if self.features_ is None:
              self.features_ = X.columns
      else:
          self.X = X
          if self.features_ is None:
              n_columns = X.shape[1]
              self.features_ = np.arange(0, n_columns)
  
      self.y = y
  
      self.draw(X, y, **kwargs)
      return self
  
imports: import numpy
  from yellowbrick.features.base import DataVisualizer
  from yellowbrick.utils import is_dataframe
label_desc: Use image node_id 1 for calling the MissingDataVisualizer obj's underlying member method code with example usage: obj.fit(X, y) and returns: self