docstr: Construct a new Cumulative object
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of
      :class:`plotly.graph_objs.histogram.Cumulative`
  currentbin
      Only applies if cumulative is enabled. Sets whether the
      current bin is included, excluded, or has half of its
      value included in the current cumulative value.
      "include" is the default for compatibility with various
      other tools, however it introduces a half-bin bias to
      the results. "exclude" makes the opposite half-bin
      bias, and "half" removes it.
  direction
      Only applies if cumulative is enabled. If "increasing"
      (default) we sum all prior bins, so the result
      increases from left to right. If "decreasing" we sum
      later bins so the result decreases from left to right.
  enabled
      If true, display the cumulative distribution by summing
      the binned values. Use the `direction` and `centralbin`
      attributes to tune the accumulation method. Note: in
      this mode, the "density" `histnorm` settings behave the
      same as their equivalents without "density": "" and
      "density" both rise to the number of data points, and
      "probability" and *probability density* both rise to
      the number of sample points.
  
  Returns
  -------
  Cumulative
code: def __init__(
      self,
      arg=None,
      currentbin=None,
      direction=None,
      enabled=None,
      **kwargs,
  ):
      """
      Construct a new Cumulative object
  
      Parameters
      ----------
      arg
          dict of properties compatible with this constructor or
          an instance of
          :class:`plotly.graph_objs.histogram.Cumulative`
      currentbin
          Only applies if cumulative is enabled. Sets whether the
          current bin is included, excluded, or has half of its
          value included in the current cumulative value.
          "include" is the default for compatibility with various
          other tools, however it introduces a half-bin bias to
          the results. "exclude" makes the opposite half-bin
          bias, and "half" removes it.
      direction
          Only applies if cumulative is enabled. If "increasing"
          (default) we sum all prior bins, so the result
          increases from left to right. If "decreasing" we sum
          later bins so the result decreases from left to right.
      enabled
          If true, display the cumulative distribution by summing
          the binned values. Use the `direction` and `centralbin`
          attributes to tune the accumulation method. Note: in
          this mode, the "density" `histnorm` settings behave the
          same as their equivalents without "density": "" and
          "density" both rise to the number of data points, and
          "probability" and *probability density* both rise to
          the number of sample points.
  
      Returns
      -------
      Cumulative
      """
      super(Cumulative, self).__init__("cumulative")
  
      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.histogram.Cumulative 
  constructor must be a dict or 
  an instance of :class:`plotly.graph_objs.histogram.Cumulative`"""
          )
  
      # 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("currentbin", None)
      _v = currentbin if currentbin is not None else _v
      if _v is not None:
          self["currentbin"] = _v
      _v = arg.pop("direction", None)
      _v = direction if direction is not None else _v
      if _v is not None:
          self["direction"] = _v
      _v = arg.pop("enabled", None)
      _v = enabled if enabled is not None else _v
      if _v is not None:
          self["enabled"] = _v
  
      # Process unknown kwargs
      # ----------------------
      self._process_kwargs(**dict(arg, **kwargs))
  
      # Reset skip_invalid
      # ------------------
      self._skip_invalid = False
  
file_path: catboost/contrib/python/plotly/py2/plotly/graph_objs/histogram/_cumulative.py
imports: from plotly.basedatatypes import BaseTraceHierarchyType
  import copy
label_desc: Use image node_id 8 to create a new Cumulative object from inherited base classes: _BaseTraceHierarchyType with example: obj = Cumulative(arg, currentbin, direction, enabled)