class_docstr: An AdjointLayout provides a convenient container to lay out some
  marginal plots next to a primary plot. This is often useful to
  display the marginal distributions of a plot next to the primary
  plot. AdjointLayout accepts a list of up to three elements, which
  are laid out as follows with the names 'main', 'top' and 'right':
  
   _______________
  |     3     |   |
  |___________|___|
  |           |   |  1:  main
  |           |   |  2:  right
  |     1     | 2 |  3:  top
  |           |   |
  |___________|___|
class_docstr_tok: ["An","AdjointLayout","provides","a","convenient","container","to","lay","out","some","marginal","plots","next","to","a","primary","plot",".","This","is","often","useful","to","display","the","marginal","distributions","of","a","plot","next","to","the","primary","plot",".","AdjointLayout","accepts","a","list","of","up","to","three","elements",",","which","are","laid","out","as","follows","with","the","names","'main","'",",","'top","'","and","'right","'",":","_______________","|","3","|","|","|___________|___|","|","|","|","1",":","main","|","|","|","2",":","right","|","1","|","2","|","3",":","top","|","|","|","|___________|___|"]
docstr: Index into the AdjointLayout by index or label
code: def __getitem__(self, key):
      "Index into the AdjointLayout by index or label"
      if key == ():
          return self
  
      data_slice = None
      if isinstance(key, tuple):
          data_slice = key[1:]
          key = key[0]
  
      if isinstance(key, int) and key <= len(self):
          if key == 0:
              data = self.main
          if key == 1:
              data = self.right
          if key == 2:
              data = self.top
          if data_slice:
              data = data[data_slice]
          return data
      elif isinstance(key, str) and key in self.data:
          if data_slice is None:
              return self.data[key]
          else:
              self.data[key][data_slice]
      elif (
          isinstance(key, slice)
          and key.start is None
          and key.stop is None
      ):
          return (
              self
              if data_slice is None
              else self.clone([el[data_slice] for el in self])
          )
      else:
          raise KeyError(f"Key {key} not found in AdjointLayout.")
  
imports: import numpy
  import param
  from .None import traversal
  from .dimension import Dimension, Dimensioned, ViewableElement, ViewableTree
  from .ndmapping import NdMapping, UniformNdMapping
label_desc: Use image node_id 11 for calling the AdjointLayout obj's underlying member method code with example usage: obj.__getitem__(key) and returns: self, data, self, unknown