class_docstr: Hypertools data object class
  
  A DataGeometry object contains the data, figure handles and transform
  functions used to create a plot.  Note: this class should not be called
  directly, but is used by the `hyp.plot` function to create a plot object.
  
  Parameters
  ----------
  
  fig : matplotlib.Figure
      The matplotlib figure handle for the plot
  
  ax : matplotlib.Axes
      The matplotlib axes handle for the plot
  
  line_ani : matplotlib.animation.FuncAnimation
      The matplotlib animation handle (if the plot is an animation)
  
  data : list
      A list of numpy arrays representing the raw data
  
  xform_data : list
      A list of numpy arrays representing the transformed data
  
  reduce : dict
      A dictionary containing the reduction model and parameters
  
  align : dict
      A dictionary containing align model and parameters
  
  normalize : str
      A string representing the kind of normalization
  
  kwargs : dict
      A dictionary containing all kwargs passed to the plot function
  
  version : str
      The version of the software used to create the class instance
class_docstr_tok: ["Hypertools","data","object","class","A","DataGeometry","object","contains","the","data",",","figure","handles","and","transform","functions","used","to","create","a","plot",".","Note",":","this","class","should","not","be","called","directly",",","but","is","used","by","the","`","hyp.plot","`","function","to","create","a","plot","object",".","Parameters","--","--","--","--","--","fig",":","matplotlib.Figure","The","matplotlib","figure","handle","for","the","plot","ax",":","matplotlib.Axes","The","matplotlib","axes","handle","for","the","plot","line_ani",":","matplotlib.animation.FuncAnimation","The","matplotlib","animation","handle","(","if","the","plot","is","an","animation",")","data",":","list","A","list","of","numpy","arrays","representing","the","raw","data","xform_data",":","list","A","list","of","numpy","arrays","representing","the","transformed","data","reduce",":","dict","A","dictionary","containing","the","reduction","model","and","parameters","align",":","dict","A","dictionary","containing","align","model","and","parameters","normalize",":","str","A","string","representing","the","kind","of","normalization","kwargs",":","dict","A","dictionary","containing","all","kwargs","passed","to","the","plot","function","version",":","str","The","version","of","the","software","used","to","create","the","class","instance"]
docstr: Return transformed data, or transform new data using the same model
  parameters
  
  Parameters
  ----------
  data : numpy array, pandas dataframe or list of arrays/dfs
      The data to transform.  If no data is passed, the xform_data from
      the DataGeometry object will be returned.
  
  Returns
  ----------
  xformed_data : list of numpy arrays
      The transformed data
docstr_tok: ["Return","transformed","data",",","or","transform","new","data","using","the","same","model","parameters","Parameters","--","--","--","--","--","data",":","numpy","array",",","pandas","dataframe","or","list","of","arrays\/dfs","The","data","to","transform",".","If","no","data","is","passed",",","the","xform_data","from","the","DataGeometry","object","will","be","returned",".","Returns","--","--","--","--","--","xformed_data",":","list","of","numpy","arrays","The","transformed","data"]
code: def transform(self, data=None):
      """
      Return transformed data, or transform new data using the same model
      parameters
  
      Parameters
      ----------
      data : numpy array, pandas dataframe or list of arrays/dfs
          The data to transform.  If no data is passed, the xform_data from
          the DataGeometry object will be returned.
  
      Returns
      ----------
      xformed_data : list of numpy arrays
          The transformed data
  
      """
      # if no new data passed,
      if data is None:
          return self.xform_data
      else:
          formatted = format_data(
              data,
              semantic=self.semantic,
              vectorizer=self.vectorizer,
              corpus=self.corpus,
              ppca=True,
          )
          norm = normalizer(formatted, normalize=self.normalize)
          reduction = reducer(
              norm,
              reduce=self.reduce,
              ndims=self.reduce["params"]["n_components"],
          )
          return aligner(reduction, align=self.align)
  
file_path: hypertools/hypertools/datageometry.py
imports: import copy
  import pickle
  import warnings
  import pandas
  from .tools.normalize import normalize
  from .tools.reduce import reduce
  from .tools.align import align
  from .tools.format_data import format_data
  from ._shared.helpers import convert_text, get_dtype
  from .config import __version__
label_desc: Use image node_id 4 for calling the DataGeometry obj's underlying member method code with example usage: obj.transform(data) and returns: self, aligner