B
    Ú‹d‰	  ã               @   s    d dl mZ dgZddd„ZdS )é    )Úcalculate_bin_edgesÚhisté
   Nç     jø@c             K   st   |  dd¡}|  dd¡}t| |||d}t|ƒ|krHtdjt|ƒdƒ‚|dkrdddlm} | ¡ }|j| |f|ŽS )aÙ  Enhanced histogram function

    This is a histogram function that enables the use of more sophisticated
    algorithms for determining bins.  Aside from the ``bins`` argument allowing
    a string specified how bins are computed, the parameters are the same
    as pylab.hist().

    This function was ported from astroML: https://www.astroml.org/

    Parameters
    ----------
    x : array-like
        array of data to be histogrammed

    bins : int, list, or str, optional
        If bins is a string, then it must be one of:

        - 'blocks' : use bayesian blocks for dynamic bin widths

        - 'knuth' : use Knuth's rule to determine bins

        - 'scott' : use Scott's rule to determine bins

        - 'freedman' : use the Freedman-Diaconis rule to determine bins

    ax : `~matplotlib.axes.Axes` instance, optional
        Specify the Axes on which to draw the histogram. If not specified,
        then the current active axes will be used.

    max_bins : int, optional
        Maximum number of bins allowed. With more than a few thousand bins
        the performance of matplotlib will not be great. If the number of
        bins is large *and* the number of input data points is large then
        the it will take a very long time to compute the histogram.

    **kwargs :
        other keyword arguments are described in ``plt.hist()``.

    Notes
    -----
    Return values are the same as for ``plt.hist()``

    See Also
    --------
    astropy.stats.histogram
    ÚrangeNÚweights)r   r   z‚Histogram has too many bins: {nbin}. Use max_bins to increase the number of allowed bins or range to restrict the histogram range.)Znbinr   )	Úgetr   ÚlenÚ
ValueErrorÚformatZmatplotlib.pyplotZpyplotZgcar   )ÚxZbinsZaxZmax_binsÚkwargsr   r   Zplt© r   úg/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/astropy/visualization/hist.pyr      s    1)r   Nr   )Zastropy.stats.histogramr   Ú__all__r   r   r   r   r   Ú<module>   s   