class_docstr: The annotate function allows drawing, editing and annotating any
  given Element (if it is supported). The annotate function returns
  a Layout of the editable plot and an Overlay of table(s), which
  allow editing the data of the element. The edited and annotated
  data may be accessed using the element and selected properties.
class_docstr_tok: ["The","annotate","function","allows","drawing",",","editing","and","annotating","any","given","Element","(","if","it","is","supported",")",".","The","annotate","function","returns","a","Layout","of","the","editable","plot","and","an","Overlay","of","table","(","s",")",",","which","allow","editing","the","data","of","the","element",".","The","edited","and","annotated","data","may","be","accessed","using","the","element","and","selected","properties","."]
docstr: Composes multiple annotator layouts and elements
  
  The composed Layout will contain all the elements in the
  supplied annotators and an overlay of all editor tables.
  
  Args:
      annotators: Annotator layouts or elements to compose
  
  Returns:
      A new layout consisting of the overlaid plots and tables
code: def compose(cls, *annotators):
      """Composes multiple annotator layouts and elements
  
      The composed Layout will contain all the elements in the
      supplied annotators and an overlay of all editor tables.
  
      Args:
          annotators: Annotator layouts or elements to compose
  
      Returns:
          A new layout consisting of the overlaid plots and tables
      """
      layers = []
      tables = []
      for annotator in annotators:
          if isinstance(annotator, Layout):
              l, ts = annotator
              layers.append(l)
              tables += list(ts)
          elif isinstance(annotator, annotate):
              layers.append(annotator.plot)
              tables += [t[0].object for t in annotator.editor]
          elif isinstance(annotator, (HoloMap, ViewableElement)):
              layers.append(annotator)
          else:
              raise ValueError(
                  "Cannot compose %s type with annotators."
                  % type(annotator).__name__
              )
      tables = Overlay(tables, group="Annotator")
      return Overlay(layers).collate() + tables
  
imports: import sys
  from inspect import getmro
  import param
  from panel.layout import Row, Tabs
  from panel.pane import PaneBase
  from panel.util import param_name
  from .core import DynamicMap, Element, HoloMap, Layout, Overlay, Store, ViewableElement
  from .core.util import isscalar
  from .element import Curve, Path, Points, Polygons, Rectangles, Table
  from .plotting.links import DataLink, RectanglesTableLink, SelectionLink, VertexTableLink
  from .streams import BoxEdit, CurveEdit, PointDraw, PolyDraw, PolyEdit, Selection1D
label_desc: Use image node_id 3 for calling the annotate obj's underlying member method code with example usage: obj.compose(cls) and returns: unknown