class_docstr: Base visualizer for Rank1D and Rank2D
  
  Parameters
  ----------
  ax : matplotlib Axes, default: None
      The axis to plot the figure on. If None is passed in the current axes
      will be used (or generated if required).
  
  fig : matplotlib Figure, default: None
      The figure to plot the Visualizer on. If None is passed in the current
      plot will be used (or generated if required).
  
  algorithm : string
      The ranking algorithm to use; options and defaults vary by subclass
  
  features : list
      A list of feature names to use.
      If a DataFrame is passed to fit and features is None, feature
      names are selected as the columns of the DataFrame.
  
  show_feature_names : boolean, default: True
      If True, the feature names are used to label the axis ticks in the
      plot.
  
  kwargs : dict
      Keyword arguments that are passed to the base class and may influence
      the visualization as defined in other Visualizers.
  
  Attributes
  ----------
  ranks_ : ndarray
      An n-dimensional, symmetric array of rank scores, where n is the
      number of features. E.g. for 1D ranking, it is (n,), for a
      2D ranking it is (n,n) and so forth.
  
  Examples
  --------
  
  >>> visualizer = Rank2D()
  >>> visualizer.fit(X, y)
  >>> visualizer.transform(X)
  >>> visualizer.show()
  
  Notes
  -----
  These parameters can be influenced later on in the visualization
  process, but can and should be set as early as possible.
class_docstr_tok: ["Base","visualizer","for","Rank1D","and","Rank2D","Parameters","--","--","--","--","--","ax",":","matplotlib","Axes",",","default",":","None","The","axis","to","plot","the","figure","on",".","If","None","is","passed","in","the","current","axes","will","be","used","(","or","generated","if","required",")",".","fig",":","matplotlib","Figure",",","default",":","None","The","figure","to","plot","the","Visualizer","on",".","If","None","is","passed","in","the","current","plot","will","be","used","(","or","generated","if","required",")",".","algorithm",":","string","The","ranking","algorithm","to","use",";","options","and","defaults","vary","by","subclass","features",":","list","A","list","of","feature","names","to","use",".","If","a","DataFrame","is","passed","to","fit","and","features","is","None",",","feature","names","are","selected","as","the","columns","of","the","DataFrame",".","show_feature_names",":","boolean",",","default",":","True","If","True",",","the","feature","names","are","used","to","label","the","axis","ticks","in","the","plot",".","kwargs",":","dict","Keyword","arguments","that","are","passed","to","the","base","class","and","may","influence","the","visualization","as","defined","in","other","Visualizers",".","Attributes","--","--","--","--","--","ranks_",":","ndarray","An","n-dimensional",",","symmetric","array","of","rank","scores",",","where","n","is","the","number","of","features",".","E.g",".","for","1D","ranking",",","it","is","(","n",",",")",",","for","a","2D","ranking","it","is","(","n",",","n",")","and","so","forth",".","Examples","--","--","--","--",">",">",">","visualizer","=","Rank2D","(",")",">",">",">","visualizer.fit","(","X",",","y",")",">",">",">","visualizer.transform","(","X",")",">",">",">","visualizer.show","(",")","Notes","--","--","-","These","parameters","can","be","influenced","later","on","in","the","visualization","process",",","but","can","and","should","be","set","as","early","as","possible","."]
docstr: The transform method is the primary drawing hook for ranking classes.
  
  Parameters
  ----------
  X : ndarray or DataFrame of shape n x m
      A matrix of n instances with m features
  
  kwargs : dict
      Pass generic arguments to the drawing method
  
  Returns
  -------
  X : ndarray
      Typically a transformed matrix, X' is returned. However, this
      method performs no transformation on the original data, instead
      simply ranking the features that are in the input data and returns
      the original data, unmodified.
docstr_tok: ["The","transform","method","is","the","primary","drawing","hook","for","ranking","classes",".","Parameters","--","--","--","--","--","X",":","ndarray","or","DataFrame","of","shape","n","x","m","A","matrix","of","n","instances","with","m","features","kwargs",":","dict","Pass","generic","arguments","to","the","drawing","method","Returns","--","--","--","-","X",":","ndarray","Typically","a","transformed","matrix",",","X","'","is","returned",".","However",",","this","method","performs","no","transformation","on","the","original","data",",","instead","simply","ranking","the","features","that","are","in","the","input","data","and","returns","the","original","data",",","unmodified","."]
code: def transform(self, X, **kwargs):
      """
      The transform method is the primary drawing hook for ranking classes.
  
      Parameters
      ----------
      X : ndarray or DataFrame of shape n x m
          A matrix of n instances with m features
  
      kwargs : dict
          Pass generic arguments to the drawing method
  
      Returns
      -------
      X : ndarray
          Typically a transformed matrix, X' is returned. However, this
          method performs no transformation on the original data, instead
          simply ranking the features that are in the input data and returns
          the original data, unmodified.
      """
      self.ranks_ = self.rank(X)
      self.draw(**kwargs)
  
      # Return the X matrix, unchanged
      return X
  
imports: import warnings
  import numpy
  import matplotlib
  from scipy.stats import shapiro
  from scipy.stats import spearmanr
  from scipy.stats import kendalltau
  from yellowbrick.utils import is_dataframe
  from yellowbrick.features.base import MultiFeatureVisualizer
  from yellowbrick.exceptions import YellowbrickValueError, YellowbrickWarning
label_desc: Use image node_id 2 for calling the RankDBase obj's underlying member method code with example usage: obj.transform(X) and returns: X