B
    îq\v	  ã               @   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: http://astroML.org/

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

    bins : int or 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 : 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   ú9lib/python3.7/site-packages/astropy/visualization/hist.pyr      s    1)r   Nr   )Zastropy.stats.histogramr   Ú__all__r   r   r   r   r   Ú<module>   s   