KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache
System : Linux server112.speedpacket.com 3.10.0-962.3.2.lve1.5.36.el7.x86_64 #1 SMP Mon May 18 02:16:06 EDT 2020 x86_64
User : equistyl ( 1341)
PHP Version : 8.1.30
Disable Function : NONE
Directory :  /lib64/python2.7/site-packages/matplotlib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib64/python2.7/site-packages/matplotlib/ticker.pyo
�
r`]c@ s_dZddlmZmZddlZddlZddlZddlZddl	m
Z
ddl	mZddl	mZ
defd��YZd	efd
��YZdefd��YZd
efd��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd ��YZd!efd"��YZd#efd$��YZd%efd&��YZd'efd(��YZd)efd*��YZ d+efd,��YZ!d-�Z"d.fd/��YZ#d0efd1��YZ$d2d3d4�Z%d5efd6��YZ&d7d8�Z'd7d9�Z(d:�Z)d7d;�Z*d<�Z+d=efd>��YZ,d?efd@��YZ-dAe&fdB��YZ.dCefdD��YZ/dEefdF��YZ0d	dddddddddd#d%d'd)d+d=dAd0d5dCfZ1dS(Gs
Tick locating and formatting
============================

This module contains classes to support completely configurable tick locating
and formatting.  Although the locators know nothing about major or minor
ticks, they are used by the Axis class to support major and minor tick
locating and formatting.  Generic tick locators and formatters are provided,
as well as domain specific custom ones..


Tick locating
-------------

The Locator class is the base class for all tick locators.  The locators
handle autoscaling of the view limits based on the data limits, and the
choosing of tick locations.  A useful semi-automatic tick locator is
MultipleLocator.  You initialize this with a base, eg 10, and it picks axis
limits and ticks that are multiples of your base.

The Locator subclasses defined here are

:class:`NullLocator`
    No ticks

:class:`FixedLocator`
    Tick locations are fixed

:class:`IndexLocator`
    locator for index plots (eg. where x = range(len(y)))

:class:`LinearLocator`
    evenly spaced ticks from min to max

:class:`LogLocator`
    logarithmically ticks from min to max

:class:`MultipleLocator`
    ticks and range are a multiple of base;
                  either integer or float
:class:`OldAutoLocator`
    choose a MultipleLocator and dyamically reassign it for
    intelligent ticking during navigation

:class:`MaxNLocator`
    finds up to a max number of ticks at nice  locations

:class:`AutoLocator`
    :class:`MaxNLocator` with simple defaults. This is the default
    tick locator for most plotting.

:class:`AutoMinorLocator`
    locator for minor ticks when the axis is linear and the
    major ticks are uniformly spaced.  It subdivides the major
    tick interval into a specified number of minor intervals,
    defaulting to 4 or 5 depending on the major interval.


There are a number of locators specialized for date locations - see
the dates module

You can define your own locator by deriving from Locator.  You must
override the __call__ method, which returns a sequence of locations,
and you will probably want to override the autoscale method to set the
view limits from the data limits.

If you want to override the default locator, use one of the above or a
custom locator and pass it to the x or y axis instance.  The relevant
methods are::

  ax.xaxis.set_major_locator( xmajorLocator )
  ax.xaxis.set_minor_locator( xminorLocator )
  ax.yaxis.set_major_locator( ymajorLocator )
  ax.yaxis.set_minor_locator( yminorLocator )

The default minor locator is the NullLocator, eg no minor ticks on by
default.

Tick formatting
---------------

Tick formatting is controlled by classes derived from Formatter.  The
formatter operates on a single tick value and returns a string to the
axis.

:class:`NullFormatter`
    no labels on the ticks

:class:`IndexFormatter`
    set the strings from a list of labels

:class:`FixedFormatter`
    set the strings manually for the labels

:class:`FuncFormatter`
    user defined function sets the labels

:class:`FormatStrFormatter`
    use a sprintf format string

:class:`ScalarFormatter`
    default formatter for scalars; autopick the fmt string

:class:`LogFormatter`
    formatter for log axes


You can derive your own formatter from the Formatter base class by
simply overriding the ``__call__`` method.  The formatter class has access
to the axis view and data limits.

To control the major and minor tick label formats, use one of the
following methods::

  ax.xaxis.set_major_formatter( xmajorFormatter )
  ax.xaxis.set_minor_formatter( xminorFormatter )
  ax.yaxis.set_major_formatter( ymajorFormatter )
  ax.yaxis.set_minor_formatter( yminorFormatter )

See :ref:`pylab_examples-major_minor_demo1` for an example of setting
major an minor ticks.  See the :mod:`matplotlib.dates` module for
more information and examples of using date locators and formatters.
i����(tdivisiontprint_functionN(trcParams(tcbook(t
transformst
_DummyAxiscB sAeZdd�Zd�Zd�Zd�Zd�Zd�ZRS(icC s1tjj�|_tjj�|_||_dS(N(tmtransformstBboxtunittdataLimtviewLimt_minpos(tselftminpos((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt__init__�scC s
|jjS(N(R
t	intervalx(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytget_view_interval�scC s||f|j_dS(N(R
R(Rtvmintvmax((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytset_view_interval�scC s|jS(N(R(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt
get_minpos�scC s
|jjS(N(R	R(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytget_data_interval�scC s||f|j_dS(N(R	R(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytset_data_interval�s(t__name__t
__module__RRRRRR(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�s				t
TickHelpercB s;eZdZd�Zd�Zd�Zd�Zd�ZRS(cC s
||_dS(N(taxis(RR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytset_axis�scK s%|jdkr!t|�|_ndS(N(RtNoneR(Rtkwargs((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytcreate_dummy_axis�scC s|jj||�dS(N(RR(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�scC s|jj||�dS(N(RR(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�scC s$|j||�|j||�dS(N(RR(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt
set_bounds�sN(	RRRRRRRRR(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�s				t	FormattercB sMeZdZgZdd�Zd�Zd�Zd�Zd�Z	d�Z
RS(s/
    Convert the tick location to a string
    cC std��dS(s[Return the format for tick val x at position pos; pos=None
           indicated unspecifiedsDerived must overrideN(tNotImplementedError(Rtxtpos((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt__call__�scC s
|j|�S(N(R$(Rtvalue((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytformat_data�scC s
|j|�S(sreturn a short string version(R&(RR%((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytformat_data_short�scC sdS(Nt((R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt
get_offset�scC s
||_dS(N(tlocs(RR*((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytset_locs�scC s|S(s�
        some classes may want to replace a hyphen for minus with the
        proper unicode symbol as described `here
        <http://sourceforge.net/tracker/index.php?func=detail&aid=1962574&group_id=80706&atid=560720>`_.
        The default is to do nothing

        Note, if you use this method, eg in :meth`format_data` or
        call, you probably don't want to use it for
        :meth:`format_data_short` since the toolbar uses this for
        interactive coord reporting and I doubt we can expect GUIs
        across platforms will handle the unicode correctly.  So for
        now the classes that override :meth:`fix_minus` should have an
        explicit :meth:`format_data_short` method
        ((Rts((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt	fix_minus�sN(RRt__doc__R*RR$R&R'R)R+R-(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR �s				tIndexFormattercB s#eZdZd�Zdd�ZRS(sL
    format the position x to the nearest i-th label where i=int(x+0.5)
    cC s||_t|�|_dS(N(tlabelstlentn(RR0((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�s	cC sBt|d�}|dkr dS||jkr3dS|j|SdS(sXReturn the format for tick val x at position pos; pos=None
        indicated unspecifiedg�?iR(N(tintR2R0(RR"R#ti((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�sN(RRR.RRR$(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR/�s	t
NullFormattercB seZdZdd�ZRS(sAlways return the empty stringcC sdS(s4Return the format for tick val *x* at position *pos*R(((RR"R#((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�sN(RRR.RR$(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR5�stFixedFormattercB s5eZdZd�Zdd�Zd�Zd�ZRS(s$Return fixed strings for tick labelscC s||_d|_dS(s�
        *seq* is a sequence of strings.  For positions ``i < len(seq)`` return
        *seq[i]* regardless of *x*.  Otherwise return ''
        R(N(tseqt
offset_string(RR7((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�s	cC s4|dks!|t|j�kr%dS|j|SdS(s4Return the format for tick val *x* at position *pos*R(N(RR1R7(RR"R#((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$s!cC s|jS(N(R8(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR)scC s
||_dS(N(R8(Rtofs((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytset_offset_stringsN(RRR.RRR$R)R:(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR6�s
		t
FuncFormattercB s#eZdZd�Zdd�ZRS(s.
    User defined function for formatting
    cC s
||_dS(N(tfunc(RR<((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRscC s|j||�S(s4Return the format for tick val *x* at position *pos*(R<(RR"R#((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$sN(RRR.RRR$(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR;s	tFormatStrFormattercB s#eZdZd�Zdd�ZRS(s0
    Use a format string to format the tick
    cC s
||_dS(N(tfmt(RR>((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR"scC s|j|S(s4Return the format for tick val *x* at position *pos*(R>(RR"R#((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$%sN(RRR.RRR$(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR=s	tOldScalarFormattercB s#eZdZdd�Zd�ZRS(s.
    Tick location is a plain old number.
    cC s5|jj�\}}t||�}|j||�S(s4Return the format for tick val *x* at position *pos*(RRtabst
pprint_val(RR"R#txmintxmaxtd((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$/sc	C sEt|�dkr,|t|�kr,d|S|dkrAd}nZ|dkrVd}nE|dkrkd}n0|d	kr�d
}n|dkr�d}nd}||}|jd
�}t|�dkr)|djd�jd�}|ddjdd�}|ddjd�}d|||f}n|jd�jd�}|S(Ng��@s%dg{�G�z�?s%1.3eg�������?s%1.3fgj�@s%1.1ei
s%1.1fis%1.2fteiit0t.t+R(s%se%s%s(R@R3tsplitR1trstriptreplacetlstrip(	RR"RDR>R,ttuptmantissatsigntexponent((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRA6s,$					
N(RRR.RR$RA(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR?*stScalarFormattercB s�eZdZeddd�Zd�Zd�Zedede�Z	d�Z
d�Zede
de�Zd�Z
dd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(s�
    Tick location is a plain old number.  If useOffset==True and the data range
    is much smaller than the data average, then an offset will be determined
    such that the tick labels are meaningful. Scientific notation is used for
    data < 10^-n or data >= 10^m, where n and m are the power limits set using
    set_powerlimits((n,m)). The defaults for these are controlled by the
    axes.formatter.limits rc parameter.

    cC s�|j|�td|_|dkr3td}n||_d|_d|_t|_td|_	|dkr}td}n||_
dS(Nstext.usetexsaxes.formatter.use_mathtextiR(saxes.formatter.limitssaxes.formatter.use_locale(t
set_useOffsetRt_usetexRt_useMathTexttorderOfMagnitudetformattTruet_scientifict_powerlimitst
_useLocale(Rt	useOffsettuseMathTextt	useLocale((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR`s


				

cC s|jS(N(t
_useOffset(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt
get_useOffsetrscC s=|ttgkr'd|_||_nt|_||_dS(Ni(RWtFalsetoffsetR^(Rtval((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRRus
		tfgettfsetcC s|jS(N(RZ(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt
get_useLocalescC s)|dkrtd|_n	||_dS(Nsaxes.formatter.use_locale(RRRZ(RRb((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt
set_useLocale�scC s-tdstdr|S|jdd�SdS(s&use a unicode minus rather than hyphenstext.usetexsaxes.unicode_minust-u−N(RRK(RR,((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR-�scC s9t|j�dkrdS|j|�}|j|�SdS(s4Return the format for tick val *x* at position *pos*iR(N(R1R*RAR-(RR"R#R,((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�scC st|�|_dS(seTrue or False to turn scientific notation on or off
        see also :meth:`set_powerlimits`
        N(tboolRX(Rtb((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytset_scientific�scC s
||_dS(s
        Sets size thresholds for scientific notation.

        e.g. ``formatter.set_powerlimits((-3, 4))`` sets the pre-2007 default
        in which scientific notation is used for numbers less than 1e-3 or
        greater than 1e4.
        See also :meth:`set_scientific`.
        N(RY(Rtlims((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytset_powerlimits�s
cC s(|jrtjd|f�Sd|SdS(s:return a short formatted string representation of a numbers%-12gN(RZtlocalet
format_string(RR%((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR'�s	cC sG|jr!tjd|f�}n
d|}|j|�}|j|�S(s4return a formatted string representation of a numbers%1.10e(RZRmRnt_formatSciNotationR-(RR%R,((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR&�s
	
cC sct|j�dkrdSd}|js1|jrVd}d}|jrw|j|j�}|jdkrwd|}qwn|jr�|js�|jr�|jd|j�}q�d|j}n|jr�|dkr�d|}ndjd|d|d	f�}qV|jr>|dkr d
|}ndjd||df�}qVdj||f�}n|j|�S(s'Return scientific notation, plus offsetiR(RHi
s1e%ds\times\mathdefault{%s}t$s
\mathdefault{s}$s\times%s(	R1R*RURaR&RSRTtjoinR-(RR,t	offsetStrt	sciNotStr((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR)�s2			
	
cC s�||_t|j�dkr||jj�\}}t||�}|jr\|j|�n|j|�|j||�ndS(sset the locations of the ticksiN(	R*R1RRR@R^t_set_offsett_set_orderOfMagnitudet_set_format(RR*RRRD((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR+�s		
cC s|j}|dks.t|�s.|dkr;d|_dStj|�}|rtjtjtjtj	|����}tjtj|��}tj	||�dkr
d|}|dkr�tj
tj|�|�||_qtjtj|�|�||_qd|_ndS(Niii
(
R*RR1Ratnptmeantmathtfloortlog10tabsolutetceiltmaxtmin(RtrangeR*tave_loctave_oomt	range_oomtp10((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRt�s	%	*
&&cC s�|jsd|_dStj|j�}|jrLtjtj|��}nX|d|dkrm|d}n
|d}|dkr�d}ntjtj|��}||j	dkr�||_n(||j	dkr�||_n	d|_dS(Nii����i(
RXRURwR|R*RaRyRzR{RY(RR�R*toomRb((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRu�s"			

	c	C swt|j�dkr1t|j�||g}n	|j}tj|�|jd|j}tj|�}t|j�dkr�|d }ntt	j
t	j|���}tdd|�}dd|}xL|dkrtj
|tj|d|��j�|kr|d8}q�Pq�W|d7}d	t|�d
|_|jrWd|j|_n|jrsd|j|_ndS(
Nii
i����iig����MbP?tdecimalsis%1.tfs$%s$s$\mathdefault{%s}$(R1R*tlistRwtasarrayRaRUtptpR3RyRzR{R~R@troundtstrRVRSRT(	RRRt_locsR*t	loc_ranget
loc_range_oomtsigfigstthresh((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRvs(	!
.

		cC sd||jd|j}tj|�dkr6d}n|jrUtj|j|f�S|j|SdS(Ni
g:�0�yE>i(RaRURwR|RZRmRnRV(RR"txp((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRA1s		cC s<|jr,tj�d}tj�d}nd}d}|jd�}y�|djd�j|�}|ddj|d	�}|ddjd�}|js�|jr|d
kr�d	}n|r�d||f}n|r�|r�d||fSd
||fSn d|||fjd�}|SWnt	k
r7|SXdS(Nt
decimal_pointt
positive_signRGRHREiRFiR(t1s	10^{%s%s}s%s{\times}%ss%s%ss%se%s%s(
RZRmt
localeconvRIRJRKRLRTRSt
IndexError(RR,R�R�RMtsignificandRORP((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRo:s,		
N(RRR.RWRRR_RRtpropertyR[ReRfR]R-R$RjRlR'R&R)R+RtRuRvRARo(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRQUs*																		tLogFormattercB sVeZdZded�Zd�Zd�Zd	d�Zd�Z	d�Z
d�ZRS(
s&
    Format values for log axis;

    g$@cC s|d|_||_dS(s�
        *base* is used to locate the decade tick,
        which will be the only one to be labeled if *labelOnlyBase*
        is ``False``
        gN(t_baset
labelOnlyBase(RtbaseR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR]s
cC s
||_dS(snchange the *base* for labeling - warning: should always match the
           base used for :class:`LogLocator`N(R�(RR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�fscC s
||_dS(s"switch on/off minor ticks labelingN(R�(RR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytlabel_minorkscC s�|jj�\}}t||�}|j}|dkr>dStj|�}tjt|��tj|�}t|�}	|	r�|j	r�d}
nD|dkr�d|}
n+|dkr�d|}
n|j
||�}
|dkr�d|
}
n|j|
�S(	s4Return the format for tick val *x* at position *pos*gRFR(i's%1.0eii����s-%s(RRR@R�RwRORytlogtis_close_to_intR�RAR-(RR"R#RRRDRiROtfxtisDecadeR,((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$os$	"	


cC s7|j}t|_tj|j|��}||_|S(N(R�R`Rt
strip_mathR$(RR%Ri((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR&�s
			cC sd|S(s:return a short formatted string representation of a numbers%-12g((RR%((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR'�sc	C sEt|�dkr,|t|�kr,d|S|dkrAd}nZ|dkrVd}nE|dkrkd}n0|d	kr�d
}n|dkr�d}nd}||}|jd
�}t|�dkr)|djd�jd�}|ddjdd�}|ddjd�}d|||f}n|jd�jd�}|S(Ng��@s%dg{�G�z�?s%1.3eg�������?s%1.3fgj�@s%1.1ei
s%1.1fis%1.2fREiiRFRGRHR(s%se%s%s(R@R3RIR1RJRKRL(	RR"RDR>R,RMRNRORP((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRA�s,$					
N(RRR.RWRR�R�RR$R&R'RA(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�Xs					tLogFormatterExponentcB seZdZdd�ZRS(sJ
    Format values for log axis; using ``exponent = log_base(value)``
    cC s|jj�\}}tj||dd�\}}t||�}|j}|dkr\dStj|�}tj	t|��tj	|�}t
|�}	|	r�|jr�d}
nD|dkr�d|}
n+|dkr�d|}
n|j||�}
|d	krd
|
}
n|j
|
�S(s4Return the format for tick val *x* at position *pos*texpanderg�������?iRFR(i's%1.0eii����s-%s(RRRtnonsingularR@R�RwRORyR�R�R�RAR-(RR"R#RRRDRiROR�R�R,((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�s&	"	


N(RRR.RR$(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��stLogFormatterMathtextcB seZdZdd�ZRS(sJ
    Format values for log axis; using ``exponent = log_base(value)``
    c	C s|j}td}|dkr0|r)dSdSntjt|��tj|�}t|�}|dkrpdnd}|ddkr�d	|}n
d
|}|r�|jr�dS|s�|r�d|||fSd|||fSn4|r�d
||t|�fSd||t|�fSdS(s4Return the format for tick val *x* at position *pos*stext.usetexis$0$s$\mathdefault{0}$RgR(igs%ds%ss
$%s%s^{%.2f}$s$\mathdefault{%s%s^{%.2f}}$s$%s%s^{%d}$s$\mathdefault{%s%s^{%d}}$N(R�RRyR�R@R�R�tnearest_long(	RR"R#RitusetexR�t	is_decadetsign_stringR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�s6	
"

N(RRR.RR$(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��stEngFormattercB s�eZdZidd6dd6dd6dd6d	d
6dd6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6Zdd&d#�Zd&d$�Zd%�ZRS('s�
    Formats axis values using engineering prefixes to represent powers of 1000,
    plus a specified unit, eg. 10 MHz instead of 1e7.
    tyi��tzi��tai��R�i�tpi�R2i����uμi����tmi����R(itkitMitGi	tTitPitEitZitYicC s||_||_dS(N(Rtplaces(RRR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRs	cC s)d|j|�|jf}|j|�S(Ns%s%s(t
format_engRR-(RR"R#R,((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$#sc	C sKtjt|��}d}|dkr7d}|}n|dkrrtjttj|j�d�d��}ntjd�}|jt|j	j
���}|jt|j	j
���}|j	t|�}||d|}|jd	kr�d}n7|jdkrd}n|jdkr1d|j}n|||f}|j
�S(
sY Formats a number in engineering notation, appending a letter
        representing the power of 1000 of the original number. Some examples:

        >>> format_eng(0)       for self.places = 0
        '0'

        >>> format_eng(1000000) for self.places = 1
        '1.0 M'

        >>> format_eng("-1e-6") for self.places = 2
        u'-1.00 \u03bc'

        @param num: the value to represent
        @type num: either a numeric value or a string that can be converted to
                   a numeric value (as per decimal.Decimal constructor)

        @return: engineering formatted string
        iii����ii
u%g %su%i %su
%%.%if %%sN(tdecimaltDecimalR�R3RyRzR{RR~tENG_PREFIXEStkeysR�Rtstrip(	RtnumtdnumROtpow10tprefixtmantt
format_strt	formatted((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�'s(
/		N(RRR.R�RRR$R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�s,
tLocatorcB s\eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�ZRS(
s�
    Determine the tick locations;

    Note, you should not use the same locator between different
    :class:`~matplotlib.axis.Axis` because the locator stores references to
    the Axis data and view limits
    i�cC std��dS(s�
        Return the values of the located ticks given **vmin** and **vmax**.

        .. note::
            To get tick locations with the vmin and vmax values defined
            automatically for the associated :attr:`axis` simply call
            the Locator instance::

                >>> print(type(loc))
                <type 'Locator'>
                >>> print(loc())
                [1, 2, 3, 4]

        sDerived must overrideN(R!(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyttick_valueslscC std��dS(s!Return the locations of the tickssDerived must overrideN(R!(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$}scC sMt|�|jkrIddt|�|d|df}t|��n|S(sUraise a RuntimeError if Locator attempts to create more than
           MAXTICKS locss7Locator attempting to generate %d ticks from %s to %s: sexceeds Locator.MAXTICKSii����(R1tMAXTICKStRuntimeError(RR*tmsg((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytraise_if_exceeds�s
"cC stj||�S(sk
        select a scale for the range from vmin to vmax

        Normally This will be overridden.
        (RR�(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytview_limits�scC s|j|jj��S(sautoscale the view limits(R�RR(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt	autoscale�scC s�|�}t|�}|jj�\}}tj||dd�\}}|dkrs|t|d|d�}nt||�}||d}||7}||7}|jj||dt�dS(	s*Pan numticks (can be positive or negative)R�g�������?iiig@tignoreN(R1RRRR�R@RRW(RtnumstepsttickstnumticksRRtstepRD((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytpan�s	

cC sv|jj�\}}tj||dd�\}}t||�}d||}|jj||||dt�dS(s>Zoom in/out on axis; if direction is >0 zoom in, else zoom outR�g�������?g�������?R�N(RRRR�R@RRW(Rt	directionRRtintervalR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytzoom�s
cC sdS(s1refresh internal information based on current limN((R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytrefresh�s(RRR.R�R�R$R�R�R�R�R�R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�[s			
					tIndexLocatorcB s)eZdZd�Zd�Zd�ZRS(s�
    Place a tick on every multiple of some base number of points
    plotted, eg on every 5th point.  It is assumed that you are doing
    index plotting; ie the axis is 0, len(data).  This is mainly
    useful for x ticks.
    cC s||_||_dS(s<place ticks on the i-th data points where (i-offset)%base==0N(R�Ra(RR�Ra((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�s	cC s%|jj�\}}|j||�S(s!Return the locations of the ticks(RRR�(Rtdmintdmax((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�scC s*|jtj||j|d|j��S(Ni(R�RwtarangeRaR�(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��s(RRR.RR$R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��s		tFixedLocatorcB s,eZdZdd�Zd�Zd�ZRS(sn
    Tick locations are fixed.  If nbins is not None,
    the array of possible positions will be subsampled to
    keep the number of ticks <= nbins +1.
    The subsampling will be done so as to include the smallest
    absolute value; for example, if zero is included in the
    array of possibilities, then it is guaranteed to be one of
    the chosen ticks.
    cC sFtj|�|_||_|jdk	rBt|jd�|_ndS(Ni(RwR�R*tnbinsRR~(RR*R�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�s	cC s|jdd�S(N(R�R(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�scC s�|jdkr|jSttdt|j�t|j��d�}|jdd|�}x`td|�D]O}|j|d|�}tj	|�j
�tj	|�j
�krk|}qkqkW|j|�S(s�"
        Return the locations of the ticks.

        .. note::

            Because the values are fixed, vmin and vmax are not used in this
            method.

        g�G�z��?iN(R�RR*R~R3R1tfloatR�RwR|RR�(RRRR�R�R4tticks1((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��s
/*
N(RRR.RRR$R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��s		tNullLocatorcB s eZdZd�Zd�ZRS(s
    No ticks
    cC s|jdd�S(N(R�R(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�scC sgS(s�"
        Return the locations of the ticks.

        .. note::

            Because the values are Null, vmin and vmax are not used in this
            method.
        ((RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��s	(RRR.R$R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��s	t
LinearLocatorcB sAeZdZddd�Zd�Zd�Zd�Zd�ZRS(s
    Determine the tick locations

    The first time this function is called it will try to set the
    number of ticks to make a nice tick partitioning.  Thereafter the
    number of ticks will be fixed so that interactive navigation will
    be nice

    cC s.||_|dkr!i|_n	||_dS(sX
        Use presets to set locs based on lom.  A dict mapping vmin, vmax->locs
        N(R�Rtpresets(RR�R�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRs	cC s%|jj�\}}|j||�S(s!Return the locations of the ticks(RRR�(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$scC s�tj||dd�\}}||kr:||}}n||f|jkr`|j||fS|jdkr||j�n|jdkr�gStj|||j�}|j|�S(NR�g�������?i(	RR�R�R�Rt
_set_numticksRwtlinspaceR�(RRRtticklocs((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�$s
cC s
d|_dS(Ni(R�(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�5scC s�||kr||}}n||kr?|d8}|d7}nttj||�d�\}}|dkrz|d8}nd|}tj||�|}tj||�|}tj||�S(s+Try to choose the view limits intelligentlyig�?i
(tdivmodRyR{RzR}RR�(RRRRPt	remaindertscale((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�8s

"
N(	RRR.RRR$R�R�R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�s	
			cC s"t||�dkrtStSdS(Ng�����|�=(R@RWR`(R"R�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytclosetoMstBasecB sDeZdZd�Zd�Zd�Zd�Zd�Zd�ZRS(sEthis solution has some hacks to deal with floating point inaccuraciescC s
||_dS(N(R�(RR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRVscC sXt||j�\}}t|d�rMt||jd�rM|d|jS||jS(s'return the largest multiple of base < xii(R�R�R�(RR"RDR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytltZs&cC sHt||j�\}}t||jd�r=|d|jS||jS(s(return the largest multiple of base <= xi(R�R�R�(RR"RDR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytleascC sLt||j�\}}t||jd�r=|d|jS|d|jS(s(return the smallest multiple of base > xii(R�R�R�(RR"RDR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytgtiscC sXt||j�\}}t|d�rIt||jd�rI||jS|d|jS(s)return the smallest multiple of base >= xii(R�R�R�(RR"RDR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytgeqs&cC s|jS(N(R�(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytget_basexs(	RRR.RR�R�R�R�R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�Ts					tMultipleLocatorcB s5eZdZdd�Zd�Zd�Zd�ZRS(sW
    Set a tick on every integer that is multiple of base in the
    view interval
    g�?cC st|�|_dS(N(R�R�(RR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�scC s%|jj�\}}|j||�S(s!Return the locations of the ticks(RRR�(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�scC s{||kr||}}n|jj|�}|jj�}||d||}|tj|d�|}|j|�S(Ng����MbP?i(R�R�R�RwR�R�(RRRR�R2R*((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��scC sW|jj|�}|jj|�}||krG|d8}|d7}ntj||�S(sd
        Set the view limits to the nearest multiples of base that
        contain the data
        i(R�R�R�RR�(RR�R�RR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��s

(RRR.RR$R�R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�|s
			iidc	C s�t||�}|dkr dSd||}t|�||krMd}n]|dkr�ttj|�d�d}d|}n(ttj|�d�d}d|}ttj||�d�d}d|}||fS(Nig�?gg�?ii
(g�?g(R@R�RyR{(	RRR2t	thresholdtdvtmeanvRatexR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytscale_range�s	
 
tMaxNLocatorc
B sqeZdZedddddedededd�Zd�Zd	�Z	d
�Z
d�Zd�Zd
�Z
RS(s<
    Select no more than N intervals at nice locations.
    R�i
tstepsttrimtintegert	symmetrictprunecO sY|r8|d|d<t|�dkr8td��q8n|j|j�|j|�dS(s�
        Keyword args:

        *nbins*
            Maximum number of intervals; one less than max number of ticks.

        *steps*
            Sequence of nice numbers starting with 1 and ending with 10;
            e.g., [1, 2, 4, 5, 10]

        *integer*
            If True, ticks will take only integer values.

        *symmetric*
            If True, autoscaling will result in a range symmetric
            about zero.

        *prune*
            ['lower' | 'upper' | 'both' | None]
            Remove edge ticks -- useful for stacked or ganged plots
            where the upper tick of one axes overlaps with the lower
            tick of the axes above it.
            If prune=='lower', the smallest tick will
            be removed.  If prune=='upper', the largest tick will be
            removed.  If prune=='both', the largest and smallest ticks
            will be removed.  If prune==None, no ticks will be removed.

        iR�is6Keywords are required for all arguments except 'nbins'N(R1t
ValueErrort
set_paramstdefault_params(RtargsR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�s cK s�d|kr"t|d�|_nd|kr>|d|_nd|krZ|d|_nd|krv|d|_nd|kr�|d}|dk	r�|dkr�td	��n||_nd
|krI|d
}|dkrddd
dddddddg
|_qIt|d�dkr=t	|�}|j
d�n||_nd|kre|d|_n|jr�g|jD]%}t|d�ddkrx|^qx|_ndS(NR�R�R�R�R�tuppertlowertboths/prune must be 'upper', 'lower', 'both', or NoneR�ig�?ig@iiiiii
i����g����MbP?(supperslowerR(R3t_nbinst_trimt_integert
_symmetricRR�t_prunet_stepsR�tappendR�(RRR�R�R2((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��s4

*	cC s)|j}t|||�\}}|jr<td|�}n||}||}|||}||}|}|}	xb|jD]W}
|
|kr�q~n|
|9}
|
t||
�d}	|	|
|}||kr~Pq~q~W|jrtt|||
�d�}||8}ntj	|d�|
|	|S(Nii(
RR�RR~R
R�RR3RwR�(RRRR�R�Ratraw_steptscaled_raw_stept	best_vmaxt	best_vminR�t
extra_bins((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytbin_boundariess,		



	
cC s%|jj�\}}|j||�S(N(RRR�(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$scC s�tj||dddd�\}}|j||�}|j}|dkrX|d}n5|dkrq|d }n|d	kr�|dd!}n|j|�S(
NR�g�vIh�%<=ttinyg�+����=RiRi����R(RR�RR	R�(RRRR*R�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�#s	

cC sz|jr4tt|�t|��}|}|}ntj||dddd�\}}tj|j||�ddg�S(NR�g�-���q=Rg�vIh�%<=ii����(RR~R@RR�RwttakeR(RR�R�tmaxabs((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�0s		N(RRR.tdictRRWR`RRR�RR$R�R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��s		(				
i
cC s>|dkr|Stjtj|�tj|��}||S(s#floor x to the nearest lower decadeg(RwRzR�(R"R�tlx((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pytdecade_down:s%cC s=|dkr|Stjtj|�tj|��}||S(s#ceil x to the nearest higher decadeg(RwR}R�(R"R�R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt	decade_upBs%cC s<|dkrdS|dkr*t|d�St|d�SdS(Nilg�?(tlong(R"((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�Js
cC sRtj|�stS|dkr#tStjtj|��tj|�}t|�S(Ng(RwtisfiniteR`RWR�R@R�(R"R�R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�Ss%cC s-tj|�stSt|t|��dkS(Ng�����|�=(RwRR`R@R�(R"((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�\st
LogLocatorcB sSeZdZddgddd�Zd�Zd�Zd�Zd	�Zd
�ZRS(s3
    Determine the tick locations for log axes
    g$@g�?iicC s0|j|�|j|�||_||_dS(s>
        place ticks on the location= base**i*subs[j]
        N(R�tsubsR�tnumdecs(RR�RRR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRgs

	cC s|d|_dS(sW
        set the base of the log scaling (major tick every base**i, i integer)
        gN(R�(RR�((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�pscC s2|dkrd|_ntj|�d|_dS(sK
        set the minor ticks the log scaling every base**i*subs[j]
        gN(Rt_subsRwR�(RR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRvscC s%|jj�\}}|j||�S(s!Return the locations of the ticks(RRR�(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$sc
C s|j}t|jd�r||jjjdkr|tjtj|�tj|��}tj	||j
|�}||}|S|dkr�|jdk	r�|jj�}n|dks�tj
|�r�td��q�ntj|�tj|�}tj|�tj|�}||kr+||}}ntj|�tj|�}|jdkr�|dkrwtjdg�}q�|dkr�tj	d|d�}q�tj	d|�}n	|j}d	}x%||d	|jkr�|d	7}q�Wtj	tj|�tj|�||�}t|d
�r�|jj�j|�}t|�d	ksmt|d	k�r�|ddkr�tjtj||��}q�nmt|�d	ks�t|d	k�r�|ddkr�g}x0||D]}	|j||	�q�Wn
||}|jtj|��S(NtaxestpolargsAData has no positive values, and therefore can not be log-scaled.i
g�?ig@it
_transformi(R�thasattrRRtnameRyR}R�RwR�RRRRR�RzRtarrayR�R!tinvertedt	transformR1traveltoutertextendR�R�(
RRRRitdecadesR�tnumdecRtstridetdecadeStart((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��sN	'%
	4!4
cC s`|j}||kr%||}}n|jjjdkrztjtj|�tj|��}|||j}||fS|jj�}|dks�t	j
|�r�td��n||kr�|}nt||j�s�t
||j�}nt||j�st||j�}n||krJt
||j�}t||j�}ntj||�}|S(s+Try to choose the view limits intelligentlyR isAData has no positive values, and therefore can not be log-scaled.(R�RRR#RyR}R�RRRwRR�R�RRRR�(RRRRiR
tresult((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��s,	%
	(	RRR.RR�RR$R�R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRbs						9tSymmetricalLogLocatorcB s5eZdZdd�Zd�Zd�Zd�ZRS(s3
    Determine the tick locations for log axes
    cC s:||_|dkr$dg|_n	||_d|_dS(s>
        place ticks on the location= base**i*subs[j]
        g�?iN(R!RRR�(RR&R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�s
		cC s%|jj�\}}|j||�S(s!Return the locations of the ticks(RRR�(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�sc s|jj�|jj}||kr4||}}nt}}}||kr�t}||krt}||kr�t}q�qn}|dkr�|dkr�t}||kr�t}q�q||gSn:||kr�||kr�t}t}q||gSnt}�fd�}|rJ|r2|||d�}qP|||d�}nd}|r�|rr|||d�}	q�|||d�}	nd	}	|d|d|	d|	d}
|r�|
d7}
nttjt|
�|j	d�d�}g}|r4|j
d�tj|d|d|�ddd��n|rJ|jd�n|r{|j
�tj|	d|	d|��n|j
dkr�tjd��}
ntj|j
�}
t|
�dks�|
ddkr�g}x(|D]}|j
|
|�q�Wn|}|jtj|��S(
Nic sTtjtj|�tj���}tjtj|�tj���}||fS(N(RwRzR�R}(tlothi(Ri(s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt
get_log_range's%%ii����gg@g�?(ii(ii(R!R�t	linthreshR`RWR~RwRzR�R�R)R�RRRR�R1R�R$(RRRttthas_athas_bthas_cR2ta_rangetc_rangettotal_ticksR,R*RR�tdecade((Ris7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��sn


	
"
) +"
cC s*|jj}||kr(||}}ntt|�|�so|dkr]t||�}qot||�}ntt|�|�s�|dkr�t||�}q�t||�}n||kr|dkr�t||�}t||�}qt||�}t||�}ntj||�}|S(s+Try to choose the view limits intelligentlyi(R!R�R�R@RRRR�(RRRRiR.((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�\s&N(RRR.RRR$R�R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR/�s
		gtAutoLocatorcB seZd�ZRS(c	C s)tj|dddddddg�dS(NR�i	R�iiii
(R�R(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRys(RRR(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR<xstAutoMinorLocatorcB s,eZdZdd�Zd�Zd�ZRS(s�
    Dynamically find minor tick positions based on the positions of
    major ticks. Assumes the scale is linear and major ticks are
    evenly spaced.
    cC s
||_dS(s�
        *n* is the number of subdivisions of the interval between
        major ticks; e.g., n=2 will place a single minor tick midway
        between major ticks.

        If *n* is omitted or None, it will be set to 5 or 4.
        N(tndivs(RR2((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�sc
C s�|jj�}y|d|d}Wntk
r>d}nX|jdkr�|dkrcd}q�ttdtj|�d��}|dkr�d}q�d}n	|j}||}|jj	�\}}||kr�||}}nt
|�dkr�|d}tj|||�|}	tj|||�|}
tj
|	|
|�|}tj|||�|dk}|j|�}ng}|jtj|��S(	s!Return the locations of the ticksiii
iig$@N(iii
(Rtget_majorticklocsR�R>RR3R�RwR{RR1R}RzR�R@tcompressR�R$(
Rt	majorlocst	majorstepR>R"t	minorstepRRtt0ttminttmaxR*tcond((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�s4

	#			

!cC stdt|���dS(Ns(Cannot get tick locations for a %s type.(R!ttype(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��sN(RRR.RRR$R�(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR=}s
	+tOldAutoLocatorcB sDeZdZd�Zd�Zd�Zd�Zd�Zd�ZRS(so
    On autoscale this class picks the best MultipleLocator to set the
    view limits and the tick locs.

    cC st�|_dS(N(R�t_locator(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR�scC s|j�|j|j��S(s!Return the locations of the ticks(R�R�RJ(R((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR$�s
cC stdt|���dS(Ns(Cannot get tick locations for a %s type.(R!RH(RRR((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��scC sY|jj�\}}tj||dd�\}}t||�}|j|�|_dS(s1refresh internal information based on current limR�g�������?N(RRRR�R@tget_locatorRJ(RRRRD((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��scC s5t||�}|j|�|_|jj||�S(s+Try to choose the view limits intelligently(R@RKRJR�(RRRRD((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyR��scC s�t|�}|dkr'td�}n�ytj|�}Wntk
rYtd��nXtj|�}d|}|d|kr�|}n'|d|kr�|d}n
|d}t|�}|S(	s)pick the best locator based on a distanceig�������?s'AutoLocator illegal data interval rangei
iig@g@(R@R�RyR{t
OverflowErrorR�Rz(RRDtlocatortldtfldR�tticksize((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRK�s 

	

(	RRR.RR$R�R�R�RK(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyRI�s					(2R.t
__future__RRR�RmRytnumpyRwt
matplotlibRRRRtobjectRRR R/R5R6R;R=R?RQR�R�R�R�R�R�R�R�R�R�R�R�R�R�RRR�R�R�RR/R<R=RIt__all__(((s7/usr/lib64/python2.7/site-packages/matplotlib/ticker.pyt<module>{sd,+�Y#0W])B	(%�				}�@=						

Anon7 - 2021