class_docstr: Dashboard class for creating interactive dashboard objects.
  
  Dashboards are dicts that contain boxes which hold plot information.
  These boxes can be arranged in various ways. The most basic form of
  a box is:
  
  ```
  {
      'type': 'box',
      'boxType': 'plot'
  }
  ```
  
  where 'fileId' can be set to the 'username:#' of your plot. The other
  parameters a box takes are `shareKey` (default is None) and `title`
  (default is '').
  
  `.get_preview()` should be called quite regularly to get an HTML
  representation of the dashboard in which the boxes in the HTML
  are labelled with on-the-fly-generated numbers or box ids which
  change after each modification to the dashboard.
  
  `.get_box()` returns the box located in the dashboard by calling
  its box id as displayed via `.get_preview()`.
  
  Example 1: Create a simple Dashboard object
  ```
  import plotly.dashboard_objs as dashboard
  
  box_a = {
      'type': 'box',
      'boxType': 'plot',
      'fileId': 'username:some#',
      'title': 'box a'
  }
  
  box_b = {
      'type': 'box',
      'boxType': 'plot',
      'fileId': 'username:some#',
      'title': 'box b'
  }
  
  box_c = {
      'type': 'box',
      'boxType': 'plot',
      'fileId': 'username:some#',
      'title': 'box c'
  }
  
  my_dboard = dashboard.Dashboard()
  my_dboard.insert(box_a)
  # my_dboard.get_preview()
  my_dboard.insert(box_b, 'above', 1)
  # my_dboard.get_preview()
  my_dboard.insert(box_c, 'left', 2)
  # my_dboard.get_preview()
  my_dboard.swap(1, 2)
  # my_dboard.get_preview()
  my_dboard.remove(1)
  # my_dboard.get_preview()
  ```
  
  Example 2: 4 vertical boxes of equal height
  ```
  import plotly.dashboard_objs as dashboard
  
  box_a = {
      'type': 'box',
      'boxType': 'plot',
      'fileId': 'username:some#',
      'title': 'box a'
  }
  
  my_dboard = dashboard.Dashboard()
  my_dboard.insert(box_a)
  my_dboard.insert(box_a, 'below', 1)
  my_dboard.insert(box_a, 'below', 1)
  my_dboard.insert(box_a, 'below', 3)
  # my_dboard.get_preview()
  ```
docstr: Remove a box from the dashboard by its box_id.
  
  Example:
  ```
  import plotly.dashboard_objs as dashboard
  
  box_a = {
      'type': 'box',
      'boxType': 'plot',
      'fileId': 'username:some#',
      'title': 'box a'
  }
  
  my_dboard = dashboard.Dashboard()
  my_dboard.insert(box_a)
  my_dboard.remove(1)
  my_dboard.get_preview()
  ```
docstr_tok: ["Remove","a","box","from","the","dashboard","by","its","box_id",".","Example",":","``","`","import","plotly.dashboard_objs","as","dashboard","box_a","=","{","'type","'",":","'box","'",",","'boxType","'",":","'plot","'",",","'fileId","'",":","'username",":","some","#","'",",","'title","'",":","'box","a'","}","my_dboard","=","dashboard.Dashboard","(",")","my_dboard.insert","(","box_a",")","my_dboard.remove","(","1",")","my_dboard.get_preview","(",")","``","`"]
code: def remove(self, box_id):
      """
      Remove a box from the dashboard by its box_id.
  
      Example:
      ```
      import plotly.dashboard_objs as dashboard
  
      box_a = {
          'type': 'box',
          'boxType': 'plot',
          'fileId': 'username:some#',
          'title': 'box a'
      }
  
      my_dboard = dashboard.Dashboard()
      my_dboard.insert(box_a)
      my_dboard.remove(1)
      my_dboard.get_preview()
      ```
      """
      box_ids_to_path = self._compute_box_ids()
      if box_id not in box_ids_to_path:
          raise _plotly_utils.exceptions.PlotlyError(
              ID_NOT_VALID_MESSAGE
          )
  
      path = box_ids_to_path[box_id]
      if path != ("first",):
          container_for_box_id = self._path_to_box(path[:-1])
          if path[-1] == "first":
              adjacent_path = "second"
          elif path[-1] == "second":
              adjacent_path = "first"
          adjacent_box = container_for_box_id[adjacent_path]
  
          self._insert(adjacent_box, path[:-1])
      else:
          self["layout"] = None
  
      self._set_dashboard_size()
  
imports: import pprint
  import _plotly_utils.exceptions
  from _plotly_utils import optional_imports
  from chart_studio import exceptions
label_desc: Use image node_id 10 for calling the Dashboard obj's underlying member method code with example usage: obj.remove(box_id) without return types