class_docstr: Animates a single line.
  
  Accepts additional keyword arguments to be passed to
  :meth:`matplotlib.axes.Axes.plot`.
  
  Parameters
  ----------
  x : 1D numpy array, list of 1D numpy arrays or a 2D numpy array, optional
      The x data to be animated. If 1D then will be constant over animation.
  y : list of 1D numpy arrays or a 2D numpy array
      The y data to be animated.
  ax : matplotlib.axes.Axes, optional
      The matplotlib axes to attach the block to.
      Defaults to matplotlib.pyplot.gca()
  t_axis : int, optional
      The axis of the numpy array that represents time.
      Defaults to 0. No effect if x, y are lists of numpy arrays.
  
      The default is chosen to be consistent with:
          X, T = numpy.meshgrid(x, t)
  **kwargs
      Passed on to `matplotlib.axes.Axes.plot`.
  
  Attributes
  ----------
  line: matplotlib.lines.Line2D
  
  ax : matplotlib.axes.Axes
      The matplotlib axes that the block is attached to.
  
  Notes
  -----
  This block animates a single line - to animate multiple lines you must call
  this once for each line, and then animate all of the blocks returned by
  passing a list of those blocks to `animatplot.Animation`.
class_docstr_tok: ["Animates","a","single","line",".","Accepts","additional","keyword","arguments","to","be","passed","to",":","meth",":","`","matplotlib.axes.Axes.plot","`",".","Parameters","--","--","--","--","--","x",":","1D","numpy","array",",","list","of","1D","numpy","arrays","or","a","2D","numpy","array",",","optional","The","x","data","to","be","animated",".","If","1D","then","will","be","constant","over","animation",".","y",":","list","of","1D","numpy","arrays","or","a","2D","numpy","array","The","y","data","to","be","animated",".","ax",":","matplotlib.axes.Axes",",","optional","The","matplotlib","axes","to","attach","the","block","to",".","Defaults","to","matplotlib.pyplot.gca","(",")","t_axis",":","int",",","optional","The","axis","of","the","numpy","array","that","represents","time",".","Defaults","to","0",".","No","effect","if","x",",","y","are","lists","of","numpy","arrays",".","The","default","is","chosen","to","be","consistent","with",":","X",",","T","=","numpy.meshgrid","(","x",",","t",")","*","*","kwargs","Passed","on","to","`","matplotlib.axes.Axes.plot","`",".","Attributes","--","--","--","--","--","line",":","matplotlib.lines.Line2D","ax",":","matplotlib.axes.Axes","The","matplotlib","axes","that","the","block","is","attached","to",".","Notes","--","--","-","This","block","animates","a","single","line","-","to","animate","multiple","lines","you","must","call","this","once","for","each","line",",","and","then","animate","all","of","the","blocks","returned","by","passing","a","list","of","those","blocks","to","`","animatplot.Animation","`","."]
code: def __len__(self):
      return self.y.shape[self.t_axis]
  
file_path: animatplot/animatplot/blocks/lineplots.py
imports: import numpy
  from .base import Block
  from animatplot.util import parametric_line
label_desc: Use image node_id 3 for calling the Line obj's underlying member method code with example usage: obj.__len__() and returns: self