docstr: Construct a new Modebar object
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of
      :class:`plotly.graph_objs.layout.Modebar`
  activecolor
      Sets the color of the active or hovered on icons in the
      modebar.
  add
      Determines which predefined modebar buttons to add.
      Please note that these buttons will only be shown if
      they are compatible with all trace types used in a
      graph. Similar to `config.modeBarButtonsToAdd` option.
      This may include "v1hovermode", "hoverclosest",
      "hovercompare", "togglehover", "togglespikelines",
      "drawline", "drawopenpath", "drawclosedpath",
      "drawcircle", "drawrect", "eraseshape".
  addsrc
      Sets the source reference on Chart Studio Cloud for
      `add`.
  bgcolor
      Sets the background color of the modebar.
  color
      Sets the color of the icons in the modebar.
  orientation
      Sets the orientation of the modebar.
  remove
      Determines which predefined modebar buttons to remove.
      Similar to `config.modeBarButtonsToRemove` option. This
      may include "autoScale2d", "autoscale",
      "editInChartStudio", "editinchartstudio",
      "hoverCompareCartesian", "hovercompare", "lasso",
      "lasso2d", "orbitRotation", "orbitrotation", "pan",
      "pan2d", "pan3d", "reset", "resetCameraDefault3d",
      "resetCameraLastSave3d", "resetGeo",
      "resetSankeyGroup", "resetScale2d", "resetViewMapbox",
      "resetViews", "resetcameradefault",
      "resetcameralastsave", "resetsankeygroup",
      "resetscale", "resetview", "resetviews", "select",
      "select2d", "sendDataToCloud", "senddatatocloud",
      "tableRotation", "tablerotation", "toImage",
      "toggleHover", "toggleSpikelines", "togglehover",
      "togglespikelines", "toimage", "zoom", "zoom2d",
      "zoom3d", "zoomIn2d", "zoomInGeo", "zoomInMapbox",
      "zoomOut2d", "zoomOutGeo", "zoomOutMapbox", "zoomin",
      "zoomout".
  removesrc
      Sets the source reference on Chart Studio Cloud for
      `remove`.
  uirevision
      Controls persistence of user-driven changes related to
      the modebar, including `hovermode`, `dragmode`, and
      `showspikes` at both the root level and inside
      subplots. Defaults to `layout.uirevision`.
  
  Returns
  -------
  Modebar
docstr_tok: ["Construct","a","new","Modebar","object","Parameters","--","--","--","--","--","arg","dict","of","properties","compatible","with","this","constructor","or","an","instance","of",":","class",":","`","plotly.graph_objs.layout.Modebar","`","activecolor","Sets","the","color","of","the","active","or","hovered","on","icons","in","the","modebar",".","add","Determines","which","predefined","modebar","buttons","to","add",".","Please","note","that","these","buttons","will","only","be","shown","if","they","are","compatible","with","all","trace","types","used","in","a","graph",".","Similar","to","`","config.modeBarButtonsToAdd","`","option",".","This","may","include","``","v1hovermode","''",",","``","hoverclosest","''",",","``","hovercompare","''",",","``","togglehover","''",",","``","togglespikelines","''",",","``","drawline","''",",","``","drawopenpath","''",",","``","drawclosedpath","''",",","``","drawcircle","''",",","``","drawrect","''",",","``","eraseshape","''",".","addsrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","add","`",".","bgcolor","Sets","the","background","color","of","the","modebar",".","color","Sets","the","color","of","the","icons","in","the","modebar",".","orientation","Sets","the","orientation","of","the","modebar",".","remove","Determines","which","predefined","modebar","buttons","to","remove",".","Similar","to","`","config.modeBarButtonsToRemove","`","option",".","This","may","include","``","autoScale2d","''",",","``","autoscale","''",",","``","editInChartStudio","''",",","``","editinchartstudio","''",",","``","hoverCompareCartesian","''",",","``","hovercompare","''",",","``","lasso","''",",","``","lasso2d","''",",","``","orbitRotation","''",",","``","orbitrotation","''",",","``","pan","''",",","``","pan2d","''",",","``","pan3d","''",",","``","reset","''",",","``","resetCameraDefault3d","''",",","``","resetCameraLastSave3d","''",",","``","resetGeo","''",",","``","resetSankeyGroup","''",",","``","resetScale2d","''",",","``","resetViewMapbox","''",",","``","resetViews","''",",","``","resetcameradefault","''",",","``","resetcameralastsave","''",",","``","resetsankeygroup","''",",","``","resetscale","''",",","``","resetview","''",",","``","resetviews","''",",","``","select","''",",","``","select2d","''",",","``","sendDataToCloud","''",",","``","senddatatocloud","''",",","``","tableRotation","''",",","``","tablerotation","''",",","``","toImage","''",",","``","toggleHover","''",",","``","toggleSpikelines","''",",","``","togglehover","''",",","``","togglespikelines","''",",","``","toimage","''",",","``","zoom","''",",","``","zoom2d","''",",","``","zoom3d","''",",","``","zoomIn2d","''",",","``","zoomInGeo","''",",","``","zoomInMapbox","''",",","``","zoomOut2d","''",",","``","zoomOutGeo","''",",","``","zoomOutMapbox","''",",","``","zoomin","''",",","``","zoomout","''",".","removesrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","remove","`",".","uirevision","Controls","persistence","of","user-driven","changes","related","to","the","modebar",",","including","`","hovermode","`",",","`","dragmode","`",",","and","`","showspikes","`","at","both","the","root","level","and","inside","subplots",".","Defaults","to","`","layout.uirevision","`",".","Returns","--","--","--","-","Modebar"]
code: def __init__(
      self,
      arg=None,
      activecolor=None,
      add=None,
      addsrc=None,
      bgcolor=None,
      color=None,
      orientation=None,
      remove=None,
      removesrc=None,
      uirevision=None,
      **kwargs,
  ):
      """
      Construct a new Modebar object
  
      Parameters
      ----------
      arg
          dict of properties compatible with this constructor or
          an instance of
          :class:`plotly.graph_objs.layout.Modebar`
      activecolor
          Sets the color of the active or hovered on icons in the
          modebar.
      add
          Determines which predefined modebar buttons to add.
          Please note that these buttons will only be shown if
          they are compatible with all trace types used in a
          graph. Similar to `config.modeBarButtonsToAdd` option.
          This may include "v1hovermode", "hoverclosest",
          "hovercompare", "togglehover", "togglespikelines",
          "drawline", "drawopenpath", "drawclosedpath",
          "drawcircle", "drawrect", "eraseshape".
      addsrc
          Sets the source reference on Chart Studio Cloud for
          `add`.
      bgcolor
          Sets the background color of the modebar.
      color
          Sets the color of the icons in the modebar.
      orientation
          Sets the orientation of the modebar.
      remove
          Determines which predefined modebar buttons to remove.
          Similar to `config.modeBarButtonsToRemove` option. This
          may include "autoScale2d", "autoscale",
          "editInChartStudio", "editinchartstudio",
          "hoverCompareCartesian", "hovercompare", "lasso",
          "lasso2d", "orbitRotation", "orbitrotation", "pan",
          "pan2d", "pan3d", "reset", "resetCameraDefault3d",
          "resetCameraLastSave3d", "resetGeo",
          "resetSankeyGroup", "resetScale2d", "resetViewMapbox",
          "resetViews", "resetcameradefault",
          "resetcameralastsave", "resetsankeygroup",
          "resetscale", "resetview", "resetviews", "select",
          "select2d", "sendDataToCloud", "senddatatocloud",
          "tableRotation", "tablerotation", "toImage",
          "toggleHover", "toggleSpikelines", "togglehover",
          "togglespikelines", "toimage", "zoom", "zoom2d",
          "zoom3d", "zoomIn2d", "zoomInGeo", "zoomInMapbox",
          "zoomOut2d", "zoomOutGeo", "zoomOutMapbox", "zoomin",
          "zoomout".
      removesrc
          Sets the source reference on Chart Studio Cloud for
          `remove`.
      uirevision
          Controls persistence of user-driven changes related to
          the modebar, including `hovermode`, `dragmode`, and
          `showspikes` at both the root level and inside
          subplots. Defaults to `layout.uirevision`.
  
      Returns
      -------
      Modebar
      """
      super(Modebar, self).__init__("modebar")
  
      if "_parent" in kwargs:
          self._parent = kwargs["_parent"]
          return
  
      # Validate arg
      # ------------
      if arg is None:
          arg = {}
      elif isinstance(arg, self.__class__):
          arg = arg.to_plotly_json()
      elif isinstance(arg, dict):
          arg = _copy.copy(arg)
      else:
          raise ValueError(
              """\
  The first argument to the plotly.graph_objs.layout.Modebar
  constructor must be a dict or
  an instance of :class:`plotly.graph_objs.layout.Modebar`"""
          )
  
      # Handle skip_invalid
      # -------------------
      self._skip_invalid = kwargs.pop("skip_invalid", False)
      self._validate = kwargs.pop("_validate", True)
  
      # Populate data dict with properties
      # ----------------------------------
      _v = arg.pop("activecolor", None)
      _v = activecolor if activecolor is not None else _v
      if _v is not None:
          self["activecolor"] = _v
      _v = arg.pop("add", None)
      _v = add if add is not None else _v
      if _v is not None:
          self["add"] = _v
      _v = arg.pop("addsrc", None)
      _v = addsrc if addsrc is not None else _v
      if _v is not None:
          self["addsrc"] = _v
      _v = arg.pop("bgcolor", None)
      _v = bgcolor if bgcolor is not None else _v
      if _v is not None:
          self["bgcolor"] = _v
      _v = arg.pop("color", None)
      _v = color if color is not None else _v
      if _v is not None:
          self["color"] = _v
      _v = arg.pop("orientation", None)
      _v = orientation if orientation is not None else _v
      if _v is not None:
          self["orientation"] = _v
      _v = arg.pop("remove", None)
      _v = remove if remove is not None else _v
      if _v is not None:
          self["remove"] = _v
      _v = arg.pop("removesrc", None)
      _v = removesrc if removesrc is not None else _v
      if _v is not None:
          self["removesrc"] = _v
      _v = arg.pop("uirevision", None)
      _v = uirevision if uirevision is not None else _v
      if _v is not None:
          self["uirevision"] = _v
  
      # Process unknown kwargs
      # ----------------------
      self._process_kwargs(**dict(arg, **kwargs))
  
      # Reset skip_invalid
      # ------------------
      self._skip_invalid = False
  
imports: from plotly.basedatatypes import BaseLayoutHierarchyType
  import copy
label_desc: Use image node_id 20 to create a new Modebar object from inherited base classes: _BaseLayoutHierarchyType with example: obj = Modebar(arg, activecolor, add, addsrc, bgcolor, color, orientation, remove, removesrc, uirevision)