ó
—W[c           @   sÐ  d  d l  Z  d  d l Z d  d l Z d  d l m Z d  d l Z d  d l	 j
 Z d  d l m Z d  d l Z d  d l j Z d  d l j Z d  d l m Z y d  d l j Z Wn# e k
 rÑ d  d l j j Z n Xd d l m Z d d l m Z d d l  m! Z! d d	 l" m# Z# m$ Z$ d d
 l% m& Z& d d l' m( Z( e j) j* d ƒ Z+ e e j, ƒ d k  Z- e e j, ƒ d k Z. d e/ f d „  ƒ  YZ0 d e/ f d „  ƒ  YZ1 d e/ f d „  ƒ  YZ2 d e/ f d „  ƒ  YZ3 d S(   iÿÿÿÿN(   t   stats(   t   LooseVersion(   t   skipifi   (   t   axisgrid(   t   rcmod(   t   color_palette(   t   kdeplott   _freedman_diaconis_bins(   t	   pointplot(   t   categorical_orderi    s   1.4s   0.15t   TestFacetGridc           B   sD  e  Z e j e d  e j d d ƒ d e j d d d ƒd e j	 e
 d ƒ d ƒ d e j e
 d	 ƒ d
 ƒ d e j e
 d ƒ d ƒ d e j e
 d ƒ d ƒ ƒ ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e e ƒ d  „  ƒ Z e e ƒ d! „  ƒ Z  e e ƒ d" „  ƒ Z! d# „  Z" d$ „  Z# d% „  Z$ d& „  Z% d' „  Z& d( „  Z' d) „  Z( d* „  Z) d+ „  Z* d, „  Z+ d- „  Z, d. „  Z- d/ „  Z. d0 „  Z/ d1 „  Z0 d2 „  Z1 d3 „  Z2 d4 „  Z3 d5 „  Z4 d6 „  Z5 e e6 ƒ d7 „  ƒ Z7 d8 „  Z8 RS(9   t   xt   sizei<   t   yi   t   at   abci   t   bt   mni   t   ct   tuvt   dt   abcdefghijkli   c         C   s,   t  j |  j ƒ } t j | j |  j ƒ d  S(   N(   t   agt	   FacetGridt   dft   ntt	   assert_ist   data(   t   selft   g(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_self_data)   s    c         C   s,   t  j |  j ƒ } t j | j t j ƒ d  S(   N(   R   R   R   R   t   assert_is_instancet   figt   pltt   Figure(   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_self_fig.   s    c         C   sR   t  j |  j d d d d d d ƒ} x' | j j D] } t j | t j ƒ q1 Wd  S(   Nt   rowR   t   colR   t   hueR   (	   R   R   R   t   axest   flatR   R   R!   t   Axes(   R   R   t   ax(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_self_axes3   s    $c         C   s  t  j |  j ƒ } t j | j j d
 ƒ t  j |  j d d ƒ} t j | j j d ƒ t  j |  j d d ƒ} t j | j j d ƒ t  j |  j d d	 ƒ} t j | j j d ƒ t  j |  j d d d d d d	 ƒ} t j | j j d ƒ x' | j j D] } t j | t	 j
 ƒ qù Wd  S(   Ni   R$   R   i   R%   R   i   R&   R   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   R   R   R   t   assert_equalR'   t   shapeR(   R   R!   R)   (   R   t   g1t   g2t   g3t   g4t   g5R*   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_axes_array_size9   s    $c         C   sÑ   t  j |  j ƒ } t j | j t j ƒ t  j |  j d d ƒ} t j t	 ƒ  | j Wd  QXt  j |  j d d ƒ} t j t	 ƒ  | j Wd  QXt  j |  j d d d d ƒ} t j t	 ƒ  | j Wd  QXd  S(   NR$   R   R%   R   (
   R   R   R   R   R   R*   R!   R)   t   assert_raisest   AttributeError(   R   R.   R/   R0   R1   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_single_axesM   s    c         C   s  t  |  j j j ƒ  ƒ } t j |  j d d ƒ} | j j d | f k sN t ‚ | j	 d d ƒ | j d k ss t ‚ t j |  j d d d d ƒ} | j j | f k s¬ t ‚ | j	 d d ƒ | j d k sÑ t ‚ | j
 d k sæ t ‚ | j | d k sÿ t ‚ t j t ƒ ) t j |  j d d	 d d d d ƒ} Wd  QX|  j j ƒ  } t j | j | j d
 k <t j | d d ƒ} | j j d | d f k s˜t ‚ t j | d d d d ƒ} | j j | d f k sÒt ‚ t j |  j d d d d ƒ} t  t | j ƒ  ƒ ƒ | k st ‚ d  S(   NR%   R   i   i    i   t   col_wrapi   R$   R   t   j(   i    i   (   t   lenR   R   t   uniqueR   R   R'   R-   t   AssertionErrort
   facet_axist   _ncolt   _nrowt   pytestt   raisest
   ValueErrort   copyt   npt   nant   loct   listt
   facet_data(   R   t   nR   t   g_wrapR   t	   g_missingt   g_missing_wrap(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_col_wrap^   s&    %%*"c         C   sñ  t  j d t ƒ j } t j |  j ƒ } t j | j	 | j
 j ƒ t j | j | ƒ t j | j | j
 j ƒ t j | j | ƒ t j | j | ƒ t j |  j d d ƒ} t j | j	 | j
 j ƒ t j | j | ƒ t j | j | j
 d  d  … d f j ƒ t j | j | j
 d  d  … d d  … f j ƒ t j | j | ƒ t j |  j d d ƒ} t j | j	 | j
 d d  d  … f j ƒ t j | j | j
 d  d … d  d  … f j ƒ t j | j | j
 j ƒ t j | j | ƒ t j | j | ƒ t j |  j d d d d ƒ} t j | j	 | j
 d d  d  … f j ƒ t j | j | j
 d  d … d  d  … f j ƒ t j | j | j
 d  d  … d f j ƒ t j | j | j
 d  d  … d d  … f j ƒ t j | j | j
 d  d … d d  … f j ƒ d  S(   Ni    R%   R   i   R$   iÿÿÿÿR   (   RC   t   emptyt   objectR(   R   R   R   t   nptt   assert_array_equalt   _bottom_axesR'   t   _not_bottom_axest
   _left_axest   _not_left_axest   _inner_axes(   R   t   nullR   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_normal_axesz   s2    )/)/)/)/c         C   sè   t  j d t ƒ j } t j |  j d d d d ƒ} t j | j	 | j
 t  j d d g ƒ j ƒ t j | j | j
 d  j ƒ t j | j | j
 t  j d d g ƒ j ƒ t j | j | j
 t  j d g ƒ j ƒ t j | j | ƒ d  S(   Ni    R%   R   R7   i   i   (   RC   RM   RN   R(   R   R   R   RO   RP   RQ   R'   t   arrayRR   RS   RT   RU   (   R   RV   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_wrapped_axesš   s     ,)c         C   sµ   t  j |  j d d d d ƒ} t j | j j ƒ  d ƒ t  j |  j d d d d d d ƒ} t j | j j ƒ  d ƒ t  j |  j d d
 d d d d ƒ} t j | j j ƒ  d ƒ d  S(   NR$   R   R%   R   i   i	   t   heighti   i   R   i   t   aspectg      à?(   i   i	   (   i   i   (   i   i   (   R   R   R   RO   RP   R    t   get_size_inches(   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_figure_size¦   s    $$c         C   sÚ   t  j |  j d d d d d d d d ƒ} t j | j j ƒ  d ƒ | j ƒ  t j	 | j j ƒ  d
 d	 ƒ t  j |  j d d d d d d d d d t
 ƒ} t j | j j ƒ  d ƒ | j ƒ  t j | j j ƒ  d ƒ d  S(   NR%   R   R&   R   RZ   i   R[   g      à?i   i    t
   legend_out(   i   i   (   i   i   (   i   i   (   R   R   R   RO   RP   R    R\   t
   add_legendR   t   assert_greatert   False(   R   R.   R/   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_figure_size_with_legend±   s    *
'	
c   
      C   sD  t  j |  j d d ƒ} | j t j d d ƒ | j ƒ  t d d ƒ } t j	 | j
 j ƒ  j ƒ  d ƒ t |  j j j ƒ  ƒ } | j
 j ƒ  } t j	 t | ƒ t | ƒ ƒ x3 t | | ƒ D]" \ } } t j	 | j ƒ  | ƒ q¹ W| j
 j ƒ  } t j	 t | ƒ t | ƒ ƒ x3 t | | ƒ D]" \ } }	 t j	 | j ƒ  |	 ƒ qWd  S(   NR&   R   R   R   t   n_colorsi   (   R   R   R   t   mapR!   t   plotR_   R   R   R,   t   _legendt	   get_titlet   get_textt   sortedR   R:   t	   get_linesR9   t   zipt	   get_colort	   get_texts(
   R   R.   t   palettet   a_levelst   linest   lineR&   t   labelst   labelt   level(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_legend_data¾   s    
c         C   sk  t  j |  j d d d t d ƒ ƒ} | j t j d d ƒ | j ƒ  t d d ƒ \ } } } } | | | g } t	 j
 | j j ƒ  j ƒ  d ƒ t |  j j j ƒ  ƒ } | j j ƒ  } t	 j
 t | ƒ t | ƒ ƒ x3 t | | ƒ D]" \ }	 }
 t	 j
 |	 j ƒ  |
 ƒ qà W| j j ƒ  } t	 j
 t | ƒ d ƒ x9 t | t d ƒ ƒ D]" \ } } t	 j
 | j ƒ  | ƒ qAWd  S(	   NR&   R   t	   hue_ordert   azbcR   R   Rc   i   (   R   R   R   RF   Rd   R!   Re   R_   R   R   R,   Rf   Rg   Rh   Ri   R   R:   Rj   R9   Rk   Rl   Rm   (   R   R.   R   R   t   rt   pRn   Ro   Rp   Rq   R&   Rr   Rs   Rt   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_legend_data_missing_levelÕ   s    $
"c   
      C   sf  |  j  j d k |  j  d <t j |  j  d d ƒ} | j t j d d ƒ | j ƒ  t d d ƒ } t	 j
 | j j ƒ  j ƒ  d ƒ t t t t |  j  j ƒ ƒ ƒ } | j j ƒ  } t	 j
 t | ƒ t | ƒ ƒ x3 t | | ƒ D]" \ } } t	 j
 | j ƒ  | ƒ qÛ W| j j ƒ  } t	 j
 t | ƒ t | ƒ ƒ x3 t | | ƒ D]" \ } }	 t	 j
 | j ƒ  |	 ƒ q<Wd  S(   Nt   mt   b_boolR&   R   R   Rc   i   (   R   R   R   R   Rd   R!   Re   R_   R   R   R,   Rf   Rg   Rh   RF   t   strR	   R|   Rj   R9   Rk   Rl   Rm   (
   R   R.   Rn   t   b_levelsRp   Rq   R&   Rr   Rs   Rt   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_get_boolean_legend_dataî   s    
!c         C   s<   t  j |  j d d ƒ} | j t j d d ƒ | j ƒ  d  S(   NR&   R   R   R   (   R   R   R   Rd   R!   Re   R_   (   R   R.   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_legend_options  s    c      
   C   sT   t  j |  j d d d d d d d t ƒ} | j t j d d	 d
 d ƒ| j ƒ  d  S(   NR%   R   R&   R   R7   i   R^   R   R   t	   linewidthi   (   R   R   R   Ra   Rd   R!   Re   R_   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_legendout_with_colwrap  s    c         C   sa   t  j |  j d t d t d d ƒ ƒ} x3 | j j D]% } t j d t	 t
 | ƒ ƒ k ƒ q4 Wd  S(   Nt   despinet   subplot_kwst
   projectiont   polart   PolarAxesSubplot(   R   R   R   Ra   t   dictR'   R(   R   t   assert_trueR}   t   type(   R   R   R*   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_subplot_kws  s    c         C   sé   d d d g } t  d | ƒ } t j |  j d d d d d	 | ƒ} x. | j j D]  } | j g  ƒ | j g  ƒ qO W| j j	 ƒ  xb | j D]W \ } } } | j
 ƒ  j | j
 ƒ  j k s½ t ‚ | j
 ƒ  j | j
 ƒ  j k sŠ t ‚ qŠ Wd  S(
   Ni   i   i   t   width_ratiosR%   R   R$   R   t   gridspec_kws(   Rˆ   R   R   R   R'   R(   t
   set_xtickst
   set_yticksR    t   tight_layoutt   get_positiont   widthR;   (   R   t   ratiost   gskwsR   R*   t   lR{   Rx   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_gridspec_kws  s    $$c         C   s}   d d d d d g } t  d | ƒ } t j ƒ  G t j ƒ  t j d ƒ t j t t j	 |  j
 d d d d	 d
 | ƒWd  QXd  S(   Ni   i   i   RŒ   t   alwaysR%   R   R7   i   R   (   Rˆ   t   warningst   catch_warningst   resetwarningst   simplefilterRO   t   assert_warnst   UserWarningR   R   R   (   R   R“   R”   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_gridspec_kws_col_wrap+  s    
c         C   s}   d d d g } t  d | d | ƒ } t j ƒ  G t j ƒ  t j d ƒ t j t t j	 |  j
 d d d	 d
 d | ƒWd  QXd  S(   Ni   i   i   RŒ   t   height_ratiosR—   R%   R   R$   R   R   (   Rˆ   R˜   R™   Rš   R›   RO   Rœ   R   R   R   R   (   R   R“   R”   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_gridsic_kws_old_mpl6  s    
c         C   s  t  j |  j d d ƒ} t | j ƒ  ƒ } t j t | ƒ d ƒ | d \ } } t j | d ƒ t j | d d k j	 ƒ  ƒ | d \ } } t j | d ƒ t j | d d k j	 ƒ  ƒ t  j |  j d d d d ƒ} t | j ƒ  ƒ } t j t | ƒ d ƒ | d \ } } t j | d ƒ t j | d d k j	 ƒ  ƒ t j | d d	 k j	 ƒ  ƒ | d \ } } t j | d ƒ t j | d d k j	 ƒ  ƒ t j | d d
 k j	 ƒ  ƒ | d \ } } t j | d ƒ t j | d d k j	 ƒ  ƒ t j | d d	 k j	 ƒ  ƒ t  j |  j d d ƒ} t | j ƒ  ƒ } t j t | ƒ d ƒ | d \ } } t j | d ƒ t j | d d k j	 ƒ  ƒ d  S(   NR$   R   i   i    i   R   R%   i   R{   RH   i   R&   R   t   u(   i    i    i    (   i   i    i    (   i    i    i    (   i    i   i    (   i   i    i    (   i    i    i   (
   R   R   R   RF   RG   R   R,   R9   R‰   t   all(   R   R   R   t   tupR   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_data_generatorA  s<    c         C   s  t  j |  j d d d d d d ƒ} | j t j d d d	 d
 ƒ| j d j } t j	 t
 | ƒ d
 ƒ | \ } } } t j	 | j ƒ  d
 ƒ | j ƒ  \ } } |  j j d k |  j j d k @|  j j d k @} t j | |  j j | ƒ t j | |  j j | ƒ d  S(   NR$   R   R%   R   R&   R   R   R   R   i   i    R{   t   t(   i    i    (   R   R   R   Rd   R!   Re   R'   Rp   R   R,   R9   t   get_linewidtht   get_dataR   R   R   RO   RP   R   R   (   R   R   Rp   t   line1t   _R   R   t   mask(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_mapi  s    $2c   	      C   s  t  j |  j d d d d d d ƒ} d  d „ } | j | d d	 d
 d ƒ| j d j } t j t	 | ƒ d ƒ | \ } } } t j | j
 ƒ  d ƒ | j ƒ  \ } } |  j j d k |  j j d k @|  j j d k @} t j | |  j j | ƒ t j | |  j j | ƒ d  S(   NR$   R   R%   R   R&   R   c         [   s   t  j | |  | | |  d  S(   N(   R!   Re   (   R   R   R   t   kws(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyRe   |  s    R   R   t	   linestyles   --i    i   R{   R¥   (   i    i    (   R   R   R   t   Nonet   map_dataframeR'   Rp   R   R,   R9   t   get_linestyleR§   R   R   R   RO   RP   R   R   (	   R   R   Re   Rp   R¨   R©   R   R   Rª   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_map_dataframex  s    $2c      	   C   sà   t  j |  j d d d d ƒ} d } d } d d	 d d g } d d
 d g } | j d | d | d | d | ƒ xl | j j D]^ } t j | j ƒ  | ƒ t j | j	 ƒ  | ƒ t j | j
 ƒ  | ƒ t j | j ƒ  | ƒ qz Wd  S(   NR$   R   R%   R   iþÿÿÿi   i   i   i    g      @t   xlimt   ylimt   xtickst   yticks(   iþÿÿÿi   (   i   i   (   R   R   R   t   setR'   R(   RO   RP   t   get_xlimt   get_ylimt
   get_xtickst
   get_yticks(   R   R   R²   R³   R´   Rµ   R*   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_set‹  s    "c         C   s•  t  j |  j d d d d ƒ} | j t j d d ƒ t j | j d j	 ƒ  d ƒ t j | j d j	 ƒ  d
 ƒ t j | j d j	 ƒ  d ƒ | j
 d ƒ t j | j d j	 ƒ  d ƒ t j | j d j	 ƒ  d ƒ t j | j d j	 ƒ  d ƒ t  j |  j d d ƒ} | j t j d d ƒ t j | j d j	 ƒ  d ƒ t j | j d j	 ƒ  d ƒ t  j |  j d d d d d t ƒ} | j t j d d ƒ d  S(   NR$   R   R%   R   R   R   i    s   a = a | b = mi   s   a = a | b = ns   a = b | b = ms2   {row_var} == {row_name} \/ {col_var} == {col_name}s   a == a \/ b == ms   a == a \/ b == ns   a == b \/ b == ms   b = ms   b = nR&   t   dropna(   i    i    (   i    i   (   i   i    (   i    i    (   i    i   (   i   i    (   i    i    (   i    i   (   R   R   R   Rd   R!   Re   R   R,   R'   Rg   t
   set_titlesRa   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_set_titles™  s    $c         C   sD  t  j |  j d d d d d t ƒ} | j t j d d ƒ t j | j	 d j
 ƒ  d	 ƒ t j | j	 d j
 ƒ  d ƒ t j | j	 d j
 ƒ  d ƒ t j | j	 d j d j ƒ  d ƒ t j | j	 d j d j ƒ  d ƒ | j d d ƒ t j | j	 d j
 ƒ  d ƒ t j | j	 d j
 ƒ  d ƒ t j | j	 d j
 ƒ  d ƒ d  S(   NR$   R   R%   R   t   margin_titlesR   R   i    s   b = mi   s   b = nt    s   a = as   a = bt   col_templates   {col_var} == {col_name}s   b == ms   b == n(   i    i    (   i    i   (   i   i    (   i    i   (   i   i   (   i    i    (   i    i   (   i   i    (   R   R   R   t   TrueRd   R!   Re   R   R,   R'   Rg   t   textsRh   R½   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_set_titles_margin_titlesµ  s    $$$c         C   sÉ  t  j |  j d d d d ƒ} | j t j d d ƒ g  | j d j ƒ  D] } | j ƒ  d	 ^ qH } g  | j d j	 ƒ  D] } | j ƒ  ^ qx } | j
 | ƒ | j d
 d ƒ g  | j d j ƒ  D] } | j ƒ  ^ qÁ } g  | j d j	 ƒ  D] } | j ƒ  ^ qí } t j | | ƒ t j | | ƒ t j d ƒ t j d ƒ } } t j t j | | f d d d g ƒ}	 t  j |	 ƒ j t d d d | ƒ} | j
 d d ƒ g  | j d j ƒ  D] } t | j ƒ  ƒ ^ q´} t j | d  d  d … | ƒ t  j |  j d d d d ƒ} | j t j d d ƒ | j
 d
 d ƒ | j d
 d ƒ x> | j D]3 }
 x* |
 j ƒ  D] } t j | j ƒ  d ƒ q`WqMWx> | j D]3 }
 x* |
 j	 ƒ  D] } t j | j ƒ  d ƒ q¡WqŽWd  S(   NR$   R   R%   R   R   R   i   i    t   ht   rotationiZ   i
   t   columnst   ordert   stepi   R   R7   i   i-   iK   (   i   i    (   i   i    (   i   i   (   i    i    (   i    i    (   R   R   R   Rd   R!   Re   R'   t   get_xticklabelsRh   t   get_yticklabelst   set_xticklabelst   set_yticklabelsRO   RP   RC   t   aranget   pdt	   DataFramet   c_R   t   intRQ   R   R,   t   get_rotationRS   (   R   R   R•   t   xlabt   ylabt   got_xt   got_yR   R   R   R*   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_set_ticklabelsÉ  s4    0,,,($2c         C   sØ   t  j |  j d d d d ƒ} | j t j d d ƒ d } d } | j | | ƒ g  | j d	 d  d  … f D] } | j ƒ  ^ qj } g  | j d  d  … d
 f D] } | j	 ƒ  ^ qœ } t
 j | | ƒ t
 j | | ƒ d  S(   NR$   R   R%   R   R   R   t   xxt   yyiÿÿÿÿi    (   R   R   R   Rd   R!   Re   t   set_axis_labelsR'   t
   get_xlabelt
   get_ylabelRO   RP   (   R   R   RÔ   RÕ   R*   RÖ   R×   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_set_axis_labelsê  s    22c         C   sh   t  j |  j d d d d d d d d ƒ} t j | j d j ƒ  d ƒ t j | j d j ƒ  d ƒ d  S(   NR$   R   R%   R   R²   i    i   R³   iþÿÿÿi   (   i    i   (   iþÿÿÿi   (   i    i    (   i    i   (   i    i    (   iþÿÿÿi   (   R   R   R   R   R,   R'   R·   R¸   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_axis_limsø  s    *c         C   sÛ  t  j |  j d d d d d d ƒ} t j | j t d ƒ ƒ t j | j t d ƒ ƒ t j | j t d	 ƒ ƒ t j | j	 j
 d ƒ t  j |  j d d d d d d d t d ƒ d t d ƒ d t d ƒ ƒ} t j | j t d ƒ ƒ t j | j t d ƒ ƒ t j | j t d ƒ ƒ t j | j	 j
 d ƒ t  j |  j d d d d d d d t d ƒ d t d ƒ d t d ƒ ƒ} t j | j t d ƒ ƒ t j | j t d ƒ ƒ t j | j t d ƒ ƒ t j | j	 j
 d ƒ d  S(   NR$   R   R%   R   R&   R   R   R   R   i   i   t	   row_ordert   bcat	   col_ordert   nmRv   t   vtut   bcdat   nomt   qvtui   (   i   i   (   i   i   (   i   i   (   R   R   R   R   R,   t	   row_namesRF   t	   col_namest	   hue_namesR'   R-   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_data_ordersþ  s*    $!!c         C   s©  t  j ƒ  t j |  j d d ƒ} | j t d t |  j j j	 ƒ  ƒ ƒ k sR t
 ‚ t j |  j d d ƒ} | j t d t |  j j j	 ƒ  ƒ ƒ k sš t
 ‚ t j |  j d d d d ƒ} | j t d t |  j j j	 ƒ  ƒ ƒ k sè t
 ‚ t d d	 d
 d d d ƒ } t d	 d d g d ƒ } t j |  j d d d | ƒ} | j | k sNt
 ‚ t d d d	 g d ƒ } t j |  j d d d t d ƒ d | ƒ} | j | k s¥t
 ‚ d  S(   NR&   R   Rc   R   t   huslRn   t   Set2R¥   t   redR¡   t   greent   vt   bluei   Rv   t   uvt(   R   R¶   R   R   R   t   _colorsR   R9   R   R:   R;   R   Rˆ   RF   (   R   R   t   dict_palt   list_pal(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_palette  s    
000!	c         C   s”   t  d d d d g ƒ } t j |  j d d d | ƒ} | j t j d d	 ƒ xA t | j d j	 | d ƒ D]" \ } } t
 j | j ƒ  | ƒ qj Wd  S(   Nt   markert   ot   st   DR&   R   t   hue_kwsR   R   i    (   i    i    (   Rˆ   R   R   R   Rd   R!   Re   Rk   R'   Rp   R   R,   t
   get_marker(   R   R¬   R   Rq   R÷   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_hue_kws2  s
    *c         C   sÅ   |  j  j ƒ  } t j t j t j d ƒ d ƒ d t j ƒ} t j | | d k <| | d <t	 j
 | d t d d ƒ} t j | j j ƒ  d ƒ t	 j
 | d t d d ƒ} t j | j j ƒ  d	 ƒ d  S(
   Ni   i
   t   dtypei   t   hasnaR¼   R$   i<   i2   (   R   RB   RÏ   t   SeriesRC   t   tileRÎ   t   floatRD   R   R   Ra   R   R,   t   _not_nat   sumRÂ   (   R   R   Rÿ   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_dropna;  s    -
c         C   s—   |  j  j ƒ  } | d d d g } d } | j d i | d 6ƒ } t j t | j ƒ | d d g ƒ t j | d | d d ƒ} | j	 t
 j d ƒ } d  S(   NR   R   R   u   Ç¿Ë¿Ï¿RÇ   R%   R$   (   R   RB   t   renameR   R,   RF   RÇ   R   R   Rd   R!   Re   (   R   R   t   unicode_column_labelR   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt#   test_unicode_column_label_with_rowsG  s    "c         C   s‹   |  j  j ƒ  } | d d g } d } | j d i | d 6ƒ } t j t | j ƒ | d g ƒ t j | d | ƒ} | j	 t
 j d ƒ } d  S(   NR   R   u   Ç¿Ë¿Ï¿RÇ   R%   (   R   RB   R  R   R,   RF   RÇ   R   R   Rd   R!   Re   (   R   R   R  R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt!   test_unicode_column_label_no_rowsZ  s    c         C   s—   |  j  j ƒ  } | d d d g } d } | j d i | d 6ƒ } t j t | j ƒ d | d g ƒ t j | d d d | ƒ} | j	 t
 j d ƒ } d  S(   NR   R   R   u   Ç¿Ë¿Ï¿RÇ   R%   R$   (   R   RB   R  R   R,   RF   RÇ   R   R   Rd   R!   Re   (   R   R   t   unicode_row_labelR   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt#   test_unicode_row_label_with_columnsm  s    "c         C   s‹   |  j  j ƒ  } | d d g } d } | j d i | d 6ƒ } t j t | j ƒ | d g ƒ t j | d | ƒ} | j	 t
 j d ƒ } d  S(   NR   R   u   Ç¿Ë¿Ï¿RÇ   R$   (   R   RB   R  R   R,   RF   RÇ   R   R   Rd   R!   Re   (   R   R   R
  R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt!   test_unicode_row_label_no_columns€  s    c         C   s–   |  j  j ƒ  } t j d
 d ƒ } | | d <t j t | d ƒ d g d d g d d g d ƒ t j | d d d d ƒ} | j	 t
 j d	 ƒ } d  S(   Nu   Ç¿u   Ë¿u   Ï¿i   R   R%   R$   R   R   (   u   Ç¿u   Ë¿u   Ï¿(   R   RB   RC   t   repeatR   R,   RF   R   R   Rd   R!   Re   (   R   R   t   unicode_column_valR   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt(   test_unicode_content_with_row_and_column“  s    
$c         C   s   |  j  j ƒ  } t j d d ƒ } | | d <t j t | d ƒ d g d d g d d g d ƒ t j | d d ƒ} | j	 t
 j d ƒ } d  S(	   Nu   Ç¿u   Ë¿u   Ï¿i   R   R%   R   (   u   Ç¿u   Ë¿u   Ï¿(   R   RB   RC   R  R   R,   RF   R   R   Rd   R!   Re   (   R   R   R  R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_unicode_content_no_rows¦  s    
$c         C   s   |  j  j ƒ  } t j d d ƒ } | | d <t j t | d ƒ d g d d g d d g d ƒ t j | d d ƒ} | j	 t
 j d ƒ } d  S(	   Nu   Ç¿u   Ë¿u   Ï¿i   R   R$   R   (   u   Ç¿u   Ë¿u   Ï¿(   R   RB   RC   R  R   R,   RF   R   R   Rd   R!   Re   (   R   R   R  R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_unicode_content_no_columns¹  s    
$c         C   s|   |  j  j ƒ  } | d j d ƒ | d <t j | | d d k d d d d ƒ} t j | j j t	 | d j
 j ƒ f ƒ d  S(   NR   t   categoryR%   R7   i   (   R   RB   t   astypeR   R   R   R,   R'   R-   R9   t   catt
   categories(   R   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt*   test_categorical_column_missing_categoriesÌ  s    )c      
   C   sb   t  j |  j d d ƒ} t j ƒ  8 t j ƒ  t j d ƒ t j t	 | j
 t d d ƒ Wd  QXd  S(   NR%   R   R—   R   (   R   R   R   R˜   R™   Rš   R›   RO   Rœ   R   Rd   R   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_categorical_warningÖ  s
    
(9   t   __name__t
   __module__RÏ   RÐ   Rˆ   t   rst   normalt   gammaRC   R  RF   R  R   R   R#   R+   R3   R6   RL   RW   RY   R]   Rb   Ru   Rz   R   R€   R‚   R‹   R   t   old_matplotlibR–   Rž   R    R¤   R«   R±   R»   R¾   RÄ   RØ   RÞ   Rß   Rë   Rö   Rý   R  R  R	  R  R  R  R  R  t   pandas_has_categoricalsR  R  (    (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyR
       s^   							 										(						!														
t   TestPairGridc           B   s  e  Z e j j e e e d  ƒ ƒ ƒ Z e	 j
 e d e j d d ƒ d e j d d d d ƒd e j d d d ƒd	 e j e d
 ƒ d ƒ d e j e d ƒ d ƒ ƒ ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e  e! ƒ d „  ƒ Z" e  e! ƒ d „  ƒ Z# e  e! ƒ d „  ƒ Z$ e  e! ƒ d  „  ƒ Z% d! „  Z& d" „  Z' e  e! ƒ d# „  ƒ Z( e  e! ƒ d$ „  ƒ Z) d% „  Z* e  e! ƒ d& „  ƒ Z+ e  e! ƒ d' „  ƒ Z, e  e! ƒ d( „  ƒ Z- e  e! ƒ d) „  ƒ Z. RS(*   t   PairGridR   R   i<   R   i    i   t   zi   R   R   i   R   R   i   c         C   s,   t  j |  j ƒ } t j | j |  j ƒ d  S(   N(   R   R   R   R   R   R   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyR   è  s    c         C   sr   |  j  j ƒ  } t j d d t | ƒ d d ƒ| d <t j |  j  ƒ j } | j d d d ƒ} t	 j
 | | ƒ d  S(   Ns
   2010-01-01t   periodst   freqR   t   datet   axisi   (   R   RB   RÏ   t
   date_rangeR9   R   R   R   t   dropt   tmt   assert_frame_equal(   R   R   t   resultt   expected(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_ignore_datelike_dataí  s
    %c         C   s,   t  j |  j ƒ } t j | j t j ƒ d  S(   N(   R   R   R   R   R   R    R!   R"   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyR#   õ  s    c         C   s@   t  j |  j ƒ } x' | j j D] } t j | t j ƒ q Wd  S(   N(	   R   R   R   R'   R(   R   R   R!   R)   (   R   R   R*   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyR+   ú  s    c         C   st   t  j |  j ƒ } t j | j j d ƒ t j | j d d d g ƒ t j | j d d d g ƒ t j	 | j
 ƒ d  S(   Ni   R   R   R!  (   i   i   (   R   R   R   R   R,   R'   R-   t   x_varst   y_varsR‰   t   square_grid(   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_default_axes   s
    c         C   s†   d d g } t  j |  j d | ƒ} t j | j j t | ƒ t | ƒ f ƒ t j | j | ƒ t j | j	 | ƒ t j
 | j ƒ d  S(   NR!  R   t   vars(   R   R   R   R   R,   R'   R-   R9   R-  R.  R‰   R/  (   R   R1  R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_specific_square_axes  s    (c         C   s7  d d g } d d d g } t  j |  j d | d | ƒ} t j | j j t | ƒ t | ƒ f ƒ t j | j | ƒ t j | j	 | ƒ t j
 | j ƒ d d g } d } t  j |  j d | d | ƒ} t j | j j t | ƒ t | ƒ f ƒ t j | j t | ƒ ƒ t j | j	 t | ƒ ƒ t j
 | j ƒ d  S(   NR   R   R!  R-  R.  (   R   R   R   R   R,   R'   R-   R9   R-  R.  R‰   R/  RF   (   R   R-  R.  R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_specific_nonsquare_axes  s    ((c         C   s›   t  j d d g ƒ } t j |  j d | ƒ} t j | j j t	 | ƒ t	 | ƒ f ƒ t j | j
 t | ƒ ƒ t j | j t | ƒ ƒ t j | j ƒ d  S(   NR!  R   R1  (   RC   RX   R   R   R   R   R,   R'   R-   R9   R-  RF   R.  R‰   R/  (   R   R1  R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt$   test_specific_square_axes_with_array#  s    (c         C   sº   t  j d d g ƒ } t  j d d d g ƒ } t j |  j d | d | ƒ} t j | j j t	 | ƒ t	 | ƒ f ƒ t j | j
 t | ƒ ƒ t j | j t | ƒ ƒ t j | j ƒ d  S(   NR   R   R!  R-  R.  (   RC   RX   R   R   R   R   R,   R'   R-   R9   R-  RF   R.  R‰   R/  (   R   R-  R.  R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt'   test_specific_nonsquare_axes_with_array,  s    (c      
   C   s¸   t  j |  j d d ƒ} t j | j j ƒ  d ƒ t  j |  j d d d d ƒ} t j | j j ƒ  d ƒ t  j |  j d	 d
 g d d d g d d d d ƒ} t j | j j ƒ  d ƒ d  S(   NRZ   i   i	   i   R[   g      à?i   i   R.  R!  R-  R   R   i   i   (   i	   i	   (   i   i   (   i   i   (   R   R   R   RO   RP   R    R\   (   R   R.   R/   R0   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt	   test_size6  s    $c         C   så  d d d g } t  j |  j ƒ } | j t j ƒ x˜ t | j ƒ D]‡ \ } } xx t | ƒ D]j \ } } |  j | | } |  j | | } | j d j	 ƒ  j
 \ }	 }
 t j | |	 ƒ t j | |
 ƒ qZ WqA Wt  j |  j d ƒ } | j t j ƒ xí t | j ƒ D]Ü \ } } xÍ t | ƒ D]¿ \ } } |  j | | } |  j | | } xn t |  j j j ƒ  ƒ D]T \ } } | |  j j | k } | |  j j | k } | j | j	 ƒ  j
 \ }	 }
 qaWt j | |	 ƒ t j | |
 ƒ qWqWd  S(   NR   R   R!  i    R   (   R   R   R   Rd   R!   t   scattert	   enumerateR'   t   collectionst   get_offsetst   TRO   RP   R   R:   (   R   R1  R.   t   it   axes_iR8   R*   t   x_int   y_int   x_outt   y_outR/   t   kt   k_levelt   x_in_kt   y_in_k(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyR«   B  s,    % c         C   sÌ   d g } d d g } t  j |  j d | d | ƒ} | j t j ƒ |  j j } xv t | ƒ D]h \ } } | j | d f } |  j | } | j	 d j
 ƒ  j \ }	 }
 t j | |	 ƒ t j | |
 ƒ q\ Wd  S(   NR   R   R!  R-  R.  i    (   R   R   R   Rd   R!   R7  R   R8  R'   R9  R:  R;  RO   RP   (   R   R-  R.  R   R>  R<  t   i_varR*   R?  R@  RA  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_map_nonsquare^  s    	c   
      C   s'  d d d g } t  j |  j ƒ } | j t j ƒ xš t t j | j	 d ƒ Œ  D]} \ } } | j	 | | f } |  j | | } |  j | | } | j
 d j ƒ  j \ } }	 t j | | ƒ t j | |	 ƒ qM WxR t t j | j	 ƒ Œ  D]8 \ } } | j	 | | f } t j t | j
 ƒ d ƒ qç Wd  S(   NR   R   R!  iÿÿÿÿi    (   R   R   R   t	   map_lowerR!   R7  Rk   RC   t   tril_indices_fromR'   R9  R:  R;  RO   RP   t   triu_indices_fromR   R,   R9   (
   R   R1  R   R<  R8   R*   R>  R?  R@  RA  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_map_lowerm  s    (%c   
      C   s'  d d d g } t  j |  j ƒ } | j t j ƒ xš t t j | j	 d ƒ Œ  D]} \ } } | j	 | | f } |  j | | } |  j | | } | j
 d j ƒ  j \ } }	 t j | | ƒ t j | |	 ƒ qM WxR t t j | j	 ƒ Œ  D]8 \ } } | j	 | | f } t j t | j
 ƒ d ƒ qç Wd  S(   NR   R   R!  i   i    (   R   R   R   t	   map_upperR!   R7  Rk   RC   RJ  R'   R9  R:  R;  RO   RP   RI  R   R,   R9   (
   R   R1  R   R<  R8   R*   R>  R?  R@  RA  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_map_upper  s    (%c         C   sf  t  j |  j ƒ } | j t j ƒ x* | j D] } t j t	 | j
 ƒ d ƒ q, Wt  j |  j ƒ } | j t j d d ƒx* | j D] } t j t	 | j
 ƒ d ƒ q Wt  j |  j d d ƒ} | j t j ƒ x* | j D] } t j t	 | j
 ƒ d ƒ qÖ Wt  j |  j d d ƒ} | j t j d d ƒx8 | j D]- } x$ | j
 D] } t j | j t ƒ qAWq1Wd  S(	   Ni
   t   binsi   R&   R   i   t   histtypeRÉ   (   R   R   R   t   map_diagR!   t   histt	   diag_axesR   R,   R9   t   patchest   fillRa   (   R   R.   R*   R/   R0   R1   t   ptch(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_map_diag‘  s"    c         C   sè   d } t  j j j | ƒ } t j |  j ƒ } | j t j	 d | ƒx; | j
 D]0 } x' | j D] } t j | j ƒ  | ƒ q] WqM Wt j |  j ƒ } | j t d d ƒx; | j
 D]0 } x' | j D] } t j | j ƒ  | ƒ qÀ Wq° Wd  S(   NRî   t   color(   t   mplt   colorst   colorConvertert   to_rgbaR   R   R   RP  R!   RQ  RR  RS  R   t   assert_equalst   get_facecolorR   Rp   Rl   (   R   RW  t	   rgb_colorR.   R*   t   patchR/   Rq   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_map_diag_color­  s    c         C   s—   t  d t |  j j j ƒ  ƒ ƒ } t j |  j d d ƒ} | j t ƒ xJ | j	 D]? } x6 t
 | j | ƒ D]" \ } } t j | j ƒ  | ƒ qi WqP Wd  S(   NRc   R&   R   (   R   R9   R   R   R:   R   R   RP  R   RR  Rk   Rp   R   R\  Rl   (   R   t   palR   R*   Rq   RW  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_map_diag_paletteÁ  s    !c   
      C   s  d d d g } t  j |  j ƒ } | j t j ƒ | j t j ƒ x* | j D] } t	 j
 t | j ƒ d ƒ qK Wxš t t j | j d ƒ Œ  D]} \ } } | j | | f } |  j | | } |  j | | } | j d j ƒ  j \ } }	 t j | | ƒ t j | |	 ƒ qŠ Wxš t t j | j d ƒ Œ  D]} \ } } | j | | f } |  j | | } |  j | | } | j d j ƒ  j \ } }	 t j | | ƒ t j | |	 ƒ q'WxR t t j | j ƒ Œ  D]8 \ } } | j | | f } t	 j
 t | j ƒ d ƒ qÁWd  S(   NR   R   R!  i
   i   i    iÿÿÿÿ(   R   R   R   t   map_offdiagR!   R7  RP  RQ  RR  R   R,   R9   RS  Rk   RC   RJ  R'   R9  R:  R;  RO   RP   RI  t   diag_indices_from(
   R   R1  R   R*   R<  R8   R>  R?  R@  RA  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_map_diag_and_offdiagÌ  s.    ((%c         C   s£  t  j ƒ  t j |  j d d ƒ} | j t d t |  j j j	 ƒ  ƒ ƒ k sR t
 ‚ t j |  j d d ƒ} | j t d t |  j j j	 ƒ  ƒ ƒ k sš t
 ‚ t j |  j d d d d ƒ} | j t d t |  j j j	 ƒ  ƒ ƒ k sè t
 ‚ t d d d d	 d
 d ƒ } t d d	 d g ƒ } t j |  j d d d | ƒ} | j | k sKt
 ‚ t d d d	 g ƒ } t j |  j d d d t d ƒ d | ƒ} | j | k sŸt
 ‚ d  S(   NR&   R   Rc   R   Rì   Rn   Rí   Rî   Rï   R   Rñ   Rv   t   cab(   R   R¶   R   R   R   Rn   R   R9   R   R:   R;   R   Rˆ   RF   (   R   R   Rô   Rõ   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyRö   ë  s    
000!	c      	   C   s  t  d d d d d g ƒ } t j |  j d d d | ƒ} | j t j ƒ xA t | j d j	 | d ƒ D]" \ } } t
 j | j ƒ  | ƒ qg Wt j |  j d d d | d
 t d ƒ ƒ} | j t j ƒ xA t | j d j	 | d ƒ D]" \ } } t
 j | j ƒ  | ƒ qå Wd  S(   NR÷   Rø   Rù   R   t   +R&   R   Rû   i    Rv   t   dcab(   i    i    (   i    i    (   Rˆ   R   R   R   Rd   R!   Re   Rk   R'   Rp   R   R,   Rü   RF   (   R   R¬   R   Rq   R÷   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyRý     s    **c         C   sX  t  d ƒ } t j |  j d d d | ƒ} | j t j ƒ x” t | j d
 j	 | ƒ D]y \ } } | j
 ƒ  j \ } } t j | |  j j |  j j | k d f ƒ t j | |  j j |  j j | k d f ƒ qT Wt j d	 ƒ t j |  j d d d | ƒ} | j t j ƒ x” t | j d j	 | ƒ D]y \ } } | j
 ƒ  j \ } } t j | |  j j |  j j | k d f ƒ t j | |  j j |  j j | k d f ƒ q&Wt j d	 ƒ t j |  j d d d | ƒ} | j t j ƒ x” t | j d j	 | ƒ D]y \ } } | j
 ƒ  j \ } } t j | |  j j |  j j | k d f ƒ t j | |  j j |  j j | k d f ƒ qøWt j d	 ƒ t j |  j d d d | ƒ} | j t j ƒ x” t | j d j	 | ƒ D]y \ } } | j
 ƒ  j \ } } t j | |  j j |  j j | k d f ƒ t j | |  j j |  j j | k d f ƒ qÊWt j d	 ƒ d  S(   NRh  R&   R   Rv   i   i    R   R   R¢   (   i   i    (   i    i    (   i   i    (   i    i   (   RF   R   R   R   Rd   R!   Re   Rk   R'   Rp   t
   get_xydataR;  RO   RP   RE   R   t   closeRP  RH  RL  (   R   RÈ   R   Rq   Rt   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_hue_order  s:    &,0&,0&,0&,0c         C   sX  t  d ƒ } t j |  j d d d | ƒ} | j t j ƒ x” t | j d
 j	 | ƒ D]y \ } } | j
 ƒ  j \ } } t j | |  j j |  j j | k d f ƒ t j | |  j j |  j j | k d f ƒ qT Wt j d	 ƒ t j |  j d d d | ƒ} | j t j ƒ x” t | j d j	 | ƒ D]y \ } } | j
 ƒ  j \ } } t j | |  j j |  j j | k d f ƒ t j | |  j j |  j j | k d f ƒ q&Wt j d	 ƒ t j |  j d d d | ƒ} | j t j ƒ x” t | j d j	 | ƒ D]y \ } } | j
 ƒ  j \ } } t j | |  j j |  j j | k d f ƒ t j | |  j j |  j j | k d f ƒ qøWt j d	 ƒ t j |  j d d d | ƒ} | j t j ƒ x” t | j d j	 | ƒ D]y \ } } | j
 ƒ  j \ } } t j | |  j j |  j j | k d f ƒ t j | |  j j |  j j | k d f ƒ qÊWt j d	 ƒ d  S(   Nt   dcaebR&   R   Rv   i   i    R   R   R¢   (   i   i    (   i    i    (   i   i    (   i    i   (   RF   R   R   R   Rd   R!   Re   Rk   R'   Rp   Ri  R;  RO   RP   RE   R   Rj  RP  RH  RL  (   R   RÈ   R   Rq   Rt   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_hue_order_missing_level>  s:    &,0&,0&,0&,0c         C   s÷  |  j  j ƒ  j d ƒ } d d d g } t j | ƒ } | j t j ƒ x˜ t | j	 ƒ D]‡ \ } } xx t | ƒ D]j \ } } |  j  | | } |  j  | | }	 | j
 d j ƒ  j \ }
 } t j | |
 ƒ t j |	 | ƒ qo WqV Wt j | d ƒ } | j t j ƒ xí t | j	 ƒ D]Ü \ } } xÍ t | ƒ D]¿ \ } } |  j  | | } |  j  | | }	 xn t |  j  j j ƒ  ƒ D]T \ } } | |  j  j | k } |	 |  j  j | k } | j
 | j ƒ  j \ }
 } qsWt j | |
 ƒ t j | | ƒ q,WqWd  S(   NR   R   R   R!  i    R   (   R   RB   t	   set_indexR   R   Rd   R!   R7  R8  R'   R9  R:  R;  RO   RP   R   R:   (   R   R   R1  R.   R<  R=  R8   R*   R>  R?  R@  RA  R/   RB  RC  RD  RE  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_nondefault_indexj  s.    % c         C   s]  d d d g } t  j |  j ƒ } x, | j D]! } t | j ƒ d k s+ t ‚ q+ Wxš t t j	 | j
 d ƒ Œ  D]} \ } } | j
 | | f } |  j | | } |  j | | } | j d j ƒ  j \ } }	 t j | | ƒ t j | |	 ƒ ql Wxš t t j | j
 d ƒ Œ  D]} \ } } | j
 | | f } |  j | | } |  j | | } | j d j ƒ  j \ } }	 t j | | ƒ t j | |	 ƒ q	WxR t t j | j
 ƒ Œ  D]8 \ } } | j
 | | f } t j t | j ƒ d ƒ q£Wt  j |  j d d ƒ} t |  j j j ƒ  ƒ }
 xG | j D]< } t | j ƒ |
 k s:t ‚ t | j ƒ |
 k st ‚ qWd  S(	   NR   R   R!  i   i    iÿÿÿÿR&   R   (   R   t   pairplotR   RR  R9   RS  R;   Rk   RC   RJ  R'   R9  R:  R;  RO   RP   RI  Rd  R   R,   R   R:   Rp   (   R   R1  R   R*   R<  R8   R>  R?  R@  RA  RH   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_pairplotˆ  s4    ((%c   
      C   sQ  d d d g } t  j |  j d d d d ƒ} x* | j D] } t j t | j ƒ d ƒ q7 WxÌ t t	 j
 | j d	 ƒ Œ  D]¯ \ } } | j | | f } |  j | | } |  j | | } | j d
 j ƒ  j \ } }	 t j | | ƒ t j | |	 ƒ t j t | j ƒ d	 ƒ t j t | j ƒ d ƒ qv WxÌ t t	 j | j d ƒ Œ  D]¯ \ } } | j | | f } |  j | | } |  j | | } | j d
 j ƒ  j \ } }	 t j | | ƒ t j | |	 ƒ t j t | j ƒ d	 ƒ t j t | j ƒ d ƒ qEWxR t t	 j | j ƒ Œ  D]8 \ } } | j | | f } t j t | j ƒ d
 ƒ qWd  S(   NR   R   R!  t	   diag_kindRQ  t   kindt   regi
   i   i    i   iÿÿÿÿ(   R   Rp  R   RR  R   R,   R9   RS  Rk   RC   RJ  R'   R9  R:  R;  RO   RP   Rp   RI  Rd  (
   R   R1  R   R*   R<  R8   R>  R?  R@  RA  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_pairplot_reg¬  s2    ((%c   
      C   sç  d d d g } t  j |  j d d ƒ} x* | j D] } t j t | j ƒ d ƒ q1 Wxš t t	 j
 | j d ƒ Œ  D]} \ } } | j | | f } |  j | | } |  j | | } | j d j ƒ  j \ } }	 t j | | ƒ t j | |	 ƒ qp Wxš t t	 j | j d ƒ Œ  D]} \ } } | j | | f } |  j | | } |  j | | } | j d j ƒ  j \ } }	 t j | | ƒ t j | |	 ƒ qWxR t t	 j | j ƒ Œ  D]8 \ } } | j | | f } t j t | j ƒ d ƒ q§Wd  S(	   NR   R   R!  Rr  t   kdei   i    iÿÿÿÿ(   R   Rp  R   RR  R   R,   R9   Rp   Rk   RC   RJ  R'   R9  R:  R;  RO   RP   RI  Rd  (
   R   R1  R   R*   R<  R8   R>  R?  R@  RA  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_pairplot_kdeÏ  s*    ((%c         C   sª   d d d g } d d d g } t  j |  j d d d | d	 | ƒ} | j d
 | k s[ t ‚ t j d ƒ t j t	 ƒ - t  j |  j d d d | d	 | d  ƒ} Wd  QXd  S(   NR   R   R!  Rø   Rù   R&   R   R1  t   markersR÷   R¢   iþÿÿÿ(
   R   Rp  R   Rû   R;   R!   Rj  R?   R@   RA   (   R   R1  Rx  R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_pairplot_markersì  s    $(/   R  R  RC   t   randomt   RandomStateR  Rd   t   ordR  RÏ   RÐ   Rˆ   R  t   randintR  R  RF   R   R   R,  R#   R+   R0  R2  R3  R4  R5  R6  R«   RG  RK  RM  R   R  RV  R`  Rb  Re  Rö   Rý   Rk  Rm  Ro  Rq  Ru  Rw  Ry  (    (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyR  ß  sB   !											
							,,	$#t   TestJointGridc           B   s  e  Z e j j e e e d  ƒ ƒ ƒ Z e j	 d ƒ Z
 e j	 d ƒ Z e
 j ƒ  Z e j e d <e j e d <e j e d e
 d e d e ƒ ƒ Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  RS(   t	   JointGridid   i
   i   R   R   t   x_nac         C   sT   t  j |  j j ƒ  |  j j ƒ  ƒ } t j | j |  j ƒ t j | j |  j ƒ d  S(   N(   R   R  R   t   tolistR   RO   RP   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_margin_grid_from_lists  s    $c         C   sH   t  j |  j |  j ƒ } t j | j |  j ƒ t j | j |  j ƒ d  S(   N(   R   R  R   R   RO   RP   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_margin_grid_from_arrays	  s    c         C   sN   t  j |  j j |  j j ƒ } t j | j |  j ƒ t j | j |  j ƒ d  S(   N(   R   R  R   R   R   RO   RP   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_margin_grid_from_series  s    c         C   sH   t  j d d |  j ƒ } t j | j |  j ƒ t j | j |  j ƒ d  S(   NR   R   (   R   R  R   RO   RP   R   R   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_margin_grid_from_dataframe  s    c         C   s0   t  j t ƒ  t j d d |  j ƒ Wd  QXd  S(   NR   t
   bad_column(   R   R4   RA   R   R  R   (   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt,   test_margin_grid_from_dataframe_bad_variable  s    c         C   sª   t  j d d |  j ƒ } | j j ƒ  | j j ƒ  } } t j | d ƒ t j | d ƒ | j d d ƒ | j j ƒ  | j j ƒ  } } t j | d ƒ t j | d ƒ d  S(   NR   R   s
   x variables
   y variable(	   R   R  R   t   ax_jointRÜ   RÝ   R   R,   RÛ   (   R   R   t   xlabelt   ylabel(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_margin_grid_axis_labels   s    c         C   s   t  j d d |  j d t ƒ} t j t | j ƒ t |  j ƒ ƒ t  j d d |  j d t	 ƒ} t j t | j ƒ t
 j |  j ƒ j ƒ  ƒ d  S(   NR€  R   R¼   (   R   R  R   Ra   R   R,   R9   R   R€  RÂ   RÏ   t   notnullR  (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyR  -  s    "c         C   s’   d } t  j d d |  j d | d | ƒ} t j | j j ƒ  | ƒ t j | j j ƒ  | ƒ t j | j j ƒ  | ƒ t j | j	 j ƒ  | ƒ d  S(   Niýÿÿÿi   R   R   R²   R³   (   iýÿÿÿi   (
   R   R  R   R   R,   Rˆ  R·   R¸   t	   ax_marg_xt	   ax_marg_y(   R   t   limR   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_axlims5  s    $c         C   sV   t  j d d |  j ƒ } t j t | j j ƒ  ƒ ƒ t j t | j j	 ƒ  ƒ ƒ d  S(   NR   R   (
   R   R  R   R   R‰   R9   R  R¹   RŽ  Rº   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_marginal_ticks@  s    c         C   sq   t  j d d |  j ƒ } | j t j ƒ | j j d j ƒ  j	 \ } } t
 j | |  j ƒ t
 j | |  j ƒ d  S(   NR   R   i    (   R   R  R   t
   plot_jointR!   Re   Rˆ  Rp   Ri  R;  RO   RP   R   R   (   R   R   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_bivariate_plotF  s
    c         C   sw   t  j d d |  j ƒ } | j t ƒ | j j d j ƒ  j \ } } | j	 j d j ƒ  j \ } } t
 j | | ƒ d  S(   NR   i    (   R   R  R   t   plot_marginalsR   R  Rp   Ri  R;  RŽ  RO   RP   (   R   R   R©   t   y1t   y2(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_univariate_plotO  s
    c         C   sÂ   t  j d d |  j ƒ } | j t j t ƒ | j j d j ƒ  j	 \ } } t
 j | |  j ƒ t
 j | |  j ƒ | j j d j ƒ  j	 \ } } | j j d j ƒ  j	 \ } } t
 j | | ƒ d  S(   NR   i    (   R   R  R   Re   R!   R   Rˆ  Rp   Ri  R;  RO   RP   R   R  RŽ  (   R   R   R   R   R©   R•  R–  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt	   test_plotX  s    c      
   C   sq  t  j d d |  j ƒ } t j |  j |  j ƒ } | j t j ƒ | j j	 j
 d j ƒ  } t j | d | ƒ | j t j d d ƒ| j j	 j
 d j ƒ  } t j | d | ƒ d „  } | |  j |  j ƒ } | j | ƒ | j j	 j
 d j ƒ  } t j | d	 | ƒ d
 } | j t j d | ƒ| j j	 j
 d j ƒ  } t j | | j d d d | d d | d ƒ ƒ d  S(   NR   R   i    s   pearsonr = %.2g; p = %.2gt   statt   correlations   correlation = %.2g; p = %.2gc         S   s   t  j |  | ƒ d d S(   Ni    i   (   R    t   pearsonr(   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   rsquaredr  s    s   rsquared = %.2gs    {stat} = {val:.3g} (p = {p:.3g})t   templateR›  t   valRy   i   (   R   R  R   R    R›  R   R   t   annotateRˆ  t   legend_RÃ   Rh   R   R,   t   format(   R   R   t   rpt
   annotationRœ  t   r2R  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_annotatee  s$    	c         C   s   t  j d d |  j d d ƒ} | j j j } | j j j } | j j j } t j	 | d | d ƒ t j	 | d | d ƒ d  S(   NR   R   t   spacei    i   i   (
   R   R  R   Rˆ  t   bboxt   boundsR  RŽ  R   R,   (   R   R   t   joint_boundst   marg_x_boundst   marg_y_bounds(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt
   test_space€  s    (!   R  R  RC   Rz  R{  R  Rd   R|  R  t   randnR   R   RB   R€  RD   RÏ   RÐ   Rˆ   R   R‚  Rƒ  R„  R…  R‡  R‹  R  R  R‘  R“  R—  R˜  R¥  R¬  (    (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyR~  ù  s*   !$															t   TestJointPlotc           B   s¶   e  Z e j j e e e d  ƒ ƒ ƒ Z e j	 d ƒ Z
 e j	 d ƒ Z e j e d e
 d e ƒ ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z RS(   t	   jointplotid   R   R   c         C   sÓ   t  j d d |  j ƒ } t j t | j j ƒ d ƒ | j j d j ƒ  j	 \ } } t
 j |  j | ƒ t
 j |  j | ƒ t |  j ƒ } t j t | j j ƒ | ƒ t |  j ƒ } t j t | j j ƒ | ƒ d  S(   NR   R   i   i    (   R   R¯  R   R   R,   R9   Rˆ  R9  R:  R;  RO   RP   R   R   R   R  RS  RŽ  (   R   R   R   R   t   x_binst   y_bins(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_scatter“  s    c         C   s-  t  j d d |  j d d ƒ} t j t | j j ƒ d ƒ | j j d j ƒ  j	 \ } } t
 j |  j | ƒ t
 j |  j | ƒ t |  j ƒ } t j t | j j ƒ | ƒ t |  j ƒ } t j t | j j ƒ | ƒ t j t | j j ƒ d ƒ t j t | j j ƒ d ƒ t j t | j j ƒ d ƒ d  S(   NR   R   Rs  Rt  i   i    i   (   R   R¯  R   R   R,   R9   Rˆ  R9  R:  R;  RO   RP   R   R   R   R  RS  RŽ  Rp   (   R   R   R   R   R°  R±  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_reg¢  s    c         C   s’   t  j d d |  j d d ƒ} t j t | j j ƒ d ƒ t j t | j j ƒ d ƒ t j t | j	 j ƒ d ƒ t j t | j
 j ƒ d ƒ d  S(   NR   R   Rs  t   residi   i    (   R   R¯  R   R   R,   R9   Rˆ  R9  Rp   R  RŽ  (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt
   test_residµ  s
    c         C   s”   t  j d d |  j d d ƒ} t j t | j j ƒ d ƒ t |  j	 ƒ } t j t | j
 j ƒ | ƒ t |  j ƒ } t j t | j j ƒ | ƒ d  S(   NR   R   Rs  t   hexi   (   R   R¯  R   R   R,   R9   Rˆ  R9  R   R   R  RS  R   RŽ  (   R   R   R°  R±  (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_hex½  s    c         C   s±   t  j d d |  j d d ƒ} t j t | j j ƒ d k ƒ t j t | j	 j ƒ d ƒ t j t | j
 j ƒ d ƒ t j t | j	 j ƒ d ƒ t j t | j
 j ƒ d ƒ d  S(   NR   R   Rs  Rv  i    i   (   R   R¯  R   R   R‰   R9   Rˆ  R9  R,   R  RŽ  Rp   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_kdeÈ  s    c         C   s   t  j d d |  j d d ƒ} t j j j d ƒ } | j j d j	 ƒ  d d  d … f } t
 j t | ƒ | ƒ | j j d j	 ƒ  d  } t
 j | | ƒ d  S(   NR   R   RW  t   purplei    i   (   R   R¯  R   RX  RY  RZ  t   to_rgbRˆ  R9  R]  R   R,   t   tupleR  RS  (   R   R   R¹  t   scatter_colort
   hist_color(    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt
   test_colorÓ  s    &c         C   s{   t  j d d |  j d t j ƒ} t j t | j j	 j
 ƒ  ƒ d ƒ t  j d d |  j d d  ƒ} t j | j j	 d  ƒ d  S(   NR   R   t	   stat_funci   (   R   R¯  R   R    R›  R   R,   R9   Rˆ  R   Rm   R®   R   (   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_annotationÞ  s    !"c      
   C   sz   t  j d d |  j d d d t d d ƒ ƒ} t j t | j j ƒ d ƒ | j j d	 j	 ƒ  } t j d
 | j
 d	 ƒ d  S(   NR   R   Rs  R¶  t	   joint_kwst   gridsizei   i   i    i   (   R   R¯  R   Rˆ   R   R,   R9   Rˆ  R9  t	   get_arrayR-   (   R   R   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_hex_customiseæ  s
    c      
   C   s6   t  j t ƒ ! t j d d |  j d d ƒWd  QXd  S(   NR   R   Rs  t
   not_a_kind(   R   R4   RA   R   R¯  R   (   R   (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   test_bad_kindï  s    (   R  R  RC   Rz  R{  R  Rd   R|  R  R­  R   R   RÏ   RÐ   Rˆ   R   R²  R³  Rµ  R·  R¸  R¾  RÀ  RÄ  RÆ  (    (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyR®  Œ  s   !									(4   R˜   t   numpyRC   t   pandasRÏ   t   scipyR    t
   matplotlibRX  t   matplotlib.pyplott   pyplotR!   t   distutils.versionR   R?   t
   nose.toolst   toolsR   t   numpy.testingt   testingRO   t   numpy.testing.decoratorsR   t   pandas.testingR(  t   ImportErrort   pandas.util.testingt   utilRÀ   R   R   R   t   palettesR   t   distributionsR   R   t   categoricalR   t   utilsR	   Rz  R{  R  t   __version__R  R  RN   R
   R  R~  R®  (    (    (    s:   lib/python2.7/site-packages/seaborn/tests/test_axisgrid.pyt   <module>   s>   ÿ ÿ Áÿ ÿ “