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: Plot the data
  
  Parameters
  ----------
  data : numpy array, pandas dataframe or list of arrays/dfs
      The data to plot.  If no data is passed, the xform_data from
      the DataGeometry object will be returned.
  
  kwargs : keyword arguments
      Any keyword arguments supported by `hypertools.plot` are also supported
      by this method
  
  Returns
  ----------
  geo : hypertools.DataGeometry
      A new data geometry object
docstr_tok: ["Plot","the","data","Parameters","--","--","--","--","--","data",":","numpy","array",",","pandas","dataframe","or","list","of","arrays\/dfs","The","data","to","plot",".","If","no","data","is","passed",",","the","xform_data","from","the","DataGeometry","object","will","be","returned",".","kwargs",":","keyword","arguments","Any","keyword","arguments","supported","by","`","hypertools.plot","`","are","also","supported","by","this","method","Returns","--","--","--","--","--","geo",":","hypertools.DataGeometry","A","new","data","geometry","object"]
code: def plot(self, data=None, **kwargs):
      """
      Plot the data
  
      Parameters
      ----------
      data : numpy array, pandas dataframe or list of arrays/dfs
          The data to plot.  If no data is passed, the xform_data from
          the DataGeometry object will be returned.
  
      kwargs : keyword arguments
          Any keyword arguments supported by `hypertools.plot` are also supported
          by this method
  
      Returns
      ----------
      geo : hypertools.DataGeometry
          A new data geometry object
  
      """
  
      # import plot here to avoid circular imports
      from .plot.plot import plot as plotter
  
      if data is None:
          d = copy.copy(self.data)
          transform = copy.copy(self.xform_data)
          if any(
              [
                  k in kwargs
                  for k in [
                      "reduce",
                      "align",
                      "normalize",
                      "semantic",
                      "vectorizer",
                      "corpus",
                  ]
              ]
          ):
              d = copy.copy(self.data)
              transform = None
      else:
          d = data
          transform = None
  
      # get kwargs and update with new kwargs
      new_kwargs = copy.copy(self.kwargs)
      update_kwargs = dict(
          transform=transform,
          reduce=self.reduce,
          align=self.align,
          normalize=self.normalize,
          semantic=self.semantic,
          vectorizer=self.vectorizer,
          corpus=self.corpus,
      )
      new_kwargs.update(update_kwargs)
      for key in kwargs:
          new_kwargs.update({key: kwargs[key]})
      return plotter(d, **new_kwargs)
  
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 5 for calling the DataGeometry obj's underlying member method code with example usage: obj.plot(data) and returns: plotter