σ
ίΘ[c           @` sG   d  d l  m Z m Z m Z m Z d  d l Z d g Z d d  Z d S(   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsNu   quantity_supportu   latex_inlinec         ` sn   d d l  m  d d l m  d d l m  d d   d  j f       f d     Y} |   S(	   u­  
    Enable support for plotting `astropy.units.Quantity` instances in
    matplotlib.

    May be (optionally) used with a ``with`` statement.

      >>> import matplotlib.pyplot as plt
      >>> from astropy import units as u
      >>> from astropy import visualization
      >>> with visualization.quantity_support():
      ...     plt.figure()
      ...     plt.plot([1, 2, 3] * u.m)
      [...]
      ...     plt.plot([101, 125, 150] * u.cm)
      [...]
      ...     plt.draw()

    Parameters
    ----------
    format : `astropy.units.format.Base` instance or str
        The name of a format or a formatter object.  If not
        provided, defaults to ``latex_inline``.

    i   (   t   unitsi    (   t   tickerc         S` s}   t  |  t j d d  } | d k r+ d S| d k r; d S| d k rK d S| d d k rl d	 j | d  Sd
 j |  Sd  S(   Ng       @g      Π?i    u   0i   u   Ο/2i   u   Οu   {0}Οu   {0}Ο/2(   t   intt   npt   pit   format(   t   xt   post   n(    (    s:   lib/python2.7/site-packages/astropy/visualization/units.pyt   rad_fn*   s    t   MplQuantityConverterc           ` sz   e  Z   f d    Z e       f d    Z e  f d    Z e d    Z d   Z   f d   Z RS(   c         ` s;     j   j k r. |   j   j  <t |  _ n	 t |  _ d  S(   N(   t   Quantityt   registryt   Truet   _removet   False(   t   self(   t   uR   (    s:   lib/python2.7/site-packages/astropy/visualization/units.pyt   __init__8   s    c         ` sΆ   |   j  k rM  j d  j d t j d  d  j   d |  j    S|   j k r  j d  j   d  j	 d  d |  j    S|  d  k	 r²  j d |  j     Sd  S(   Nt   majloct   basei   t   majfmtt   labelu   %iΒ°(   t   radiant   AxisInfot   MultipleLocatorR   R   t   FuncFormattert	   to_stringt   degreet   AutoLocatort   FormatStrFormattert   None(   t   unitt   axis(   R	   R   R   R   R   (    s:   lib/python2.7/site-packages/astropy/visualization/units.pyt   axisinfo?   s    		c         ` sl   t  |    j  r |  j |  St  |  t  rd t  |  d   j  rd g  |  D] } | j |  ^ qK S|  Sd  S(   Ni    (   t
   isinstanceR   t   to_valuet   list(   t   valR$   R%   t   v(   R   (    s:   lib/python2.7/site-packages/astropy/visualization/units.pyt   convertQ   s
    % c         S` s   t  |  d  r |  j Sd  S(   Nu   unit(   t   hasattrR$   R#   (   R
   R%   (    (    s:   lib/python2.7/site-packages/astropy/visualization/units.pyt   default_unitsZ   s    c         S` s   |  S(   N(    (   R   (    (    s:   lib/python2.7/site-packages/astropy/visualization/units.pyt	   __enter__`   s    c         ` s   |  j  r  j   j =n  d  S(   N(   R   R   R   (   R   t   typet   valuet   tb(   R   R   (    s:   lib/python2.7/site-packages/astropy/visualization/units.pyt   __exit__c   s    	(	   t   __name__t
   __module__R   t   staticmethodR&   R,   R.   R/   R3   (    (   R	   R   R   R   R   (    s:   lib/python2.7/site-packages/astropy/visualization/units.pyR   7   s   !		N(   t    R   t
   matplotlibR   R#   t   ConversionInterface(   R	   R   (    (   R	   R   R   R   R   s:   lib/python2.7/site-packages/astropy/visualization/units.pyt   quantity_support   s    +0(	   t
   __future__R    R   R   R   t   numpyR   t   __doctest_skip__R:   (    (    (    s:   lib/python2.7/site-packages/astropy/visualization/units.pyt   <module>   s   "	