docstr: Construct a new Cluster object
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of
      :class:`plotly.graph_objs.scattermapbox.Cluster`
  color
      Sets the color for each cluster step.
  colorsrc
      Sets the source reference on Chart Studio Cloud for
      `color`.
  enabled
      Determines whether clustering is enabled or disabled.
  maxzoom
      Sets the maximum zoom level. At zoom levels equal to or
      greater than this, points will never be clustered.
  opacity
      Sets the marker opacity.
  opacitysrc
      Sets the source reference on Chart Studio Cloud for
      `opacity`.
  size
      Sets the size for each cluster step.
  sizesrc
      Sets the source reference on Chart Studio Cloud for
      `size`.
  step
      Sets how many points it takes to create a cluster or
      advance to the next cluster step. Use this in
      conjunction with arrays for `size` and / or `color`. If
      an integer, steps start at multiples of this number. If
      an array, each step extends from the given value until
      one less than the next value.
  stepsrc
      Sets the source reference on Chart Studio Cloud for
      `step`.
  
  Returns
  -------
  Cluster
docstr_tok: ["Construct","a","new","Cluster","object","Parameters","--","--","--","--","--","arg","dict","of","properties","compatible","with","this","constructor","or","an","instance","of",":","class",":","`","plotly.graph_objs.scattermapbox.Cluster","`","color","Sets","the","color","for","each","cluster","step",".","colorsrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","color","`",".","enabled","Determines","whether","clustering","is","enabled","or","disabled",".","maxzoom","Sets","the","maximum","zoom","level",".","At","zoom","levels","equal","to","or","greater","than","this",",","points","will","never","be","clustered",".","opacity","Sets","the","marker","opacity",".","opacitysrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","opacity","`",".","size","Sets","the","size","for","each","cluster","step",".","sizesrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","size","`",".","step","Sets","how","many","points","it","takes","to","create","a","cluster","or","advance","to","the","next","cluster","step",".","Use","this","in","conjunction","with","arrays","for","`","size","`","and","\/","or","`","color","`",".","If","an","integer",",","steps","start","at","multiples","of","this","number",".","If","an","array",",","each","step","extends","from","the","given","value","until","one","less","than","the","next","value",".","stepsrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","step","`",".","Returns","--","--","--","-","Cluster"]
code: def __init__(
      self,
      arg=None,
      color=None,
      colorsrc=None,
      enabled=None,
      maxzoom=None,
      opacity=None,
      opacitysrc=None,
      size=None,
      sizesrc=None,
      step=None,
      stepsrc=None,
      **kwargs,
  ):
      """
      Construct a new Cluster object
  
      Parameters
      ----------
      arg
          dict of properties compatible with this constructor or
          an instance of
          :class:`plotly.graph_objs.scattermapbox.Cluster`
      color
          Sets the color for each cluster step.
      colorsrc
          Sets the source reference on Chart Studio Cloud for
          `color`.
      enabled
          Determines whether clustering is enabled or disabled.
      maxzoom
          Sets the maximum zoom level. At zoom levels equal to or
          greater than this, points will never be clustered.
      opacity
          Sets the marker opacity.
      opacitysrc
          Sets the source reference on Chart Studio Cloud for
          `opacity`.
      size
          Sets the size for each cluster step.
      sizesrc
          Sets the source reference on Chart Studio Cloud for
          `size`.
      step
          Sets how many points it takes to create a cluster or
          advance to the next cluster step. Use this in
          conjunction with arrays for `size` and / or `color`. If
          an integer, steps start at multiples of this number. If
          an array, each step extends from the given value until
          one less than the next value.
      stepsrc
          Sets the source reference on Chart Studio Cloud for
          `step`.
  
      Returns
      -------
      Cluster
      """
      super(Cluster, self).__init__("cluster")
  
      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.scattermapbox.Cluster
  constructor must be a dict or
  an instance of :class:`plotly.graph_objs.scattermapbox.Cluster`"""
          )
  
      # 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("color", None)
      _v = color if color is not None else _v
      if _v is not None:
          self["color"] = _v
      _v = arg.pop("colorsrc", None)
      _v = colorsrc if colorsrc is not None else _v
      if _v is not None:
          self["colorsrc"] = _v
      _v = arg.pop("enabled", None)
      _v = enabled if enabled is not None else _v
      if _v is not None:
          self["enabled"] = _v
      _v = arg.pop("maxzoom", None)
      _v = maxzoom if maxzoom is not None else _v
      if _v is not None:
          self["maxzoom"] = _v
      _v = arg.pop("opacity", None)
      _v = opacity if opacity is not None else _v
      if _v is not None:
          self["opacity"] = _v
      _v = arg.pop("opacitysrc", None)
      _v = opacitysrc if opacitysrc is not None else _v
      if _v is not None:
          self["opacitysrc"] = _v
      _v = arg.pop("size", None)
      _v = size if size is not None else _v
      if _v is not None:
          self["size"] = _v
      _v = arg.pop("sizesrc", None)
      _v = sizesrc if sizesrc is not None else _v
      if _v is not None:
          self["sizesrc"] = _v
      _v = arg.pop("step", None)
      _v = step if step is not None else _v
      if _v is not None:
          self["step"] = _v
      _v = arg.pop("stepsrc", None)
      _v = stepsrc if stepsrc is not None else _v
      if _v is not None:
          self["stepsrc"] = _v
  
      # Process unknown kwargs
      # ----------------------
      self._process_kwargs(**dict(arg, **kwargs))
  
      # Reset skip_invalid
      # ------------------
      self._skip_invalid = False
  
imports: from plotly.basedatatypes import BaseTraceHierarchyType
  import copy
label_desc: Use image node_id 22 to create a new Cluster object from inherited base classes: _BaseTraceHierarchyType with example: obj = Cluster(arg, color, colorsrc, enabled, maxzoom, opacity, opacitysrc, size, sizesrc, step, stepsrc)