Skip to main content
`Ctrl`+`K`

# knuth_bin_width

astropy.stats.knuth_bin_width(data, return_bins=False, quiet=True)

  Return the optimal histogram bin width using Knuth’s rule.

  Knuth’s rule is a fixed-width, Bayesian approach to determining the optimal bin width of a histogram.

  Parameters:
    data numpy:array_like, ndim=1

      observed (one-dimensional) data

    return_bins bool, optional

      if True, then return the bin edges

    quiet bool, optional

      if True (default) then suppress stdout output from scipy.optimize

  Returns:
    dx `python:float`

      optimal bin width. Bins are measured starting at the first data point.

    bins `ndarray`

      bin edges: returned if `return_bins` is True

  See also

  `freedman_bin_width`
  `scott_bin_width`
  `bayesian_blocks`
  `histogram`

  Notes

  The optimal number of bins is the value M which maximizes the function

  \[F(M|x,I) = n\log(M) + \log\Gamma(\frac{M}{2}) - M\log\Gamma(\frac{1}{2}) - \log\Gamma(\frac{2n+M}{2}) + \sum_{k=1}^M \log\Gamma(n_k + \frac{1}{2})\]

  where \(\Gamma\) is the Gamma function, \(n\) is the number of data points, \(n_k\) is the number of measurements in bin \(k\) [1].

  References

  [1]

  Knuth, K.H. “Optimal Data-Based Binning for Histograms”. arXiv:0605197, 2006