docstr: ivy.Container instance method variant of ivy.<func_name>. This
  method simply wraps the function, and so the docstring for
  ivy.histogram also applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      input array.
  bins
      if ``bins`` is an int, it defines the number of equal-width bins in the
      given range.
      if ``bins`` is an array, it defines a monotonically increasing array of bin
      edges, including the rightmost edge, allowing for non-uniform bin widths.
  axis
      dimension along which maximum values must be computed. By default, the
      maximum value must be computed over the entire array. Default: ``None``.
  extend_lower_interval
      if True, extend the lowest interval I0 to (-inf, c1].
  extend_upper_interval
      ff True, extend the upper interval I_{K-1} to [c_{K-1}, +inf).
  dtype
      the output type.
  range
      the lower and upper range of the bins. The first element of the range must
      be less than or equal to the second.
  weights
      each value in ``a`` only contributes its associated weight towards the bin
      count (instead of 1). Must be of the same shape as a.
  density
      if True, the result is the value of the probability density function at the
      bin, normalized such that the integral over the range of bins is 1.
  key_chains
      The key-chains to apply or not apply the method to. Default is ``None``.
  to_apply
      If True, the method will be applied to key_chains, otherwise key_chains
      will be skipped. Default is ``True``.
  prune_unapplied
      Whether to prune key_chains for which the function was not applied.
      Default is ``False``.
  map_sequences
      Whether to also map method to sequences (lists, tuples).
      Default is ``False``.
  out
      optional output, for writing the result to. It must have a shape that the
      inputs broadcast to.
  
  Returns
  -------
  ret
      a tuple containing the values of the histogram and the bin edges.
  
  Both the description and the type hints above assumes an array input for
  simplicity, but this function is *nestable*, and therefore also accepts
  :class:`ivy.Container` instances in place of any of the arguments.
  
  Examples
  --------
  With :class:`ivy.Container` input:
  
  >>> x = ivy.Container(a=ivy.array([0., 1., 2.]), b=ivy.array([3., 4., 5.]))
  >>> y = ivy.array([0., 1., 2., 3., 4., 5.])
  >>> dtype = ivy.int32
  >>> z = x.histogram(bins=y, dtype=dtype)
  >>> print(z)
  {
      a: ivy.array([1, 1, 1, 0, 0]),
      b: ivy.array([0, 0, 0, 1, 2])
  }
docstr_tok: ["ivy.Container","instance","method","variant","of","ivy.","<","func_name",">",".","This","method","simply","wraps","the","function",",","and","so","the","docstring","for","ivy.histogram","also","applies","to","this","method","with","minimal","changes",".","Parameters","--","--","--","--","--","self","input","array",".","bins","if","``","bins","``","is","an","int",",","it","defines","the","number","of","equal-width","bins","in","the","given","range",".","if","``","bins","``","is","an","array",",","it","defines","a","monotonically","increasing","array","of","bin","edges",",","including","the","rightmost","edge",",","allowing","for","non-uniform","bin","widths",".","axis","dimension","along","which","maximum","values","must","be","computed",".","By","default",",","the","maximum","value","must","be","computed","over","the","entire","array",".","Default",":","``","None","``",".","extend_lower_interval","if","True",",","extend","the","lowest","interval","I0","to","(","-inf",",","c1","]",".","extend_upper_interval","ff","True",",","extend","the","upper","interval","I_","{","K-1","}","to","[","c_","{","K-1","}",",","+inf",")",".","dtype","the","output","type",".","range","the","lower","and","upper","range","of","the","bins",".","The","first","element","of","the","range","must","be","less","than","or","equal","to","the","second",".","weights","each","value","in","``","a","``","only","contributes","its","associated","weight","towards","the","bin","count","(","instead","of","1",")",".","Must","be","of","the","same","shape","as","a.","density","if","True",",","the","result","is","the","value","of","the","probability","density","function","at","the","bin",",","normalized","such","that","the","integral","over","the","range","of","bins","is","1.","key_chains","The","key-chains","to","apply","or","not","apply","the","method","to",".","Default","is","``","None","``",".","to_apply","If","True",",","the","method","will","be","applied","to","key_chains",",","otherwise","key_chains","will","be","skipped",".","Default","is","``","True","``",".","prune_unapplied","Whether","to","prune","key_chains","for","which","the","function","was","not","applied",".","Default","is","``","False","``",".","map_sequences","Whether","to","also","map","method","to","sequences","(","lists",",","tuples",")",".","Default","is","``","False","``",".","out","optional","output",",","for","writing","the","result","to",".","It","must","have","a","shape","that","the","inputs","broadcast","to",".","Returns","--","--","--","-","ret","a","tuple","containing","the","values","of","the","histogram","and","the","bin","edges",".","Both","the","description","and","the","type","hints","above","assumes","an","array","input","for","simplicity",",","but","this","function","is","*","nestable","*",",","and","therefore","also","accepts",":","class",":","`","ivy.Container","`","instances","in","place","of","any","of","the","arguments",".","Examples","--","--","--","--","With",":","class",":","`","ivy.Container","`","input",":",">",">",">","x","=","ivy.Container","(","a=ivy.array","(","[","0.",",","1.",",","2",".","]",")",",","b=ivy.array","(","[","3.",",","4.",",","5",".","]",")",")",">",">",">","y","=","ivy.array","(","[","0.",",","1.",",","2.",",","3.",",","4.",",","5",".","]",")",">",">",">","dtype","=","ivy.int32",">",">",">","z","=","x.histogram","(","bins=y",",","dtype=dtype",")",">",">",">","print","(","z",")","{","a",":","ivy.array","(","[","1",",","1",",","1",",","0",",","0","]",")",",","b",":","ivy.array","(","[","0",",","0",",","0",",","1",",","2","]",")","}"]
code: def histogram(
      self: ivy.Container,
      /,
      *,
      bins: Optional[
          Union[int, ivy.Array, ivy.NativeArray, ivy.Container, str]
      ] = None,
      axis: Optional[
          Union[ivy.Array, ivy.NativeArray, ivy.Container]
      ] = None,
      extend_lower_interval: Optional[
          Union[bool, ivy.Container]
      ] = False,
      extend_upper_interval: Optional[
          Union[bool, ivy.Container]
      ] = False,
      dtype: Optional[
          Union[ivy.Dtype, ivy.NativeDtype, ivy.Container]
      ] = None,
      range: Optional[Union[Tuple[float], ivy.Container]] = None,
      weights: Optional[
          Union[ivy.Array, ivy.NativeArray, ivy.Container]
      ] = None,
      density: Optional[Union[bool, ivy.Container]] = False,
      key_chains: Optional[
          Union[List[str], Dict[str, str], ivy.Container]
      ] = None,
      to_apply: Union[bool, ivy.Container] = True,
      prune_unapplied: Union[bool, ivy.Container] = False,
      map_sequences: Union[bool, ivy.Container] = False,
      out: Optional[ivy.Container] = None,
  ) -> ivy.Container:
      """ivy.Container instance method variant of ivy.<func_name>. This
      method simply wraps the function, and so the docstring for
      ivy.histogram also applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          input array.
      bins
          if ``bins`` is an int, it defines the number of equal-width bins in the
          given range.
          if ``bins`` is an array, it defines a monotonically increasing array of bin
          edges, including the rightmost edge, allowing for non-uniform bin widths.
      axis
          dimension along which maximum values must be computed. By default, the
          maximum value must be computed over the entire array. Default: ``None``.
      extend_lower_interval
          if True, extend the lowest interval I0 to (-inf, c1].
      extend_upper_interval
          ff True, extend the upper interval I_{K-1} to [c_{K-1}, +inf).
      dtype
          the output type.
      range
          the lower and upper range of the bins. The first element of the range must
          be less than or equal to the second.
      weights
          each value in ``a`` only contributes its associated weight towards the bin
          count (instead of 1). Must be of the same shape as a.
      density
          if True, the result is the value of the probability density function at the
          bin, normalized such that the integral over the range of bins is 1.
      key_chains
          The key-chains to apply or not apply the method to. Default is ``None``.
      to_apply
          If True, the method will be applied to key_chains, otherwise key_chains
          will be skipped. Default is ``True``.
      prune_unapplied
          Whether to prune key_chains for which the function was not applied.
          Default is ``False``.
      map_sequences
          Whether to also map method to sequences (lists, tuples).
          Default is ``False``.
      out
          optional output, for writing the result to. It must have a shape that the
          inputs broadcast to.
  
      Returns
      -------
      ret
          a tuple containing the values of the histogram and the bin edges.
  
      Both the description and the type hints above assumes an array input for
      simplicity, but this function is *nestable*, and therefore also accepts
      :class:`ivy.Container` instances in place of any of the arguments.
  
      Examples
      --------
      With :class:`ivy.Container` input:
  
      >>> x = ivy.Container(a=ivy.array([0., 1., 2.]), b=ivy.array([3., 4., 5.]))
      >>> y = ivy.array([0., 1., 2., 3., 4., 5.])
      >>> dtype = ivy.int32
      >>> z = x.histogram(bins=y, dtype=dtype)
      >>> print(z)
      {
          a: ivy.array([1, 1, 1, 0, 0]),
          b: ivy.array([0, 0, 0, 1, 2])
      }
      """
      return self.static_histogram(
          self,
          bins=bins,
          axis=axis,
          extend_lower_interval=extend_lower_interval,
          extend_upper_interval=extend_upper_interval,
          dtype=dtype,
          range=range,
          weights=weights,
          density=density,
          key_chains=key_chains,
          to_apply=to_apply,
          prune_unapplied=prune_unapplied,
          map_sequences=map_sequences,
          out=out,
      )
  
imports: from typing import Optional, Union, List, Dict, Tuple, Sequence
  import ivy
  from ivy.data_classes.container.base import ContainerBase
label_desc: Use image node_id 2 for calling the _ContainerWithStatisticalExperimental obj's underlying member method code with example usage: obj.histogram() and returns: self