ó
—W[c           @   s  d  d l  Z d  d l Z d  d l Z d  d l m Z m Z d  d l Z d  d l	 j
 Z d  d l m 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 d d l m Z d d l m Z e e j ƒ d	 k Z e d
 ƒ Z d e  f d „  ƒ  YZ! d e! f d „  ƒ  YZ" d e! f d „  ƒ  YZ# d e! f d „  ƒ  YZ$ d e! f d „  ƒ  YZ% d e! f d „  ƒ  YZ& d e! f d „  ƒ  YZ' d e! f d „  ƒ  YZ( d e! f d „  ƒ  YZ) d e! f d „  ƒ  YZ* d e! f d  „  ƒ  YZ+ d! e! f d" „  ƒ  YZ, d# e! f d$ „  ƒ  YZ- d S(%   iÿÿÿÿN(   t   statst   spatial(   t   rgb2hex(   t   LooseVersion(   t   skipifi   (   t   categorical(   t   palettess   0.15s   2.0.1t   CategoricalFixturec        
   B   sK  e  Z d  Z e j j d ƒ Z d Z e j e	 e d ƒ d ƒ Z
 e j e
 d e j e d ƒ d d ƒƒZ e j e j e ƒ d d ƒZ e j e j e d	 ƒ e	 e d ƒ ƒ d d
 ƒZ e j e j e d ƒ e	 e d ƒ ƒ d d ƒZ e j e j e d ƒ e	 e d ƒ ƒ ƒ Z e j e d e d e d e d e ƒ ƒ Z e e d <RS(   s;   Test boxplot (also base class for things like violinplots).i   i<   i   t   columnst   XYZt   namet   bigt   y_datat   abct   smallt   mni   t   mediumt   jkht   yt   gt   ht   ut   W(   t   __name__t
   __module__t   __doc__t   npt   randomt   RandomStatet   rst   n_totalt   randnt   intt   xt   pdt	   DataFramet   Seriest   listt   x_dfR   t   repeatR   t   tileR   R   t   dictt   df(    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyR      s   *11+*t   TestCategoricalPlotterc           B   s¼   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 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c      	   C   s  t  j ƒ  } | j d |  j ƒ xF t | j |  j d d d g j j ƒ D] \ } } t j	 | | ƒ qH Wt
 j | j d ƒ t
 j | j d  ƒ t
 j | j d ƒ t
 j | j d  ƒ | j d |  j d d ƒ t
 j | j d	 ƒ t
 j t ƒ  | j d
 d d |  j ƒ Wd  QXd  S(   Nt   datat   Xt   Yt   Zt   vR   t   orientt   horizR   t   huet   d(   t   catt   _CategoricalPlottert   establish_variablesR&   t   zipt	   plot_datat   valuest   Tt   nptt   assert_array_equalt   ntt   assert_equalR1   t	   assert_ist	   plot_huest   Nonet   group_labelt   value_labelt   assert_raisest
   ValueError(   t   selft   pR!   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_wide_df_data(   s    5c         C   sÔ  t  j ƒ  } |  j j ƒ  } | j d | ƒ t j t | j ƒ d ƒ t j t | j d ƒ |  j	 ƒ t j
 | j d  ƒ t j
 | j d  ƒ | j ƒ  } | j d | ƒ t j t | j ƒ d ƒ t j t | j d ƒ |  j	 ƒ t j
 | j d  ƒ t j
 | j d  ƒ t j |  j j ƒ  |  j j ƒ  t |  j	 d ƒ  g ƒ } | j d | ƒ t j t | j ƒ d ƒ t j t | j d ƒ |  j	 ƒ t j t | j d ƒ |  j	 d ƒ t j
 | j d  ƒ t j
 | j d  ƒ d  S(   NR,   i   i    i   (   R5   R6   R!   t   ravelR7   R>   R?   t   lenR9   R   R@   RC   RB   RD   t   tolistR   t   arrayR    (   RG   RH   t
   x_1d_arrayt	   x_1d_listt   x_notreally_1d(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_1d_input_dataA   s*      & $c         C   s;  t  j ƒ  } |  j d  d  … d f } | j d | d  d  … t j f ƒ t j t | j	 ƒ d ƒ t j t | j	 d ƒ |  j j
 d ƒ t j | j d  ƒ t j | j d  ƒ | j d | t j d  d  … f ƒ t j t | j	 ƒ d ƒ t j t | j	 d ƒ |  j j
 d ƒ t j | j d  ƒ t j | j d  ƒ d  S(   Ni    R,   i   (   R5   R6   R!   R7   R   t   newaxisR>   R?   RK   R9   t   shapeR@   RC   RB   RD   (   RG   RH   R!   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_2d_input_data_   s    #'#'c         C   sE   t  j ƒ  } t j d ƒ } t j t ƒ  | j d | ƒ Wd  QXd  S(   Ni   R,   (   i   i   i   (   R5   R6   R   t   zerosR>   RE   RF   R7   (   RG   RH   R!   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_3d_input_datas   s    c         C   s±   t  j ƒ  } |  j j j ƒ  } | j d | ƒ t j t | j	 ƒ d ƒ g  | j	 D] } t | ƒ ^ qQ } t j | |  j
 d g d ƒ t j | j d  ƒ t j | j d  ƒ d  S(   NR,   i   (   R5   R6   R!   R;   RL   R7   R>   R?   RK   R9   R   R@   RC   RB   RD   (   RG   RH   t   x_listt   v_it   lengths(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_list_of_array_input_data|   s    "c         C   s‹   t  j ƒ  } | j d |  j ƒ t j t j | j ƒ d |  j	 d f ƒ t
 j | j |  j j ƒ t j | j d  ƒ t j | j d  ƒ d  S(   NR,   i   (   R5   R6   R7   R!   R>   R?   R   RS   R9   R   R<   R=   R;   R@   RC   RB   RD   (   RG   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_wide_array_input_data‹   s    )c         C   sB  t  j ƒ  } | j d |  j ƒ t j | j |  j g ƒ t j | j d ƒ t j | j	 d ƒ t j
 | j d  ƒ | j d |  j ƒ t j | j |  j g ƒ t j | j d ƒ t j | j	 d ƒ t j
 | j d  ƒ | j d |  j j ƒ t j | j |  j g ƒ t j | j d ƒ t j
 | j	 d  ƒ t j
 | j d  ƒ d  S(   NR!   R   R   R   R0   (   R5   R6   R7   R   R<   R?   R9   R>   R1   RD   R@   RC   RB   R:   (   RG   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_single_long_direct_inputs—   s     c         C   sæ   t  j ƒ  } | j d d d |  j ƒ t j | j |  j g ƒ t j | j	 d ƒ t j | j
 d ƒ t j | j d  ƒ | j d d d |  j ƒ t j | j |  j g ƒ t j | j	 d ƒ t j | j
 d ƒ t j | j d  ƒ d  S(   NR!   R   R,   R   R0   (   R5   R6   R7   R*   R<   R?   R9   R   R>   R1   RD   R@   RC   RB   (   RG   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt    test_single_long_indirect_inputs°   s    c         C   sš  t  j ƒ  } | j d d d d |  j ƒt j t | j ƒ d ƒ t j t | j ƒ d ƒ t j | j	 d ƒ t j | j
 d ƒ t j | j d ƒ t j | j d ƒ xI t d d d	 g | j ƒ D], \ } } t j | |  j |  j | k ƒ qÂ WxI t d d d	 g | j ƒ D], \ } } t j | |  j |  j | k ƒ qW| j d |  j j d |  j ƒ t j | j
 d  ƒ t j | j d ƒ xI t d d d	 g | j ƒ D], \ } } t j | |  j |  j | k ƒ qŸW| j d d |  j j |  j ƒ xI t d d d	 g | j ƒ D], \ } } t j | |  j |  j | k ƒ q
Wt r–|  j j ƒ  } | j j d
 ƒ | _ | j d d d d | ƒt j t | j ƒ d ƒ t j t | j ƒ d ƒ t j | j	 d ƒ t j | j
 d ƒ t j | j d ƒ t j | j d ƒ xI t d d d	 g | j ƒ D], \ } } t j | |  j |  j | k ƒ qWxL t d d d	 g | j ƒ D], \ } } t j | |  j |  j | k ƒ qcWn  d  S(   NR   R   R   R,   i   R0   t   at   bt   ct   category(   R5   R6   R7   R*   R>   R?   RK   R9   RA   R1   RD   RC   t	   hue_titleR8   R<   R=   R   R   R   R:   R@   RB   t   pandas_has_categoricalst   copyt   astype(   RG   RH   t   groupt   valst   huesR*   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_longform_groupbyÂ   sD    ($($($($($(c         C   s   t  j ƒ  } t d d d d d d d d d |  j ƒ } xS d d d d g D]? } | j ƒ  } d	 | | <t j t ƒ  | j |   Wd  QXqI Wd  S(
   NR!   R   R   R3   R   t   unitsR   R,   t	   bad_input(	   R5   R6   R)   R*   Rd   R>   RE   RF   R7   (   RG   RH   t   kwst   inputt	   input_kws(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_input_validation÷   s    *
c         C   sî  t  j ƒ  } | j d |  j ƒ t j | j d d d g ƒ | j d |  j d d d d g ƒ t j | j d d d g ƒ x@ t d d d g | j ƒ D]# \ } } t	 j
 | |  j | ƒ q• Wt j t ƒ ' | j d |  j d d d d g ƒ Wd  QX| j d	 d
 d |  j ƒt j | j d d d g ƒ | j d	 d
 d |  j d d d d g ƒt j | j d d d g ƒ xI t d d d g | j ƒ D], \ } } t	 j
 | |  j |  j | k ƒ q‰Wt rê|  j j ƒ  } | j j d ƒ | _ | j j  j d d d g ƒ | _ | j d	 d
 d | ƒt j | j d d d g ƒ xI t d d d g | j ƒ D], \ } } t	 j
 | |  j |  j | k ƒ qRW| j j  j d ƒ j  j d d d d g ƒ | _ | j d	 d
 d | ƒt j | j d d d d g ƒ n  d  S(   NR,   R-   R.   R/   t   orderi   i   i    R   R   R^   R_   R`   Ra   R4   (   R5   R6   R7   R&   R>   R?   t   group_namesR8   R9   R<   R=   RE   RF   R!   R*   R   R   Rc   Rd   Re   t   reorder_categoriest   add_categories(   RG   RH   Rf   Rg   R*   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt
   test_order  s6    "(((($!($c      	   C   se  t  j ƒ  } | j d d d d |  j ƒt j | j d d g ƒ | j d d d d |  j d d d g ƒt j | j d d g ƒ t ra|  j j ƒ  } | j	 j
 d ƒ | _	 | j	 j  j d d g ƒ | _	 | j d d d d | ƒt j | j d d g ƒ | j	 j  j d	 ƒ j  j d	 d d g ƒ | _	 | j d d d d | ƒt j | j d	 d d g ƒ n  d  S(
   NR   R   R   R,   t   mt   nt	   hue_orderRa   t   o(   R5   R6   R7   R*   R>   R?   t	   hue_namesRc   Rd   R   Re   Rr   Rs   (   RG   RH   R*   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_hue_order/  s     c         C   s­   t  j ƒ  } | j d d d d |  j ƒt j | j d  ƒ | j d d d d |  j d d ƒxI t d d d	 g | j ƒ D], \ } } t	 j
 | |  j |  j | k ƒ qy Wd  S(
   NR   R   R   R,   Rj   R   R^   R_   R`   (   R5   R6   R7   R*   R>   R@   t
   plot_unitsRB   R8   R<   R=   R   R   (   RG   RH   Rf   Rj   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_plot_unitsI  s    "(c         C   s¤  t  j ƒ  } t j d d d g d ƒ } t j |  j j d ƒ ƒ } t j | j | | ƒ d ƒ t j | j | | ƒ d ƒ t j | j | d  ƒ d ƒ t j | j d  | ƒ d ƒ t j | j | | d ƒ d ƒ t j | j | | d	 ƒ d ƒ t j
 t ƒ  | j | | ƒ Wd  QXt r t j d
 d d g d d d ƒ} t j | j | | ƒ d ƒ t j | j | | ƒ d ƒ t j
 t ƒ  | j | | ƒ Wd  QXn  d  S(   NR^   R_   R`   i
   i   R0   R   t   vertt   horii    i   i   t   dtypeRa   (   R5   R6   R"   R$   R   R   R>   R?   t   infer_orientRB   RE   RF   Rc   (   RG   RH   t   catst   nums(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_infer_orientS  s"    "c         C   s©   t  j ƒ  } | j d d d |  j ƒ| j d  d  d ƒ t j | j t	 j
 d d ƒ ƒ | j d d d d |  j ƒ| j d  d  d ƒ t j | j t	 j
 d d ƒ ƒ d  S(	   NR   R   R,   i   t   n_colorsi   R   i   (   R5   R6   R7   R*   t   establish_colorsRB   R>   R?   t   colorsR   t   color_palette(   RG   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_default_palettesl  s    c      
   C   s}   t  j d d g d ƒ _ t j ƒ  } | j d d d |  j ƒ| j d  d  d ƒ t j	 | j
 t  j d d	 d
 ƒƒ Wd  QXd  S(   Nt   bluet   redi   R   R   R,   i   i   t   lgffffffæ?(   R   R‡   R5   R6   R7   R*   R…   RB   R<   R=   R†   t   husl_palette(   RG   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt%   test_default_palette_with_many_levelsz  s    c         C   sÞ   t  j ƒ  } | j d d d |  j ƒ| j d d  d ƒ t j j j	 d ƒ } t
 j | j | g d ƒ | j d d d d |  j ƒ| j d d  d ƒ t j t j d d	 ƒ ƒ } t j | j | d  d  … d  d … f ƒ d  S(
   NR   R   R,   R‰   i   i   R   s   #ff0022i   (   R5   R6   R7   R*   R…   RB   t   mplR†   t   colorConvertert   to_rgbR>   R?   R   RM   R   t   light_paletteR<   t   assert_array_almost_equal(   RG   RH   t   blue_rgbt
   rgba_array(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_specific_colorƒ  s    c         C   s   t  j ƒ  } | j d d d |  j ƒ| j d  d d ƒ t j | j t	 j
 d d ƒ ƒ | j d d d d |  j ƒ| j d  d d ƒ t j | j t	 j
 d d	 ƒ ƒ t  j ƒ  } | j d d d |  j ƒ| j d
 d d ƒ t j | j t	 j
 d d ƒ ƒ d  S(   NR   R   R,   t   darki   i   R   t   mutedi   R‰   t   deep(   R5   R6   R7   R*   R…   RB   R>   R?   R†   R   R‡   (   RG   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_specific_palette”  s    c         C   sl   t  j ƒ  } | j d d d d |  j ƒi d	 d 6d
 d 6} | j d  | d ƒ t j | j d d g ƒ d  S(   NR   R   R   R,   i    i   Ru   Rv   (   i    i    i   (   i   i    i    (   i    i    i   (   i   i    i    (	   R5   R6   R7   R*   R…   RB   R>   R?   R†   (   RG   RH   t   pal(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_dict_as_palette¨  s
    c         C   sŽ   t  j ƒ  } | j d d d |  j ƒ| j d d  d ƒ t j | j d g d	 ƒ | j d  d d d
 g d ƒ t j | j d d d g ƒ d  S(   NR   R   R,   i    i   g      à?g      Ð?g      è?i   t   w(   i    i    i   (   g      Ð?g      Ð?g      è?(   i    i    i   (   i   i    i    (   g      Ð?g      Ð?g      è?(   g      è?g      Ð?g      Ð?(   i   i   i   (	   R5   R6   R7   R*   R…   RB   R>   R?   R†   (   RG   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_palette_desaturation°  s    (   R   R   RI   RQ   RT   RV   RZ   R[   R\   R]   Ri   Ro   Rt   Rz   R|   Rƒ   Rˆ   R   R•   R™   R›   R   (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyR+   &   s(   										5		-		
							t   TestCategoricalStatPlotterc           B   sb   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c         C   s²   t  j ƒ  } | j d d d |  j ƒ| j t j d  d ƒ t j	 | j
 t j g  ƒ ƒ | j d d d d |  j ƒ| j t j d  d ƒ t j	 | j
 t j g  g  g  g ƒ ƒ d  S(   NR   R   R,   id   R   (   R5   t   _CategoricalStatPlotterR7   R*   t   estimate_statisticR   t   meanRB   R<   R=   t   confintRM   (   RG   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_no_bootstrappig¿  s    c         C   sc  t  j ƒ  } t j t j t d ƒ d ƒ ƒ } t j t j j d ƒ j	 d ƒ ƒ } | j
 | | ƒ | j t j d d ƒ t j | j j d
 ƒ t j | j j d ƒ t j | j | j | ƒ j ƒ  ƒ x— t | j | j | ƒ ƒ D]z \ } \ } } t j | ƒ } | j ƒ  } t j j d	 ƒ t j j d	 ƒ | }	 | |	 | |	 f }
 t j |
 | d ƒ qá Wd  S(   NR   id   i    i,  i_   i'  i   i   g333333ï?(   i   (   i   i   (   R5   RŸ   R"   R$   R   R'   R%   R   R   R   R7   R    R¡   R>   R?   t	   statisticRS   R¢   R<   R’   t   groupbyR8   R    t   semt   normt   ppf(   RG   RH   R   R   t   cit   _t   grp_yR¦   R¡   t   half_cit   ci_want(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_single_layer_statsÊ  s     !$.c         C   sš  t  j ƒ  } t j t j t d ƒ d ƒ ƒ } t j t j j d ƒ j	 d ƒ ƒ } t j t j t j
 t d ƒ d ƒ d ƒ ƒ } | | d k c d 8<| | d	 k c d 7<| j | | ƒ | j t j d
 d ƒ | j | j } } | j | | d | ƒ| j t j d
 d ƒ | j | j } } t j | | ƒ | d  d  … d f | d  d  … d f }	 | d  d  … d f | d  d  … d f }
 t j |	 |
 ƒ d  S(   NR   iZ   i    i  t   xyzi   i   R!   R   i_   i'  Rj   i   (   R5   RŸ   R"   R$   R   R'   R%   R   R   R   R(   R7   R    R¡   R¤   R¢   R<   R=   t   assert_array_less(   RG   RH   R   R   R   t   stat1t   ci1t   stat2t   ci2t   ci1_sizet   ci2_size(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt"   test_single_layer_stats_with_unitsâ  s     !$-**c         C   sz  t  j ƒ  } t j t j t d ƒ d ƒ ƒ } t j t j j d ƒ j	 d ƒ ƒ } | j
 | | d t d ƒ ƒ| j t j d d ƒ t j | j j d ƒ t j | j j d ƒ | | d k j ƒ  } t j | | d k ƒ } t j j d ƒ | } | | | | f } t j | j d | ƒ t j | j d | d
 ƒ t j | j d
 t j ƒ t j | j d
 t j t j f ƒ d  S(   NR   id   i    i,  Rp   t   abdci_   i'  i   i   R_   g333333ï?i   (   i   (   i   i   (   R5   RŸ   R"   R$   R   R'   R%   R   R   R   R7   R    R¡   R>   R?   R¤   RS   R¢   R    R¦   R§   R¨   R<   t   assert_almost_equalR’   t   nanR=   (   RG   RH   R   R   R¡   R¦   R¬   R©   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt)   test_single_layer_stats_with_missing_dataù  s    !$c         C   sÃ  t  j ƒ  } t j t j t d ƒ d ƒ ƒ } t j t j t d ƒ d ƒ ƒ } t j t j j	 d ƒ j
 d ƒ ƒ } | j | | | ƒ | j t j d d ƒ t j | j j d ƒ t j | j j d ƒ t j | j | j | | g ƒ j ƒ  j ƒ  ƒ xÇ t | j | j | ƒ ƒ D]ª \ } \ } } x• t | | d  d  d
 … | d d  d
 … g ƒ D]d \ } }	 t j |	 ƒ }
 |	 j ƒ  } t j j d ƒ |
 } | | | | f } t j | | d
 ƒ qSWqWd  S(   NR   id   t   xyi–   i    i,  i_   iPÃ  i   i   i   g333333ï?(   i   i   (   i   i   i   (   R5   RŸ   R"   R$   R   R'   R%   R(   R   R   R   R7   R    R¡   R>   R?   R¤   RS   R¢   R<   R’   R¥   t   unstackR8   R    R¦   R§   R¨   (   RG   RH   R   R   R   t   ci_gRª   R«   R©   t   hue_yR¦   R¡   R¬   R­   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_nested_stats  s"    !!$".<c         C   sÁ  t  j ƒ  } t j t j t d ƒ d ƒ ƒ } t j t j t d ƒ d ƒ ƒ } t j t j t d ƒ d ƒ ƒ } t j t j j	 d ƒ j
 d ƒ ƒ } | | d	 k c d
 8<| | d k c d
 7<| j | | | ƒ | j t j d d ƒ | j | j } } | j | | | d | ƒ| j t j d d ƒ | j | j } }	 t j | | ƒ | d  d  … d d f | d  d  … d d f }
 |	 d  d  … d d f |	 d  d  … d d f } t j |
 | ƒ d  S(   NR   iZ   R¼   i‡   t   ijkijki-   i    i  t   ii   t   ki_   i'  Rj   i   (   R5   RŸ   R"   R$   R   R'   R%   R(   R   R   R   R7   R    R¡   R¤   R¢   R<   R=   R°   (   RG   RH   R   R   R   R   R±   R²   R³   R´   Rµ   R¶   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_nested_stats_with_units)  s"    !!!$00c   	   	   C   s)  t  j ƒ  } t j t j t d ƒ d ƒ ƒ } t j t j j d ƒ j	 d ƒ ƒ } t j t j
 t d ƒ d ƒ ƒ } | j | | | d t d ƒ d	 t d
 ƒ ƒ| j t j d d ƒ t j | j j d ƒ t j | j j d ƒ | | d k | d k @j ƒ  } t j | | d k | d k @ƒ } t j j d ƒ | } | | | | f } t j | j d | ƒ t j | j d | d ƒ t j | j d  d  … d f t j g d ƒ t j | j d t j g d ƒ t j | j d  d  … d f t j d ƒ t j ƒ t j | j d t j d ƒ t j ƒ d  S(   NR   id   i    i,  R¼   i–   Rp   R¸   Rw   t   zyxi_   iPÃ  i   i   i   R_   R!   g333333ï?i   (   i   i   (   i   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R5   RŸ   R"   R$   R   R'   R%   R   R   R   R(   R7   R    R¡   R>   R?   R¤   RS   R¢   R    R¦   R§   R¨   R<   R¹   R’   R=   Rº   RU   (	   RG   RH   R   R   R   R¡   R¦   R¬   R©   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt#   test_nested_stats_with_missing_dataA  s,    !$! #-!c   
      C   s=  t  j ƒ  } t j t j t d ƒ d ƒ ƒ } t j t j j d ƒ j	 d ƒ ƒ } | j
 | | ƒ | j t j d d  ƒ t j | j j d ƒ t j | j j d	 ƒ t j | j | j | ƒ j ƒ  ƒ xq t | j | j | ƒ ƒ D]T \ } \ } } | j ƒ  } t j | ƒ } | | | | f }	 t j |	 | d ƒ qá Wd  S(
   NR   id   i    i,  t   sdi   i   (   i   (   i   i   (   R5   RŸ   R"   R$   R   R'   R%   R   R   R   R7   R    R¡   RB   R>   R?   R¤   RS   R¢   R<   R’   R¥   R8   t   std(
   RG   RH   R   R   R©   Rª   R«   R¡   R¬   R­   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_sd_error_bars_  s    !$.c         C   s­  t  j ƒ  } t j t j t d ƒ d ƒ ƒ } t j t j t d ƒ d ƒ ƒ } t j t j j	 d ƒ j
 d ƒ ƒ } | j | | | ƒ | j t j d d  ƒ t j | j j d ƒ t j | j j d ƒ t j | j | j | | g ƒ j ƒ  j ƒ  ƒ x± t | j | j | ƒ ƒ D]” \ } \ } } x t | | d  d  d	 … | d
 d  d	 … g ƒ D]N \ } }	 |	 j ƒ  }
 t j |	 ƒ } |
 | |
 | f } t j | | d	 ƒ qSWqWd  S(   NR   id   R¼   i–   i    i,  RÇ   i   i   i   (   i   i   (   i   i   i   (   R5   RŸ   R"   R$   R   R'   R%   R(   R   R   R   R7   R    R¡   RB   R>   R?   R¤   RS   R¢   R<   R’   R¥   R½   R8   RÈ   (   RG   RH   R   R   R   R¾   Rª   R«   R©   R¿   R¡   R¬   R­   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_nested_sd_error_barsu  s     !!$".<c         C   sü  t  j ƒ  } d | _ t j ƒ  \ } } d d g } d d g } d d	 g } | j | | | | ƒ | j } xz t | | | | ƒ D]c \ } }	 }
 } | j ƒ  j	 \ } } t
 j | |	 |	 g ƒ t
 j | |
 ƒ t j | j ƒ  | ƒ q€ Wt j d
 ƒ d | _ t j ƒ  \ } } | j | | | | ƒ | j } xz t | | | | ƒ D]c \ } }	 }
 } | j ƒ  j	 \ } } t
 j | |
 ƒ t
 j | |	 |	 g ƒ t j | j ƒ  | ƒ qDWt j d
 ƒ d | _ t j ƒ  \ } } | j | | | | d d ƒ| j t | j ƒ d } | j ƒ  d } | j ƒ  d } t | | ƒ } t j | d ƒ t j t | j ƒ d ƒ t j d
 ƒ d | _ t j ƒ  \ } } | j | | | | d d ƒ| j t | j ƒ d } | j ƒ  d } | j ƒ  d } t | | ƒ } t j | d ƒ t j t | j ƒ d ƒ t j ƒ  \ } } | j | | | | d d ƒ| j d } t j | j ƒ  d ƒ t j d
 ƒ t j ƒ  \ } } | j | | | | d d ƒ| j t | j ƒ d } t j | j d ƒ t j t | j ƒ d ƒ t j d
 ƒ d  S(   NR0   i    i   g      à?g      ø?g      Ð?gš™™™™™é?s   .2s   .3t   allR   t   capsizeg333333Ó?i   t   lwi   t   errwidthi   (   g      à?g      ø?(   g      Ð?gš™™™™™é?(   R5   RŸ   R1   t   pltt   subplotst   draw_confintst   linesR8   t
   get_xydataR;   R<   R=   R>   R?   t	   get_colort   closeRK   t	   get_xdatat   absR¹   t	   get_ydatat   get_linewidtht
   _linewidth(   RG   RH   t   ft   axt   at_groupt   confintsR†   RÒ   t   linet   atR©   R`   R!   R   t   caplinet   caplinestartt
   caplineendt   caplinelength(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_cis  sl    		(		(		(   R   R   R£   R®   R·   R»   RÀ   RÄ   RÆ   RÉ   RÊ   Rå   (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRž   ½  s   									t   TestBoxPlotterc           B   s­   e  Z e d  d d d d d d d d d d d d d d d d d d	 d
 d d d e d d d d ƒ Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z RS(   R!   R   R3   R,   Rp   Rw   R1   t   colort   palettet
   saturationg      è?t   widthgš™™™™™é?t   dodget	   fliersizei   t	   linewidthc         C   sÿ   |  j  j ƒ  } t j |   } | j d d d d |  j ƒt j | j d ƒ |  j  j ƒ  } d | d <t j |   } | j d d d d |  j ƒt j | j d ƒ |  j  j ƒ  } t	 | d
 <t j |   } | j d d d d |  j ƒt j | j d ƒ d  S(   NR   R   R   R,   gš™™™™™Ù?g\Âõ(\ï?g333333ã?Rê   g333333Ó?Rë   gš™™™™™é?gJ+‡Ù?g7‰A`åÐÒ?(
   t   default_kwsRd   R5   t   _BoxPlotterR7   R*   R>   R?   t   nested_widtht   False(   RG   Rl   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_nested_widthæ  s    

c         C   sï   t  j |  j   } | j d d d d |  j ƒt j | j d d g ƒ |  j j ƒ  } d | d <t  j |   } | j d d d d |  j ƒt j | j d	 d
 g ƒ t  j |   } | j d d d d |  j ƒt j	 | j d d d g ƒ d  S(   NR   R   R   R,   gš™™™™™É¿gš™™™™™É?g333333ã?Rê   g333333Ã¿g333333Ã?i    (
   R5   Rï   Rî   R7   R*   R<   R=   t   hue_offsetsRd   R’   (   RG   RH   Rl   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_hue_offsetsù  s    
c         C   s‰   t  j d d d |  j ƒ} t j t | j ƒ d ƒ t j d ƒ t  j d d d d |  j ƒ} t j t | j ƒ d ƒ t j d ƒ d  S(   NR   R   R,   i   RË   R   i   (	   R5   t   boxplotR*   R>   R?   RK   t   artistsRÏ   RÕ   (   RG   RÜ   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_axes_data	  s    c         C   s  t  j d d d |  j d d ƒ} t j d d ƒ } x: t | j | ƒ D]& \ } } t j | j	 ƒ  d  | ƒ qF Wt
 j d ƒ t  j d d d	 d |  j d d ƒ} t j d d
 ƒ } x> t | j | d
 ƒ D]& \ } } t j | j	 ƒ  d  | ƒ qÊ Wt
 j d ƒ d  S(   NR   R   R,   Ré   i   R„   i   RË   R   i   (   R5   Rõ   R*   R   R‡   R8   Rö   R>   R?   t   get_facecolorRÏ   RÕ   (   RG   RÜ   Rš   t   patchRç   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_box_colors  s    !$#c      
   C   sJ   t  j d d d |  j d d d d d g ƒ} t j t | j ƒ d	 ƒ d  S(
   NR   R   R,   Rp   R^   R_   R`   R4   i   (   R5   Rõ   R*   R>   R?   RK   Rö   (   RG   RÜ   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_missing_boxes%  s    c         C   sÜ   d d d d d d d d g } d d d d d d d d g } |  j  j d ƒ } t j | d )t j | | ƒ } t j t | j	 ƒ d	 ƒ t
 j d
 ƒ d | d <t j | | | ƒ } t j t | j	 ƒ d ƒ t
 j d
 ƒ d  S(   NR^   R_   R`   R4   R!   R   i   iþÿÿÿi   RË   i    iÿÿÿÿi   (   R   R   R   Rº   R5   Rõ   R>   R?   RK   Rö   RÏ   RÕ   (   RG   R!   R   R   RÜ   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_missing_data+  s    
c         C   sa  t  j d d |  j ƒt j d ƒ t  j d d d |  j ƒ t j d ƒ t  j d d d |  j ƒt j d ƒ t  j d d d |  j d d ƒt j d ƒ t  j d d d d |  j ƒt j d ƒ t  j d d d d t d ƒ d |  j ƒt j d ƒ t  j d d d d	 t d
 ƒ d |  j ƒt j d ƒ t  j d d d d |  j d d ƒt j d ƒ d  S(   NR   R,   RË   R   R1   R   Rp   t   nabcRw   t   omn(   R5   Rõ   R*   RÏ   RÕ   R%   (   RG   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_boxplots=  s     (("c         C   sr  t  j d d d |  j ƒ} t j | j ƒ  d ƒ t j | j ƒ  d ƒ t j | j ƒ  d ƒ t j	 | j
 ƒ  d d d g ƒ t j	 g  | j ƒ  D] } | j ƒ  ^ q d	 d
 d g ƒ t j d ƒ t  j d d d d |  j ƒ} t j | j ƒ  d ƒ t j | j ƒ  d ƒ t j	 | j
 ƒ  d d d g ƒ t j	 g  | j ƒ  D] } | j ƒ  ^ q=d	 d
 d g ƒ t j	 g  | j j ƒ  D] } | j ƒ  ^ qxd d g ƒ t j d ƒ t  j d d d |  j d d ƒ} t j | j ƒ  d ƒ t j | j ƒ  d ƒ t j | j ƒ  d ƒ t j	 | j ƒ  d d d g ƒ t j	 g  | j ƒ  D] } | j ƒ  ^ q<d	 d
 d g ƒ t j d ƒ d  S(   NR   R   R,   g      à¿g      @i    i   i   R^   R_   R`   RË   R   Ru   Rv   R1   (   g      à¿g      @(   g      @g      à¿(   R5   Rõ   R*   R>   R?   t
   get_xlabelt
   get_ylabelt   get_xlimR<   R=   t
   get_xtickst   get_xticklabelst   get_textRÏ   RÕ   t   legend_t	   get_textst   get_ylimt
   get_ytickst   get_yticklabels(   RG   RÜ   R‹   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_axes_annotationY  s2    ((+!(N(   R   R   R)   RB   t   TrueRî   Rò   Rô   R÷   Rú   Rû   Rü   Rÿ   R  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRæ   Þ  s   							t   TestViolinPlotterc        )   B   s=  e  Z e d  d/ d d/ d d/ d d/ d d/ d d/ d d d d	 d
 d d e d d d d d d d e d e d d/ d d/ d d/ d d/ 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 d+ „  Z d, „  Z d- „  Z d. „  Z RS(0   R!   R   R3   R,   Rp   Rw   t   bwt   scottt   cuti   t   scalet   areat	   scale_huet   gridsizeid   Rê   gš™™™™™é?t   innert   boxt   splitRë   R1   Rí   Rç   Rè   Ré   g      è?c         C   sg   |  j  j ƒ  } | j t d d d d d d d |  j d t ƒ ƒ t j t ƒ  t	 j
 |   Wd  QXd  S(   NR!   R   R   R3   R   R,   R  (   Rî   Rd   t   updateR)   R*   R  R>   RE   RF   R5   t   _ViolinPlotter(   RG   Rl   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_split_error„  s    1c         C   s„  t  j |  j   } d d d g } |  j j d ƒ } t j | d <| j | | ƒ | j d d d t	 d ƒ t
 j t | j d	 ƒ d ƒ t
 j t | j d
 ƒ d	 ƒ t
 j t | j d	 ƒ d ƒ t
 j t | j d
 ƒ d
 ƒ t
 j | j d
 j ƒ  d
 ƒ | j d d d t	 d ƒ t
 j | j d
 j ƒ  d	 ƒ d g d d g d } |  j j d ƒ } d d g d d g d } | j | | | ƒ | j d d d t	 d ƒ t
 j t | j d
 d	 ƒ d ƒ t
 j t | j d
 d
 ƒ d	 ƒ t
 j t | j d
 d	 ƒ d ƒ t
 j t | j d
 d
 ƒ d
 ƒ t
 j | j d
 d
 j ƒ  d
 ƒ | j d d d t d ƒ t
 j | j d
 d
 j ƒ  d	 ƒ d  S(   NR^   R_   i   iÿÿÿÿR  i   R  i   i    i   t   counti   i   Ru   Rv   (   R5   R  Rî   R   R   R   Rº   R7   t   estimate_densitiesR  R>   R?   RK   t   supportt   densityt   itemRñ   (   RG   RH   R!   R   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_no_observationsŒ  s2    !!!!!c         C   sp  t  j |  j   } d d d g } |  j j d ƒ } | j | | ƒ | j d d d t d ƒ t j	 t
 | j d ƒ d ƒ t j	 t
 | j d	 ƒ d	 ƒ t j	 t
 | j d ƒ d ƒ t j	 t
 | j d	 ƒ d	 ƒ t j	 | j d	 j ƒ  d	 ƒ | j d d d
 t d ƒ t j	 | j d	 j ƒ  d ƒ d g d d g d } |  j j d ƒ } d d g d d  } | j | | | ƒ | j d d d t d ƒ t j	 t
 | j d	 d ƒ d ƒ t j	 t
 | j d	 d	 ƒ d	 ƒ t j	 t
 | j d	 d ƒ d ƒ t j	 t
 | j d	 d	 ƒ d	 ƒ t j	 | j d	 d	 j ƒ  d	 ƒ | j d d d
 t d ƒ t j	 | j d	 d	 j ƒ  d ƒ d  S(   NR^   R_   i   R  i   R  i   i    i   R  g      à?i   i   Ru   Rv   iÿÿÿÿ(   R5   R  Rî   R   R   R7   R  R  R>   R?   RK   R  R  R  Rñ   (   RG   RH   R!   R   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_single_observation³  s0    !!!!!c         C   s  |  j  j ƒ  } | j t d d d d d |  j ƒ ƒ t j |   } t j | j	 d ƒ | j t d d ƒ ƒ t j |   } t j | j	 d ƒ | j t d d	 d d
 ƒ ƒ t j |   } t j | j	 d ƒ | j t d t
 ƒ ƒ t j |   } t j | j	 d ƒ d  S(   NR!   R   R   R,   gš™™™™™Ù?Rê   gš™™™™™É?R3   R   gš™™™™™é?R  (   Rî   Rd   R  R)   R*   R5   R  R>   R?   t   dwidthR  (   RG   Rl   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_dwidthÙ  s    %c         C   s¤  |  j  j ƒ  } d | d <t j |   } d  | _ |  j j d d d ƒ |  j j d d d ƒ g } t j	 g  | D] } | j
 ƒ  ^ qn ƒ } | j | | t ƒ t j	 g  | D] } | j
 ƒ  ^ q© ƒ } t j | d d ƒ | d | d } | d | d } t j | | ƒ d d	 g | _ |  j j d d d ƒ |  j j d d d ƒ g |  j j d d
 d ƒ |  j j d d d ƒ g g } t j	 g  | D]% }	 g  |	 D] }
 |
 j
 ƒ  ^ q•^ qˆƒ } | j | | t ƒ t j	 g  | D]% }	 g  |	 D] }
 |
 j
 ƒ  ^ qã^ qÖƒ } t j | d d ƒ | d | d } | d | d } t j | | ƒ d d	 g | _ |  j j d d d ƒ |  j j d d d ƒ g |  j j d d
 d ƒ |  j j d d d ƒ g g } t j	 g  | D]% }	 g  |	 D] }
 |
 j
 ƒ  ^ qÕ^ qÈƒ } | j | | t ƒ t j	 g  | D]% }	 g  |	 D] }
 |
 j
 ƒ  ^ q#^ qƒ } t j | d d ƒ t j | d d ƒ | d | d } | d | d } t j | | ƒ d  S(   NR  R  i    gš™™™™™é?i2   gš™™™™™É?i   t   foot   bargš™™™™™¹?g{®Gáz”?(   i    i    (   i   i   (   i    i    (   i   i   (   i    i    (   i    i    (   i   i    (   i   i   (   i   i    (   i   i   (   i   i    (   Rî   Rd   R5   R  RB   Ry   R   t   uniformR   RM   t   maxt
   scale_areaRñ   R>   R?   R  (   RG   Rl   RH   R  R4   t
   max_beforet	   max_aftert   before_ratiot   after_ratiot   rowt   r(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_scale_areaí  sB    
	0((-3;;-3;;c         C   s‰  |  j  j ƒ  } d | d <t j |   } d  | _ |  j j d d d ƒ |  j j d d d ƒ g } | j | ƒ t	 j
 g  | D] } | j ƒ  ^ q{ ƒ } t j | d d g ƒ d d	 g | _ |  j j d d d ƒ |  j j d d d ƒ g |  j j d d
 d ƒ |  j j d d d ƒ g g } | j | ƒ t	 j
 g  | D]% } g  | D] } | j ƒ  ^ qB^ q5ƒ } t j | d d g d d g g ƒ d  S(   NRê   R  i    gš™™™™™é?i2   gš™™™™™É?i   R$  R%  gš™™™™™¹?g{®Gáz”?(   Rî   Rd   R5   R  RB   Ry   R   R&  t   scale_widthR   RM   R'  R<   R=   (   RG   Rl   RH   R  R4   R*  R-  R.  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_scale_width  s    
	0(-3;c   	      C   sË  |  j  j ƒ  } d | d <t j |   } d  | _ |  j j d d d ƒ |  j j d d d ƒ g } t j	 d d g ƒ } | j
 | | t ƒ t j	 g  | D] } | j ƒ  ^ q– ƒ } t j | d d	 g ƒ d
 d g | _ |  j j d d d ƒ |  j j d d d ƒ g |  j j d d d ƒ |  j j d d d ƒ g g } t j	 d d g d d g g ƒ } | j
 | | t ƒ t j	 g  | D]% } g  | D] } | j ƒ  ^ q„^ qwƒ } t j | d d g d	 d g g ƒ d
 d g | _ |  j j d d d ƒ |  j j d d d ƒ g |  j j d d d ƒ |  j j d d d ƒ g g } t j	 d d g d d g g ƒ } | j
 | | t ƒ t j	 g  | D]% } g  | D] } | j ƒ  ^ q„^ qwƒ } t j | d d	 g d	 d g g ƒ d  S(   NR  R  i    gš™™™™™é?i   gš™™™™™É?i(   g      à?i   R$  R%  i   gš™™™™™¹?id   g{®Gáz”?i2   gš™™™™™©?gš™™™™™Ù?g      À?(   Rî   Rd   R5   R  RB   Ry   R   R&  R   RM   t   scale_countRñ   R'  R<   R=   R  (	   RG   Rl   RH   R  t   countsR4   R*  R-  R.  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_scale_count2  s.    
	0(-3!;"-3!;c         C   s@   |  j  j ƒ  } d | d <t j t ƒ  t j |   Wd  QXd  S(   Nt   not_a_scale_typeR  (   Rî   Rd   R>   RE   RF   R5   R  (   RG   Rl   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_bad_scaleT  s    
c         C   sC  t  j |  j   } |  j } | j d d ƒ } t t j ƒ d k  rŒ | j |  j d ƒ \ } } t	 j
 | t j ƒ t	 j | j | j ƒ  ƒ n³ | j | d ƒ \ } } t	 j
 | t j ƒ t	 j | j | j ƒ  ƒ t	 j | | j ƒ  | ƒ | j |  j d ƒ \ } } t	 j
 | t j ƒ t	 j | j d ƒ t	 j | d | ƒ d  S(   Nt   ddofi   s   0.11gš™™™™™É?R  (   R5   R  Rî   R   RÈ   R   t   scipyt   __version__t   fit_kdeR>   t   assert_is_instanceR    t   gaussian_kdeR?   t   factort   scotts_factor(   RG   RH   R,   t   data_stdt   kdeR  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_kde_fit[  s    	c         C   sŽ  t  j |  j   } d | _ t j d d g ƒ } t j d d g ƒ } t j ƒ  \ } } | j | d d | | t	 ƒ | j
 d j ƒ  j \ } } t j | d d g ƒ t j | d d g ƒ t j d
 ƒ t j ƒ  \ } } | j | d d | | d ƒ | j
 d j ƒ  j \ } } t j | d d g ƒ t j | d d g ƒ t j d
 ƒ t j ƒ  \ } } | j | d d | | d ƒ | j
 d j ƒ  j \ } } t j | d d g ƒ t j | d d g ƒ t j d
 ƒ d | _ t j d d g ƒ } t j d d g ƒ } t j ƒ  \ } } | j | d d | | t	 ƒ | j
 d j ƒ  j \ } } t j | d d g ƒ t j | d d g ƒ t j d
 ƒ t j ƒ  \ } } | j | d d | | d ƒ | j
 d j ƒ  j \ } } t j | d d g ƒ t j | d d g ƒ t j d
 ƒ t j ƒ  \ } } | j | d d | | d ƒ | j
 d j ƒ  j \ } } t j | d d g ƒ t j | d d g ƒ t j d
 ƒ d  S(   Ni   gš™™™™™É?g333333ã?gš™™™™™¹?gš™™™™™Ù?i    g      à?g®Gáz®ï?gš™™™™™Ù¿RË   t   leftt   rightR   g333333Ó?gffffffæ?gffffffæ¿gòÒMbXÙ¿gòÒMbXÙ?gòÒMbXÙ¿gòÒMbXÙ?g“V-æ¿g“V-æ?g“V-æ¿g“V-æ?(   R5   R  Rî   Rê   R   RM   RÏ   RÐ   t   draw_to_densityRñ   RÒ   RÓ   R;   R<   R=   RÕ   R1   (   RG   RH   R  R  Rª   RÜ   R!   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_to_densityu  sV    		c         C   s"  t  j |  j   } d | _ t j ƒ  \ } } | j | d d d ƒ | j d j ƒ  j	 \ } } t
 j | d d g ƒ t
 j | d d g ƒ t j d ƒ d | _ t j ƒ  \ } } | j | d d d ƒ | j d j ƒ  j	 \ } } t
 j | d d g ƒ t
 j | d d	 g ƒ t j d ƒ d  S(
   Ni   i   g      ø?i    RË   R   gš™™™™™@g      à?g      @(   R5   R  Rî   Rê   RÏ   RÐ   t   draw_single_observationRÒ   RÓ   R;   R<   R=   RÕ   R1   (   RG   RH   Rª   RÜ   R!   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_single_observations´  s    		c   
      C   sX  |  j  j ƒ  } | j t d d d |  j d d  ƒ ƒ t j |   } t j	 ƒ  \ } } | j
 | |  j | j d | j d d ƒ t j t | j ƒ d ƒ t j |  j d d d g ƒ \ } } } | j d	 j ƒ  j \ } } t j | | | g ƒ | j d j ƒ  j \ } } t j | | ƒ t j d
 ƒ |  j  j ƒ  } | j t d d d |  j d d  ƒ ƒ t j |   } t j	 ƒ  \ } } | j
 | |  j | j d | j d d ƒ t j t | j ƒ d ƒ t j |  j d d d g ƒ \ } } } | j d	 j ƒ  j \ }	 } t j |	 | | g ƒ | j d j ƒ  j \ }	 } t j |	 | ƒ t j d
 ƒ d  S(   NR   R,   R  i    i   i   i2   iK   i   RË   R!   (   Rî   Rd   R  R)   R*   RB   R5   R  RÏ   RÐ   t   draw_box_linesR   R  R  R>   R?   RK   RÒ   R   t
   percentileRÓ   R;   R<   R=   t   collectionst   get_offsetsRÕ   (
   RG   Rl   RH   Rª   RÜ   t   q25t   q50t   q75R   R!   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_box_linesÊ  s0    %*'%*'c         C   sé   |  j  j ƒ  } | j t d d d |  j d d  ƒ ƒ t j |   } t j	 ƒ  \ } } | j
 | |  j | j d | j d d ƒ xc t t j |  j d d d g ƒ | j ƒ D]7 \ } } | j ƒ  j \ } } t j | | | g ƒ qª Wd  S(   NR   R,   R  i    i   i2   iK   (   Rî   Rd   R  R)   R*   RB   R5   R  RÏ   RÐ   t   draw_quartilesR   R  R  R8   R   RI  RÒ   RÓ   R;   R<   R=   (   RG   Rl   RH   Rª   RÜ   t   valRß   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_quartilesð  s    %*7c         C   s  t  j |  j   } t j ƒ  \ } } | j | |  j d ƒ | j d j ƒ  j	 \ } } t
 j | t j |  j ƒ ƒ t
 j | |  j ƒ t j d ƒ d | _ t j ƒ  \ } } | j | |  j d ƒ | j d j ƒ  j	 \ } } t
 j | |  j ƒ t
 j | t j |  j ƒ ƒ t j d ƒ d  S(   Ni    RË   R   (   R5   R  Rî   RÏ   RÐ   t   draw_pointsR   RJ  RK  R;   R<   R=   R   t
   zeros_likeRÕ   R1   (   RG   RH   Rª   RÜ   R!   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_pointsü  s    	c   	      C   s„  |  j  j ƒ  } | j t d d d |  j d d  ƒ ƒ t j |   } t j	 ƒ  \ } } | j
 | |  j | j d | j d d ƒ xN t |  j | j ƒ D]7 \ } } | j ƒ  j \ } } t j | | | g ƒ q• Wt j d ƒ d | _ t j	 ƒ  \ } } | j
 | |  j | j d | j d d ƒ xN t |  j | j ƒ D]7 \ } } | j ƒ  j \ } } t j | | | g ƒ q8Wt j d ƒ d  S(   NR   R,   R  i    RË   R   (   Rî   Rd   R  R)   R*   RB   R5   R  RÏ   RÐ   t   draw_stick_linesR   R  R  R8   RÒ   RÓ   R;   R<   R=   RÕ   R1   (	   RG   Rl   RH   Rª   RÜ   RQ  Rß   R   R!   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_sticks  s     %*"	*"c         C   sL   |  j  j ƒ  } | j t d d ƒ ƒ t j t ƒ  t j |   Wd  QXd  S(   NR  t	   bad_inner(	   Rî   Rd   R  R)   R>   RE   RF   R5   R  (   RG   Rl   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_validate_inner(  s    c         C   s¢  |  j  j ƒ  } | j t d d d |  j d d  d d d d ƒ ƒ t j |   } t j	 ƒ  \ } } | j
 | ƒ t j t | j ƒ d ƒ t j | j d j ƒ  d g ƒ t j d ƒ | j t d	 d d d  d d ƒ ƒ t j |   } t j	 ƒ  \ } } | j
 | ƒ t j t | j ƒ d ƒ t j | j d j ƒ  d g ƒ t j d ƒ | j t d	 d
 d d d d  ƒ ƒ t j |   } t j	 ƒ  \ } } | j
 | ƒ t j t | j ƒ d ƒ xL t | j t j ƒ  ƒ D]2 \ } } t j | j ƒ  d d  d … f | ƒ qÌWt j d ƒ | j t d d ƒ ƒ t j |   } t j	 ƒ  \ } } | j
 | ƒ t j t | j ƒ d ƒ xV t | j t j d d ƒ d ƒ D]2 \ } } t j | j ƒ  d d  d … f | ƒ qWt j d ƒ | j t d t d d ƒ ƒ t j |   } t j	 ƒ  \ } } | j
 | ƒ t j t | j ƒ d ƒ xY t | j t j d d d ƒd ƒ D]2 \ } } t j | j ƒ  d d  d … f | ƒ q[Wt j d ƒ d  S(   NR   R,   R  Ré   i   Rç   i    RË   R!   R   i   iÿÿÿÿR3   R   i   R„   i   R  Rè   R—   (   i   i    i    i   (   i   i    i    i   (   i    i   i    i   (   i    i   i    i   (   Rî   Rd   R  R)   R*   RB   R5   R  RÏ   RÐ   t   draw_violinsR>   R?   RK   RJ  R<   R=   t   get_facecolorsRÕ   R8   R   R‡   R  (   RG   Rl   RH   Rª   RÜ   t   violinRç   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_violinplots/  sZ    !
"
"%*#**c         C   sœ  |  j  j ƒ  } d  | d <d d d g } |  j j d ƒ } t j | d <| j d | d | ƒ t j	 |   } t
 j ƒ  \ } } | j | ƒ t j t | j ƒ d ƒ t j t | j ƒ d	 ƒ t
 j d
 ƒ d g d d g d } |  j j d ƒ } d d g d d g d } | j d | d | d | ƒ t j	 |   } t
 j ƒ  \ } } | j | ƒ t j t | j ƒ d ƒ t j t | j ƒ d	 ƒ t
 j d
 ƒ d  S(   NR  R^   R_   i   iÿÿÿÿR!   R   i   i    RË   i   i   i   Ru   Rv   R3   (   Rî   Rd   RB   R   R   R   Rº   R  R5   R  RÏ   RÐ   RZ  R>   R?   RK   RJ  RÒ   RÕ   (   RG   Rl   R!   R   RH   Rª   RÜ   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt%   test_draw_violinplots_no_observationsn  s,    
c         C   sÿ  |  j  j ƒ  } d  | d <d d d g } |  j j d ƒ } | j d | d | ƒ t j |   } t j	 ƒ  \ } } | j
 | ƒ t j t | j ƒ d ƒ t j t | j ƒ d ƒ t j d ƒ d g d	 d g d } |  j j d
 ƒ } d d g d	 d  } | j d | d | d | ƒ t j |   } t j	 ƒ  \ } } | j
 | ƒ t j t | j ƒ d ƒ t j t | j ƒ d ƒ t j d ƒ t | d <t j |   } t j	 ƒ  \ } } | j
 | ƒ t j t | j ƒ d ƒ t j t | j ƒ d ƒ t j d ƒ d  S(   NR  R^   R_   i   R!   R   i   RË   i   i   Ru   Rv   iÿÿÿÿR3   R  (   Rî   Rd   RB   R   R   R  R5   R  RÏ   RÐ   RZ  R>   R?   RK   RJ  RÒ   RÕ   R  (   RG   Rl   R!   R   RH   Rª   RÜ   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt)   test_draw_violinplots_single_observations  s8    

c         C   s  t  j d d |  j ƒt j d ƒ t  j d d d |  j ƒ t j d ƒ t  j d d d |  j ƒt j d ƒ t  j d d d |  j d d ƒt j d ƒ t  j d d d d |  j ƒt j d ƒ t  j d d d d t d ƒ d |  j ƒt j d ƒ t  j d d d d	 t d
 ƒ d |  j ƒt j d ƒ t  j d d d d |  j d d ƒt j d ƒ x­ d d d d d  g D]– } t  j d d d |  j d | ƒt j d ƒ t  j d d d d |  j d | ƒt j d ƒ t  j d d d d |  j d | d t ƒt j d ƒ qsWd  S(   NR   R,   RË   R   R1   R   Rp   Rý   Rw   Rþ   R  t   quartt   pointt   stickR  R  (   R5   t
   violinplotR*   RÏ   RÕ   R%   RB   R  (   RG   R  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_violinplotsµ  s0    ((""N(   R   R   R)   RB   R  Rñ   Rî   R  R   R!  R#  R/  R1  R4  R6  RA  RE  RG  RO  RR  RU  RW  RY  R]  R^  R_  Rd  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyR  {  s4   		'	&		/		"			?		&					?		(t   TestCategoricalScatterPlotterc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sü   t  j ƒ  } | j d d d d d |  j ƒ | j d  d d ƒ | j } t j t	 | ƒ |  j
 j ƒ  j ƒ t j d |  j
 j ƒ  j ƒ } xn t | ƒ D]` \ } } t j t | | ƒ t | d ƒ ƒ x- | j D]" } t j t j | ƒ j d ƒ qÎ Wq” Wd  S(   NR!   R   R   R,   R˜   i   i    (   R5   t   _CategoricalScatterPlotterR7   R*   R…   RB   t   point_colorsR>   R?   RK   R   t   uniquet   sizeR   R‡   t	   enumeratet   tupleR;   t   assert_equalsR   (   RG   RH   Rg  t   deep_colorsRÂ   t   group_colorst   channel(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_group_point_colorsß  s    	"$c   
      C   s  t  j ƒ  } |  j j ƒ  j ƒ  } | j d d d d d d d | d |  j ƒ | j d  d d	 ƒ | j	 } t
 j t | ƒ |  j j ƒ  j ƒ t j d t | ƒ ƒ } xk t | ƒ D]] \ } } xN t | ƒ D]@ \ } } | j | | }	 t
 j t | ƒ | | j |	 ƒ ƒ qÈ Wq¯ Wd  S(
   NR!   R   R   R3   R   Rw   R,   R˜   i   (   R5   Rf  R   Rh  RL   R7   R*   R…   RB   Rg  R>   R?   RK   R   Ri  R   R‡   Rj  RA   Rk  t   index(
   RG   RH   Rw   Rg  Rm  RÂ   Rn  t   jt   point_colort	   hue_level(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_hue_point_colorsï  s    	"c         C   s<  t  j ƒ  } d d g } | j d d d d d d d | d	 |  j ƒ | j d  d
 d ƒ t j d
 |  j j	 ƒ  j
 ƒ } t j ƒ  \ } } | j | ƒ | j ƒ  } x: t | j ƒ  ƒ D]& \ } } t j | j ƒ  | | ƒ q² WxY t | j ƒ D]H \ } }	 |	 j ƒ  d d  d … f }
 t j t |
 ƒ t | | ƒ ƒ qì Wd  S(   NRu   Rv   R!   R   R   R3   R   Rw   R,   R˜   i   i    i   (   R5   Rf  R7   R*   R…   RB   R   R‡   R   Rh  Ri  RÏ   RÐ   t   add_legend_datat   legendRj  R  R>   R?   R  t   legendHandlesRø   Rk  (   RG   RH   Rw   Rm  RÛ   RÜ   t   legRÂ   t   tR   t   rgb(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_scatterplot_legend  s    (   R   R   Rp  Ru  R|  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRe  Ý  s   		t   TestStripPlotterc           B   sw   e  Z d  „  Z e e ƒ d „  ƒ Z d „  Z d „  Z e e ƒ d „  ƒ Z d „  Z	 e e ƒ d „  ƒ Z
 d „  Z RS(   c         C   sã   t  j ƒ  } t j d d d t d |  j ƒ} x¯ t |  j j |  j	 ƒ ƒ D]’ \ } \ } } | j
 | j ƒ  j \ } } t j | t j t | ƒ ƒ | ƒ t j | | ƒ t j | j
 | j ƒ  d d  d … f | | ƒ qI Wd  S(   NR   R   t   jitterR,   i    i   (   R   R‡   R5   t	   stripplotRñ   R*   Rj  R   R¥   R   RJ  RK  R;   R<   R=   R   t   onesRK   R?   R[  (   RG   Rš   RÜ   RÂ   Rª   Rg   R!   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_stripplot_vertical  s    !.#c         C   sÇ   |  j  j ƒ  } | j j d ƒ | _ t j d d d t d | ƒ} x~ t |  j j	 |  j ƒ ƒ D]a \ } \ } } | j
 | j ƒ  j \ } } t j | | ƒ t j | t j t | ƒ ƒ | ƒ q^ Wd  S(   NRa   R   R   R~  R,   (   R*   Rd   R   Re   R5   R  Rñ   Rj  R   R¥   RJ  RK  R;   R<   R=   R   R€  RK   (   RG   R*   RÜ   RÂ   Rª   Rg   R!   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_stripplot_horiztonal(  s    .c         C   s  t  j ƒ  } t j d d d |  j d t ƒ} xÚ t |  j j |  j	 ƒ ƒ D]½ \ } \ } } | j
 | j ƒ  j \ } } t j t j t | ƒ ƒ | d | ƒ t j | t j t | ƒ ƒ | d ƒ t j | | ƒ t j | j
 | j ƒ  d d  d … f | | ƒ qI Wd  S(   NR   R   R,   R~  gš™™™™™¹?i    i   (   R   R‡   R5   R  R*   R  Rj  R   R¥   R   RJ  RK  R;   R<   R°   R   R€  RK   R=   R?   R[  (   RG   Rš   RÜ   RÂ   Rª   Rg   R!   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_stripplot_jitter6  s    !.''c      
   C   s?  t  j ƒ  } t j d d d d |  j d t d t ƒ} xt |  j j	 |  j
 ƒ ƒ D]å \ } \ } } xÐ t | j	 |  j ƒ ƒ D]¶ \ } \ } } | j | d | j ƒ  j \ } }	 t j | t j t | ƒ ƒ | d d	 g | ƒ t j |	 | ƒ | j | d | j ƒ  d
 d  d … f }
 t j |
 | | ƒ q} WqR Wd  S(   NR   R   R   R,   R~  Rë   i   gš™™™™™É¿gš™™™™™É?i    i   (   R   R‡   R5   R  R*   Rñ   R  Rj  R   R¥   R   R   RJ  RK  R;   R<   R=   R   R€  RK   R[  R?   (   RG   Rš   RÜ   RÂ   Rª   t
   group_valsRr  Rg   R!   R   t   fc(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt$   test_dodge_nested_stripplot_verticalE  s    .+$1+c   
   
   C   s  |  j  j ƒ  } | j j d ƒ | _ t j d d d d | d t d t ƒ} xÃ t |  j	 j
 |  j ƒ ƒ D]¦ \ } \ } } x‘ t | j
 |  j ƒ ƒ D]w \ } \ } } | j | d | j ƒ  j \ } }	 t j | | ƒ t j |	 t j t | ƒ ƒ | d	 d
 g | ƒ q’ Wqg Wd  S(   NRa   R   R   R   R,   R~  Rë   i   gš™™™™™É¿gš™™™™™É?(   R*   Rd   R   Re   R5   R  Rñ   R  Rj  R   R¥   R   RJ  RK  R;   R<   R=   R   R€  RK   (
   RG   R*   RÜ   RÂ   Rª   R„  Rr  Rg   R!   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt&   test_dodge_nested_stripplot_horizontalV  s    .+$c      
   C   s¯   t  j d d d d |  j d t d t ƒ} x~ t |  j j |  j ƒ ƒ D]a \ } \ } } | j | j	 ƒ  j
 \ } } t j | t j t | ƒ ƒ | ƒ t j | | ƒ qF Wd  S(   NR   R   R   R,   R~  Rë   (   R5   R  R*   Rñ   Rj  R   R¥   R   RJ  RK  R;   R<   R=   R   R€  RK   (   RG   RÜ   RÂ   Rª   R„  R!   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_nested_stripplot_verticalf  s    .#c      
   C   sÐ   |  j  j ƒ  } | j j d ƒ | _ t j d d d d | d t d t ƒ} x~ t |  j j	 |  j ƒ ƒ D]a \ } \ } } | j
 | j ƒ  j \ } } t j | | ƒ t j | t j t | ƒ ƒ | ƒ qg Wd  S(   NRa   R   R   R   R,   R~  Rë   (   R*   Rd   R   Re   R5   R  Rñ   Rj  R   R¥   RJ  RK  R;   R<   R=   R   R€  RK   (   RG   R*   RÜ   RÂ   Rª   R„  R!   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt    test_nested_stripplot_horizontalr  s    .c         C   sc   t  j d ƒ } t j d | ƒ } | j d j ƒ  } t j | j d ƒ t	 j
 | d | d ƒ d  S(   Ni   R!   i    i   i   (   i   i   (   R   t   arangeR5   R  RJ  Rø   R>   R?   RS   R<   R=   (   RG   R!   RÜ   t
   facecolors(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_three_strip_points  s
    (   R   R   R  R   Rc   R‚  Rƒ  R†  R‡  Rˆ  R‰  RŒ  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyR}    s   				t   TestSwarmPlotterc           B   s°   e  Z e d  d d d d d d d d d d d d e d d d d 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 RS(   R!   R   R3   R,   Rp   Rw   Rë   R1   Rç   Rè   c         C   sJ   t  j |  j   } | j d d d d g d ƒ } t j | d d	 g ƒ d  S(
   Ni   i    g      à?(   i   i   (   i    i    (   i   g      à?(   g      à?g      à?(   i   g      à?(   g      à?g      à?(   R5   t   _SwarmPlotterRî   t   could_overlapR<   R=   (   RG   RH   t	   neighbors(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_could_overlap  s    c         C   s“   t  j |  j   } d } d d	 g } | j | | d ƒ } d } t j d d
 ƒ d } t j | d | d f | d f | d f | d f g ƒ d  S(   Ni    i   g      ø?gÍÌÌÌÌÌð?g      à?i   (   i    i   (   i    i   (   i    g      ø?g      Ð?(   i    i   (   R5   RŽ  Rî   t   position_candidatesR   t   sqrtR<   R=   (   RG   RH   t   xy_iR  t
   candidatest   dx1t   dx2(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_position_candidates–  s    	c         C   s\   t  j |  j   } d d d g } t j d g ƒ } | j | | d ƒ } t j | d	 ƒ d  S(
   Ng      à?i   g      ø?i    (   g      à?i   (   i   i   (   g      ø?i   (   i    i   (   i   i   (   R5   RŽ  Rî   R   RM   t   first_non_overlapping_candidateR<   R=   (   RG   RH   R•  R  t   first(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt)   test_find_first_non_overlapping_candidate¢  s
    c   	      C   sÖ   t  j |  j   } |  j j ƒ  j ƒ  d } t j |  j j ƒ } t j	 |  j ƒ } t j
 | | f } | j | | ƒ } t j j | | ƒ } | t j | d ƒ } t j | | ƒ t j | | d  d  … d f ƒ d  S(   Ng      ø?i   (   R5   RŽ  Rî   R   t   diffR¡   R   RU   Ri  t   sortt   c_t   beeswarmR   t   distancet   cdistt   triu_indices_fromR<   R°   R=   (	   RG   RH   R4   R!   R   t   orig_xyt   swarmt   dmatt   triu(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_beeswarm«  s    c         C   sk   t  j |  j   } t j d d d d g ƒ } | j | d d ƒ } t j | t j d d d d g ƒ ƒ d  S(   Ni    iÿÿÿÿgš™™™™™Ù?gš™™™™™é?i   g      à¿g      à?(   R5   RŽ  Rî   R   RM   t   add_guttersR<   R=   (   RG   RH   t   points(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_add_gutters¸  s
    	c   	      C   sÉ   t  j ƒ  } t j d d d |  j ƒ} x› t |  j j |  j ƒ ƒ D]~ \ } \ } } | j	 | j
 ƒ  j \ } } t j | t j | ƒ ƒ | j	 | j ƒ  d d  d … f } t j | | | ƒ qC Wd  S(   NR   R   R,   i    i   (   R   R‡   R5   t	   swarmplotR*   Rj  R   R¥   R   RJ  RK  R;   R<   R’   R   R  R[  R?   (	   RG   Rš   RÜ   RÂ   Rª   Rg   R!   R   R…  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_swarmplot_verticalÀ  s    .#c   	      C   sÏ   t  j ƒ  } t j d d d |  j d d ƒ} x› t |  j j |  j ƒ ƒ D]~ \ } \ } } | j	 | j
 ƒ  j \ } } t j | t j | ƒ ƒ | j	 | j ƒ  d d  d … f } t j | | | ƒ qI Wd  S(   NR   R   R,   R1   R   i    i   (   R   R‡   R5   R«  R*   Rj  R   R¥   R   RJ  RK  R;   R<   R’   R   R  R[  R?   (	   RG   Rš   RÜ   RÂ   Rª   Rg   R!   R   R…  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_swarmplot_horizontalÍ  s    !.#c         C   s  t  j ƒ  } t j d d d d |  j d t ƒ} xÚ t |  j j |  j	 ƒ ƒ D]½ \ } \ } } x¨ t | j |  j
 ƒ ƒ D]Ž \ } \ } } | j | d | j ƒ  j \ } }	 t j |	 t j | ƒ ƒ | j | d | j ƒ  d d  d … f }
 t j |
 | | ƒ qw WqL Wd  S(	   NR   R   R   R,   Rë   i   i    i   (   R   R‡   R5   R«  R*   R  Rj  R   R¥   R   R   RJ  RK  R;   R<   R’   R   R  R[  R?   (   RG   Rš   RÜ   RÂ   Rª   R„  Rr  Rg   R!   R   R…  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt#   test_dodge_nested_swarmplot_veticalÚ  s    $.+$+c      
   C   s  t  j ƒ  } t j d d d d |  j d d d t ƒ} xÚ t |  j j |  j	 ƒ ƒ D]½ \ } \ } } x¨ t | j |  j
 ƒ ƒ D]Ž \ } \ } } | j | d | j ƒ  j \ } }	 t j | t j | ƒ ƒ | j | d | j ƒ  d d  d	 … f }
 t j |
 | | ƒ q} WqR Wd  S(
   NR   R   R   R,   R1   Rë   i   i    i   (   R   R‡   R5   R«  R*   R  Rj  R   R¥   R   R   RJ  RK  R;   R<   R’   R   R  R[  R?   (   RG   Rš   RÜ   RÂ   Rª   R„  Rr  Rg   R!   R   R…  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt&   test_dodge_nested_swarmplot_horizontalè  s    *.+$+c         C   s9  t  j d d d d |  j ƒ} t j ƒ  } |  j j ƒ  j ƒ  } t |  j j	 |  j
 ƒ ƒ } xØ t |  j j	 |  j
 ƒ ƒ D]» \ } \ } } | j | } | j ƒ  j \ }	 }
 t j | ƒ } t j |
 | j | ƒ | | \ } } xN t | j | j | j ƒ  ƒ D]- \ } } t j | d  | | j | ƒ ƒ q Wqv Wd  S(   NR   R   R   R,   i   (   R5   R«  R*   R   R‡   R   Rh  RL   R%   R¥   R   Rj  R   RJ  RK  R;   R   t   argsortR<   R’   t   ilocR8   R:   R[  R?   Rq  (   RG   RÜ   Rš   Ry   t   grouped_huesRÂ   Rª   Rg   R©  R!   R   t   sortert   hue_valsR3   R…  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_nested_swarmplot_verticalö  s    .c         C   s?  t  j d d d d |  j d d ƒ} t j ƒ  } |  j j ƒ  j ƒ  } t |  j j	 |  j
 ƒ ƒ } xØ t |  j j	 |  j
 ƒ ƒ D]» \ } \ } } | j | } | j ƒ  j \ }	 }
 t j | ƒ } t j |	 | j | ƒ | | \ } } xN t | j | j | j ƒ  ƒ D]- \ } } t j | d  | | j | ƒ ƒ qWq| Wd  S(   NR   R   R   R,   R1   i   (   R5   R«  R*   R   R‡   R   Rh  RL   R%   R¥   R   Rj  R   RJ  RK  R;   R   R°  R<   R’   R±  R8   R:   R[  R?   Rq  (   RG   RÜ   Rš   Ry   R²  RÂ   Rª   Rg   R©  R!   R   R³  R´  R3   R…  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt    test_nested_swarmplot_horizontal  s    $.N(   R   R   R)   RB   Rñ   Rî   R‘  R˜  R›  R§  Rª  R¬  R­  R®  R¯  Rµ  R¶  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyR  Š  s   											t   TestBarPlotterc        %   B   sÈ   e  Z e d  d d d d d d d d e j d d d d d	 d d
 d d d d d d d d d d d d d d d d d d e ƒ Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z RS(   R!   R   R3   R,   t	   estimatorR©   i_   t   n_bootid   Rj   Rp   Rw   R1   Rç   Rè   Ré   g      è?t   errcolors   .26RÎ   RÌ   Rë   c         C   sß   |  j  j ƒ  } t j |   } | j d d d d |  j ƒt j | j d d ƒ t j |   } | j d d d d |  j ƒt j | j d d ƒ t	 | d <t j |   } | j d d d d |  j ƒt j | j d ƒ d  S(	   NR   R   R   R,   gš™™™™™é?i   i   Rë   (
   Rî   Rd   R5   t   _BarPlotterR7   R*   R>   R?   Rð   Rñ   (   RG   Rl   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRò   *  s    
c   
      C   sÞ  |  j  j ƒ  } | j d d d d d |  j ƒ t j |   } t j ƒ  \ } } | j | i  ƒ t	 j
 t | j ƒ t | j ƒ ƒ t	 j
 t | j ƒ t | j ƒ ƒ x= t | j | j ƒ D]& \ } } t	 j
 | j ƒ  d  | ƒ q¹ Wt j t | j ƒ ƒ | j d } xÑ t | j | | j ƒ D]· \ } } }	 t	 j
 | j ƒ  | ƒ t	 j
 | j ƒ  | j ƒ t j t k r›t	 j
 | j ƒ  d ƒ t	 j
 | j ƒ  |	 ƒ qt	 j
 | j ƒ  t d |	 ƒ ƒ t	 j
 | j ƒ  t |	 ƒ ƒ qWd  S(   NR!   R   R   R,   iÿÿÿÿi   i    (   Rî   Rd   R  R*   R5   R»  RÏ   RÐ   t	   draw_barsR>   R?   RK   t   patchesR9   RÒ   R8   R†   Rø   R   RŠ  Rê   R¤   t   get_xt	   get_widthRŽ   R9  t   mpl_barplot_changet   get_yt
   get_heightt   minR×   (
   RG   Rl   RH   RÛ   RÜ   R%  Rç   t	   positionst   post   stat(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_vertical_bars;  s$    """#(c   
   	   C   sä  |  j  j ƒ  } | j d d d d d d d |  j ƒ t j |   } t j ƒ  \ } } | j | i  ƒ t	 j
 t | j ƒ t | j ƒ ƒ t	 j
 t | j ƒ t | j ƒ ƒ x= t | j | j ƒ D]& \ } } t	 j
 | j ƒ  d  | ƒ q¿ Wt j t | j ƒ ƒ | j d } xÑ t | j | | j ƒ D]· \ } } }	 t	 j
 | j ƒ  | ƒ t	 j
 | j ƒ  | j ƒ t j t k r¡t	 j
 | j ƒ  d	 ƒ t	 j
 | j ƒ  |	 ƒ q%t	 j
 | j ƒ  t d	 |	 ƒ ƒ t	 j
 | j ƒ  t |	 ƒ ƒ q%Wd  S(
   NR!   R   R   R1   R   R,   iÿÿÿÿi   i    (   Rî   Rd   R  R*   R5   R»  RÏ   RÐ   R¼  R>   R?   RK   R½  R9   RÒ   R8   R†   Rø   R   RŠ  Rê   R¤   RÁ  RÂ  RŽ   R9  RÀ  R¾  R¿  RÃ  R×   (
   RG   Rl   RH   RÛ   RÜ   R%  Rç   RÄ  RÅ  RÆ  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_horizontal_barsU  s$    %"""#(c      	   C   sX  |  j  j ƒ  } | j d d d d d d d |  j ƒ t j |   } t j ƒ  \ } } | j | i  ƒ t	 | j
 ƒ t	 | j ƒ } } t j t	 | j ƒ | | ƒ t j t	 | j ƒ | | ƒ x6 | j |  D]' } t j | j ƒ  d  | j d ƒ qÌ Wx6 | j | D]' } t j | j ƒ  d  | j d	 ƒ qWt j t	 | j
 ƒ ƒ } x^ t | j |  | ƒ D]F \ } }	 t j | j ƒ  |	 | j d
 ƒ t j | j ƒ  | j ƒ q_Wx¨ t | j | j j j ƒ D]‹ \ } }
 t t j ƒ t  k rt j | j! ƒ  d ƒ t j | j" ƒ  |
 ƒ qÅt j | j! ƒ  t# d |
 ƒ ƒ t j | j" ƒ  t$ |
 ƒ ƒ qÅWd  S(   NR!   R   R   R3   R   R,   iÿÿÿÿi    i   i   (%   Rî   Rd   R  R*   R5   R»  RÏ   RÐ   R¼  RK   R9   Ry   R>   R?   R½  RÒ   Rø   R†   R   RŠ  R8   R¹   R¾  Rê   R¿  Rð   R¤   R;   t   flatR   RŽ   R9  RÀ  RÁ  RÂ  RÃ  R×   (   RG   Rl   RH   RÛ   RÜ   t   n_groupst   n_huesR%  RÄ  RÅ  RÆ  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_nested_vertical_barso  s,    %%%#!(c         C   s^  |  j  j ƒ  } | j d d d d d d d d d |  j ƒ t j |   } t j ƒ  \ } } | j | i  ƒ t	 | j
 ƒ t	 | j ƒ } } t j t	 | j ƒ | | ƒ t j t	 | j ƒ | | ƒ x6 | j |  D]' } t j | j ƒ  d  | j d	 ƒ qÒ Wx6 | j | D]' } t j | j ƒ  d  | j d
 ƒ qWt j t	 | j
 ƒ ƒ } x^ t | j |  | ƒ D]F \ } }	 t j | j ƒ  |	 | j d ƒ t j | j ƒ  | j ƒ qeWx¨ t | j | j j j ƒ D]‹ \ } }
 t t j ƒ t  k rt j | j! ƒ  d	 ƒ t j | j" ƒ  |
 ƒ qËt j | j! ƒ  t# d	 |
 ƒ ƒ t j | j" ƒ  t$ |
 ƒ ƒ qËWd  S(   NR!   R   R   R3   R   R1   R,   iÿÿÿÿi    i   i   (%   Rî   Rd   R  R*   R5   R»  RÏ   RÐ   R¼  RK   R9   Ry   R>   R?   R½  RÒ   Rø   R†   R   RŠ  R8   R¹   RÁ  Rê   RÂ  Rð   R¤   R;   RÉ  R   RŽ   R9  RÀ  R¾  R¿  RÃ  R×   (   RG   Rl   RH   RÛ   RÜ   RÊ  RË  R%  RÄ  RÅ  RÆ  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt    test_draw_nested_horizontal_barsŽ  s,    +%%#!(c         C   s  |  j  j ƒ  } t d ƒ } | j d d d d d | d |  j ƒ t j |   } t j ƒ  \ } } | j	 | i  ƒ t
 j t | j ƒ t | ƒ ƒ t
 j t | j ƒ t | ƒ ƒ t j d ƒ t d ƒ } | j d d d d d	 d
 d | d |  j ƒ t j |   } t j ƒ  \ } } | j	 | i  ƒ t
 j t | j ƒ t | j ƒ t | ƒ ƒ t
 j t | j ƒ t | j ƒ t | ƒ ƒ t j d ƒ d  S(   Nt   abcdR!   R   R   Rp   R,   RË   t   mnoR3   R   Rw   (   Rî   Rd   R%   R  R*   R5   R»  RÏ   RÐ   R¼  R>   R?   RK   R½  RÒ   RÕ   R9   (   RG   Rl   Rp   RH   RÛ   RÜ   Rw   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_missing_bars­  s"    %+,,c   	      C   s«  |  j  j ƒ  } | j d d d d d |  j d d d d ƒ t j |   } t j ƒ  \ } } | j | i  ƒ t	 j
 d t |  j j ƒ  ƒ ƒ } x: t | j | ƒ D]& \ } } t j | j ƒ  d	  | ƒ qŸ Wt j d
 ƒ d } |  j  j ƒ  } | j d d d d d |  j d d d | ƒ t j |   } t j ƒ  \ } } | j | i  ƒ x' | j D] } t j | j ƒ  | ƒ qQWt j d
 ƒ |  j  j ƒ  } | j d d d d d d d |  j d d d d ƒ t j |   } t j ƒ  \ } } | j | i  ƒ t	 j
 d t |  j j ƒ  ƒ ƒ } xB | j t |  j j ƒ  ƒ  D]$ } t j | j ƒ  d	  | d ƒ q-WxB | j t |  j j ƒ  ƒ D]$ } t j | j ƒ  d	  | d ƒ qrWt j d
 ƒ d  S(   NR!   R   R   R,   Ré   i   Rè   R—   iÿÿÿÿRË   gš™™™™™É?g333333Ó?Rç   R3   R   t   Set2i    (   gš™™™™™É?gš™™™™™É?g333333Ó?i   (   Rî   Rd   R  R*   R5   R»  RÏ   RÐ   R¼  R   R‡   RK   R   Rh  R8   R½  R>   R?   Rø   RÕ   R   (	   RG   Rl   RH   RÛ   RÜ   Rè   Rù   t	   pal_colorRç   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_barplot_colorsÉ  s@    !$!#"#"c         C   s,  t  j d d d |  j ƒ} t j t | j ƒ t |  j j ƒ  ƒ ƒ t j | j	 ƒ  d ƒ t j | j
 ƒ  d ƒ t j d ƒ t  j d d d d d |  j ƒ} t j t | j ƒ t |  j j ƒ  ƒ ƒ t j | j	 ƒ  d ƒ t j | j
 ƒ  d ƒ t j d ƒ t  j d d d d |  j ƒ} t j t | j ƒ t |  j j ƒ  ƒ t |  j j ƒ  ƒ ƒ t j | j	 ƒ  d ƒ t j | j
 ƒ  d ƒ t j d ƒ t  j d d d d d d |  j ƒ} t j t | j ƒ t |  j j ƒ  ƒ t |  j j ƒ  ƒ ƒ t j | j	 ƒ  d ƒ t j | j
 ƒ  d ƒ t j d ƒ d  S(   NR   R   R,   RË   R1   R   (   R5   t   barplotR*   R>   R?   RK   R½  R   Rh  R   R  RÏ   RÕ   R   (   RG   RÜ   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_simple_barplotsú  s,    (!()$)N(   R   R   R)   RB   R   R¡   R  Rî   Rò   RÇ  RÈ  RÌ  RÍ  RÐ  RÓ  RÕ  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyR·  !  s   							1t   TestPointPlotterc        %   B   sÈ   e  Z e d  d  d d  d d  d d  d e j d d d d d	 d  d
 d  d d  d d d d d d d e d d d d  d d  d d  ƒ Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z RS(!   R!   R   R3   R,   R¸  R©   i_   R¹  id   Rj   Rp   Rw   t   markersRx   t
   linestylest   -Rë   i    t   joinR  i   R1   Rç   Rè   c         C   ss   |  j  j ƒ  } | j t d d d d d |  j ƒ ƒ t j |   } t j ƒ  d } t	 j
 | j | | | g ƒ d  S(   NR!   R   R   R,   i    (   Rî   Rd   R  R)   R*   R5   t   _PointPlotterR   R‡   R<   R=   R†   (   RG   Rl   RH   Rç   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_different_defualt_colors   s
    %c      
   C   s2  |  j  j ƒ  } | j t d d d d d d d |  j ƒ ƒ t j |   } t j | j	 d d g ƒ | j t d d	 ƒ ƒ t j |   } t j | j	 d
 d g ƒ | j t d d d d d d ƒ ƒ t j |   } t j | j	 d d d g ƒ | j t d d ƒ ƒ t j |   } t j | j	 d d d g ƒ d  S(   NR!   R   R   R3   R   R,   i    Rë   g      à?g      Ð¿g      Ð?g333333Ó?g333333Ã¿g333333Ã?(
   Rî   Rd   R  R)   R*   R5   RÛ  R<   R=   Ró   (   RG   Rl   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRô   (  s    +"c   
      C   sX  |  j  j ƒ  } | j d d d d d |  j ƒ t j |   } t j ƒ  \ } } | j | ƒ t	 j
 t | j ƒ d ƒ t	 j
 t | j ƒ t | j ƒ d ƒ | j d } t	 j
 t | j ƒ  ƒ t | j ƒ ƒ | j ƒ  j \ } } t j | t j t | j ƒ ƒ ƒ t j | | j ƒ x: t | j ƒ  | j ƒ D]  \ } }	 t j | d  |	 ƒ q0Wd  S(   NR!   R   R   R,   i   i    iÿÿÿÿ(   Rî   Rd   R  R*   R5   RÛ  RÏ   RÐ   RS  R>   R?   RK   RJ  RÒ   R9   RK  R;   R<   R=   R   RŠ  R¤   R8   R[  R†   (
   RG   Rl   RH   RÛ   RÜ   R©  R!   R   t	   got_colort
   want_color(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_vertical_points?  s    &%"c   
   	   C   s^  |  j  j ƒ  } | j d d d d d d d |  j ƒ t j |   } t j ƒ  \ } } | j | ƒ t	 j
 t | j ƒ d ƒ t	 j
 t | j ƒ t | j ƒ d ƒ | j d } t	 j
 t | j ƒ  ƒ t | j ƒ ƒ | j ƒ  j \ } } t j | | j ƒ t j | t j t | j ƒ ƒ ƒ x: t | j ƒ  | j ƒ D]  \ } }	 t j | d	  |	 ƒ q6Wd  S(
   NR!   R   R   R1   R   R,   i   i    iÿÿÿÿ(   Rî   Rd   R  R*   R5   RÛ  RÏ   RÐ   RS  R>   R?   RK   RJ  RÒ   R9   RK  R;   R<   R=   R¤   R   RŠ  R8   R[  R†   (
   RG   Rl   RH   RÛ   RÜ   R©  R!   R   RÝ  RÞ  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_draw_horizontal_pointsU  s    %&%"c      	   C   s„  |  j  j ƒ  } | j d d d d d d d |  j ƒ t j |   } t j ƒ  \ } } | j | ƒ t	 j
 t | j ƒ d ƒ t	 j
 t | j ƒ t | j ƒ t | j ƒ t | j ƒ ƒ xÆ t | j | j j | j ƒ D]¦ \ } } } t	 j
 t | j ƒ  ƒ t | j ƒ ƒ | j ƒ  j \ } }	 t j | t j t | j ƒ ƒ ƒ t j |	 | ƒ x( | j ƒ  D] }
 t j |
 d  | ƒ q^WqÖ Wd  S(	   NR!   R   R   R3   R   R,   i   iÿÿÿÿ(   Rî   Rd   R  R*   R5   RÛ  RÏ   RÐ   RS  R>   R?   RK   RJ  RÒ   R9   Ry   R8   R¤   R;   R†   RK  R<   R=   R   RŠ  R[  (   RG   Rl   RH   RÛ   RÜ   R©  t   numbersRç   R!   R   RÝ  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt    test_draw_vertical_nested_pointsk  s"    %*	%"c         C   sŠ  |  j  j ƒ  } | j d d d d d d d d d |  j ƒ t j |   } t j ƒ  \ } } | j | ƒ t	 j
 t | j ƒ d ƒ t	 j
 t | j ƒ t | j ƒ t | j ƒ t | j ƒ ƒ xÆ t | j | j j | j ƒ D]¦ \ } } } t	 j
 t | j ƒ  ƒ t | j ƒ ƒ | j ƒ  j \ } }	 t j | | ƒ t j |	 t j t | j ƒ ƒ ƒ x( | j ƒ  D] }
 t j |
 d	  | ƒ qdWqÜ Wd  S(
   NR!   R   R   R3   R   R1   R,   i   iÿÿÿÿ(   Rî   Rd   R  R*   R5   RÛ  RÏ   RÐ   RS  R>   R?   RK   RJ  RÒ   R9   Ry   R8   R¤   R;   R†   RK  R<   R=   R   RŠ  R[  (   RG   Rl   RH   RÛ   RÜ   R©  Rá  Rç   R!   R   RÝ  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt"   test_draw_horizontal_nested_points…  s"    +*	%"c         C   s+  d } |  j  j ƒ  } | j d d d d d |  j d | ƒ t j |   } t j ƒ  \ } } | j | ƒ x+ | j	 D]  } t
 j | j ƒ  | d	  ƒ qr Wx7 | j d
 j ƒ  D]" } t j t | ƒ t | ƒ ƒ qª Wt j d ƒ t j d d ƒ } | j d d d d d |  j d d ƒ t j |   } t
 j | j ƒ t j ƒ  \ } } | j | ƒ x6 t | j	 | ƒ D]" \ } }	 t j | j ƒ  |	 ƒ qfWxF t | j d
 j ƒ  | ƒ D]( \ }
 }	 t j t |
 ƒ t |	 ƒ ƒ q©Wt j d ƒ t j d d ƒ } | j d d d d d d d |  j d d ƒ t j |   } t j ƒ  \ } } | j | ƒ x< | j	 t | j ƒ d  D]  } t
 j | j ƒ  | d
 ƒ qhWx< | j	 t | j ƒ d D]  } t
 j | j ƒ  | d ƒ q§WxL t | ƒ D]> \ } }	 x/ | j | j ƒ  D] }
 t j |
 d	  |	 ƒ qøWqØWt j d ƒ d  S(   Ngš™™™™™É?g333333Ó?i   R!   R   R   R,   Rç   iÿÿÿÿi    RË   t   Set1i   Rè   R–   i   R3   R   (   gš™™™™™É?gš™™™™™É?g333333Ó?i   (   Rî   Rd   R  R*   R5   RÛ  RÏ   RÐ   RS  RÒ   R>   R?   RÔ   RJ  R[  R<   R=   R   RÕ   R   R‡   t   assert_trueRÚ  R8   RK   R9   Rj  (   RG   Rç   Rl   RH   RÛ   RÜ   Rß   RÝ  Rè   RÒ  Rs  RÂ   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_pointplot_colorsŸ  sH    % % +!!c         C   sÜ  t  j d d d |  j ƒ} t j t | j ƒ d ƒ t j t | j ƒ t |  j j	 ƒ  ƒ d ƒ t j | j
 ƒ  d ƒ t j | j ƒ  d ƒ t j d ƒ t  j d d d d d |  j ƒ} t j t | j ƒ d ƒ t j t | j ƒ t |  j j	 ƒ  ƒ d ƒ t j | j
 ƒ  d ƒ t j | j ƒ  d ƒ t j d ƒ t  j d d d d |  j ƒ} t j t | j ƒ t |  j j	 ƒ  ƒ ƒ t j t | j ƒ t |  j j	 ƒ  ƒ t |  j j	 ƒ  ƒ t |  j j	 ƒ  ƒ ƒ t j | j
 ƒ  d ƒ t j | j ƒ  d ƒ t j d ƒ t  j d d d d d d |  j ƒ} t j t | j ƒ t |  j j	 ƒ  ƒ ƒ t j t | j ƒ t |  j j	 ƒ  ƒ t |  j j	 ƒ  ƒ t |  j j	 ƒ  ƒ ƒ t j | j
 ƒ  d ƒ t j | j ƒ  d ƒ t j d ƒ d  S(   NR   R   R,   i   RË   R1   R   (   R5   t	   pointplotR*   R>   R?   RK   RJ  RÒ   R   Rh  R   R  RÏ   RÕ   R   (   RG   RÜ   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_simple_pointplotsØ  s<    ,!,($(N(   R   R   R)   RB   R   R¡   R  Rî   RÜ  Rô   Rß  Rà  Râ  Rã  Ræ  Rè  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRÖ    s   							9t   TestCountPlotc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s
  t  j d d |  j ƒ} t j t | j ƒ |  j j ƒ  j	 ƒ xS | j D]H } t j | j
 ƒ  d ƒ t j | j ƒ  |  j j	 |  j j ƒ  j	 ƒ qG Wt j d ƒ t  j d d d |  j ƒ } t j t | j ƒ |  j j ƒ  j	 ƒ xS | j D]H } t j | j ƒ  d ƒ t j | j ƒ  |  j j	 |  j j ƒ  j	 ƒ qê Wt j d ƒ t  j d d d d |  j ƒ} t j t | j ƒ |  j j ƒ  j	 |  j j ƒ  j	 ƒ t j d ƒ t  j d d d d d |  j ƒ } t j t | j ƒ |  j j ƒ  j	 |  j j ƒ  j	 ƒ t j d ƒ d  S(   NR   R,   i    RË   R   R3   R   (   R5   t	   countplotR*   R>   R?   RK   R½  R   Rh  Ri  RÁ  RÂ  RÏ   RÕ   R¾  R¿  R   (   RG   RÜ   RH   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_plot_elementsÿ  s,    %!%!#!#c         C   sY   t  j t ƒ  t j ƒ  Wd  QXt  j t ƒ $ t j d d d d d |  j ƒ Wd  QXd  S(   NR!   R   R   R   R,   (   R>   RE   t	   TypeErrorR5   Rê  R*   (   RG   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_input_error	  s    (   R   R   Rë  Rí  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRé  ý  s   	t   TestCatPlotc           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c      	   C   sà   t  j d d d |  j ƒ} t j | j j d ƒ t  j d d d d d |  j ƒ} t j | j j d ƒ t  j d d d d d |  j ƒ} t j | j j d ƒ t  j d d d d	 d d d |  j ƒ} t j | j j d ƒ d  S(   NR   R   R,   i   t   colR   i   R-  R   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R5   t   catplotR*   R>   R?   t   axesRS   (   RG   R   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_facet_organization&	  s    !!'c      
   C   sõ  t  j d d d |  j d d ƒ} t j t | j j ƒ d ƒ |  j j	 ƒ  j
 d } t j t | j j ƒ | ƒ t  j d d d d |  j d d ƒ} |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ |  j j	 ƒ  j
 d |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ t  j d d d |  j d d ƒ} |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ t j t | j j ƒ | ƒ t  j d d d d |  j d d ƒ} |  j j	 ƒ  j
 |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ t j t | j j ƒ | ƒ t  j d d |  j d d	 ƒ} |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ t j t | j j ƒ d
 ƒ t  j d d d d |  j d d	 ƒ} |  j j	 ƒ  j
 |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ t j t | j j ƒ d
 ƒ t  j d d d |  j d d ƒ} |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ t  j d d d d |  j d d ƒ} |  j j	 ƒ  j
 |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ t  j d d d |  j d d d d  ƒ} |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ t  j d d d d |  j d d d d  ƒ} |  j j	 ƒ  j
 |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ t  j d d d |  j d d ƒ} |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ t  j d d d d |  j d d ƒ} |  j j	 ƒ  j
 |  j j	 ƒ  j
 } t j t | j j ƒ | ƒ d  S(   NR   R   R,   t   kindRa  i   R   R%  R  i    R3   R  R\  R  t   strip(   R5   Rð  R*   R>   R?   RK   RÜ   RJ  R   Rh  Ri  RÒ   R   R½  Rö   RB   (   RG   R   t
   want_linest   want_collectionst   want_elementst   want_artists(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRë  4	  sZ    !$&!$"$"!$""!$"c         C   s9   t  j t ƒ $ t j d d d |  j d d ƒWd  QXd  S(   NR   R   R,   Ró  t
   not_a_kind(   R>   RE   RF   R5   Rð  R*   (   RG   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_bad_plot_kind_erroro	  s    c         C   s9   t  j t ƒ $ t j d d d |  j d d ƒWd  QXd  S(   NR   R   R,   Ró  R  (   R>   RE   RF   R5   Rð  R*   (   RG   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_count_x_and_yt	  s    c      	   C   sv  t  j d d d |  j ƒ} t  j d d d |  j d d ƒ} xB t | j | j j ƒ D]( \ } } t j | j	 ƒ  | j	 ƒ  ƒ qU Wt
 j d ƒ t  j d d d |  j d d ƒ} t  j d d d |  j d d d d ƒ} xB t | j | j j ƒ D]( \ } } t j | j	 ƒ  | j	 ƒ  ƒ qï Wt
 j d ƒ t  j d d d |  j d	 d
 ƒ} t  j d d d |  j d d d	 d
 ƒ} xB t | j | j j ƒ D]( \ } } t j | j	 ƒ  | j	 ƒ  ƒ q‰Wt
 j d ƒ t  j d d d |  j ƒ} t  j d d d |  j ƒ} xB t | j | j j ƒ D]( \ } } t j | j ƒ  | j ƒ  ƒ qWt
 j d ƒ t  j d d d |  j d d ƒ} t  j d d d |  j d d ƒ} xB t | j | j j ƒ D]( \ } } t j | j ƒ  | j ƒ  ƒ q¥Wt
 j d ƒ t  j d d d |  j d	 d
 ƒ} t  j d d d |  j d	 d
 ƒ} xB t | j | j j ƒ D]( \ } } t j | j ƒ  | j ƒ  ƒ q9Wt
 j d ƒ d  S(   NR   R   R,   Ró  R%  RË   Rç   t   purpleRè   RÑ  (   R5   RÔ  R*   Rð  R8   R½  RÜ   R>   R?   Rø   RÏ   RÕ   Rç  RÒ   RÔ   (   RG   RÜ   R   t   p1t   p2t   l1t   l2(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_plot_colorsy	  s@    !% !% !% % !!% !!% c      	   C   sƒ   t  j t ƒ   t j d d d |  j ƒ} Wd  QXt j t | j	 j
 ƒ d ƒ |  j j ƒ  j d } t j t | j	 j ƒ | ƒ d  S(   NR   R   R,   i   (   t   pytestt   warnst   UserWarningR5   t
   factorplotR*   R>   R?   RK   RÜ   RJ  R   Rh  Ri  RÒ   (   RG   R   Rõ  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_factorplot¡	  s
    !(   R   R   Rò  Rë  Rú  Rû  R  R  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRî  $	  s   		;			(t   TestBoxenPlotterc        !   B   sæ   e  Z e d  d! d d! d d! d d! d d! d d! d d! d d! d d! d	 d
 d d d e d d d d! d d 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 RS("   R!   R   R3   R,   Rp   Rw   R1   Rç   Rè   Ré   g      è?Rê   gš™™™™™é?Rë   t   k_deptht
   proportionRí   R  t   exponentialt   outlier_propc         C   s   t  | t j j ƒ S(   N(   t
   isinstanceRŽ   RJ  t   PatchCollection(   RG   R`   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   ispatch´	  s    c         C   sJ   t  j d | d d | g ƒ d } t t  j | ƒ ƒ } t  j | | ƒ S(   Ng      à?i   id   (   R   t
   asanyarrayR%   Rh  RI  (   RG   Rv   R,   t   q(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt	   edge_calc¸	  s    %c         C   sO  t  j |  j   } | j d d d |  j ƒt j g  t | j | j	 ƒ D] \ } } | | g ^ qG ƒ } | d  d  … d f } | d  d  … d f } t d „  | ƒ } t
 j t j t | ƒ ƒ t | ƒ ƒ d „  } t | t | | j	 ƒ ƒ }	 t
 j t j t |	 ƒ ƒ t | ƒ ƒ t d „  | ƒ }
 t
 j t j t |
 ƒ ƒ t | ƒ ƒ d  S(	   NR   R   R,   i    i   c         S   s   t  j t  j |  ƒ ƒ S(   N(   R   RË   t   isfinite(   R^   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   <lambda>È	  s    c         S   sD   |  \ } } t  j | ƒ | j ƒ  k t  j | ƒ | j ƒ  k @j ƒ  S(   N(   R   RJ   R'  RÃ  RË   (   Rz  R^   R4   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   withinË	  s    c         S   s   |  d k t  j |  ƒ @S(   Ng        (   R   R  (   RÃ   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyR  Ó	  s    (   R5   t
   _LVPlotterRî   R7   R*   R   t   asarrayt   mapt   _lv_box_endsR9   R<   R?   t   sumR%   RK   R8   (   RG   RH   R_   RÃ   t   box_kt   box_endst   k_valst   b_eR  t   b_wt   k_f(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_box_ends_finite¾	  s    	4%	%c   	      C   sË   d } t  j | ƒ } t t  j | ƒ ƒ t t  j | d ƒ ƒ d } g  t | d d d ƒ D] } |  j | | ƒ ^ q\ } t j |  j   } | j	 | ƒ \ } } t
 j t | ƒ | ƒ t
 j | | ƒ d  S(   Nid   gyé&1¬|?i   i   iÿÿÿÿ(   R   RŠ  R    t   log2t   rangeR  R5   R  Rî   R  R<   R?   R%   (	   RG   Rv   t   linear_datat
   expected_kRÂ   t   expected_edgesRH   t
   calc_edgest   calc_k(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_box_ends_correctÖ	  s    02c         C   s  d } t  j t  j | d ƒ d | ƒ } t t  j | ƒ ƒ t t  j | d ƒ ƒ d } g  t | d d d ƒ D] } |  j | | ƒ ^ qp } t j |  j	   } | j
 | ƒ \ } } t j t | ƒ | ƒ t j | | ƒ | j | | ƒ }	 | j | | ƒ }
 t j |
 |	 ƒ d  S(   Nid   i   i   gyé&1¬|?iÿÿÿÿ(   R   t   appendRŠ  R    R!  R"  R  R5   R  Rî   R  R<   R?   R%   t   _lv_outliers(   RG   Rv   t   outlier_dataR$  RÂ   R%  RH   R&  R'  t   out_calct   out_exp(    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_outliersä	  s    #02c         C   sï   t  j |  j   } | j d d d d |  j ƒt j | j d d g ƒ |  j j ƒ  } d | d <t  j |   } | j d d d d |  j ƒt j | j d	 d
 g ƒ t  j |   } | j d d d d |  j ƒt j	 | j d d d g ƒ d  S(   NR   R   R   R,   gš™™™™™É¿gš™™™™™É?g333333ã?Rê   g333333Ã¿g333333Ã?i    (
   R5   R  Rî   R7   R*   R<   R=   Ró   Rd   R’   (   RG   RH   Rl   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRô   ø	  s    
c         C   s¹   t  j d d d |  j ƒ} t |  j | j ƒ } t j t t	 | ƒ ƒ d ƒ t
 j d ƒ t  j d d d d |  j ƒ} t |  j | j ƒ } t j t t	 | ƒ ƒ d ƒ t
 j d ƒ d  S(   NR   R   R,   i   RË   R   i   (   R5   t	   boxenplotR*   t   filterR  RJ  R>   R?   RK   R%   RÏ   RÕ   (   RG   RÜ   R½  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyR÷   
  s    c         C   s  t  j d d d |  j d d ƒ} t j d d ƒ } x: t | j | ƒ D]& \ } } t j | j	 ƒ  d  | ƒ qF Wt
 j d ƒ t  j d d d	 d |  j d d ƒ} t j d d
 ƒ } x> t | j | d
 ƒ D]& \ } } t j | j	 ƒ  d  | ƒ qÊ Wt
 j d ƒ d  S(   NR   R   R,   Ré   i   R„   i   RË   R   i   (   R5   R/  R*   R   R‡   R8   Rö   R>   R?   Rø   RÏ   RÕ   (   RG   RÜ   Rš   Rù   Rç   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRú   
  s    !$#c      
   C   so   t  j d d d |  j d d d d d g ƒ} t |  j | j ƒ } t j t t	 | ƒ ƒ d	 ƒ t
 j d
 ƒ d  S(   NR   R   R,   Rp   R^   R_   R`   R4   i   RË   (   R5   R/  R*   R0  R  RJ  R>   R?   RK   R%   RÏ   RÕ   (   RG   RÜ   R½  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRû   &
  s
    c         C   sÜ   d d d d d d d d g } d d d d d d d d g } |  j  j d ƒ } t j | d )t j | | ƒ } t j t | j	 ƒ d	 ƒ t
 j d
 ƒ d | d <t j | | | ƒ } t j t | j	 ƒ d ƒ t
 j d
 ƒ d  S(   NR^   R_   R`   R4   R!   R   i   iþÿÿÿi   RË   i    iÿÿÿÿi   (   R   R   R   Rº   R5   R/  R>   R?   RK   RÒ   RÏ   RÕ   (   RG   R!   R   R   RÜ   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyRü   /
  s    
c         C   sa  t  j d d |  j ƒt j d ƒ t  j d d d |  j ƒ t j d ƒ t  j d d d |  j ƒt j d ƒ t  j d d d |  j d d ƒt j d ƒ t  j d d d d |  j ƒt j d ƒ t  j d d d d t d ƒ d |  j ƒt j d ƒ t  j d d d d	 t d
 ƒ d |  j ƒt j d ƒ t  j d d d d |  j d d ƒt j d ƒ d  S(   NR   R,   RË   R   R1   R   Rp   Rý   Rw   Rþ   (   R5   R/  R*   RÏ   RÕ   R%   (   RG   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_boxenplotsA
  s     (("c         C   sr  t  j d d d |  j ƒ} t j | j ƒ  d ƒ t j | j ƒ  d ƒ t j | j ƒ  d ƒ t j	 | j
 ƒ  d d d g ƒ t j	 g  | j ƒ  D] } | j ƒ  ^ q d	 d
 d g ƒ t j d ƒ t  j d d d d |  j ƒ} t j | j ƒ  d ƒ t j | j ƒ  d ƒ t j	 | j
 ƒ  d d d g ƒ t j	 g  | j ƒ  D] } | j ƒ  ^ q=d	 d
 d g ƒ t j	 g  | j j ƒ  D] } | j ƒ  ^ qxd d g ƒ t j d ƒ t  j d d d |  j d d ƒ} t j | j ƒ  d ƒ t j | j ƒ  d ƒ t j | j ƒ  d ƒ t j	 | j ƒ  d d d g ƒ t j	 g  | j ƒ  D] } | j ƒ  ^ q<d	 d
 d g ƒ t j d ƒ d  S(   NR   R   R,   g      à¿g      @i    i   i   R^   R_   R`   RË   R   Ru   Rv   R1   (   g      à¿g      @(   g      @g      à¿(   R5   R/  R*   R>   R?   R   R  R  R<   R=   R  R  R  RÏ   RÕ   R  R  R  R	  R
  (   RG   RÜ   R‹   (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyR  ]
  s2    ((+!(c      	   C   ss   t  j t ƒ   t j d d d |  j ƒ} Wd  QXt |  j | j ƒ } t	 j
 t t | ƒ ƒ d ƒ t j d ƒ d  S(   NR   R   R,   i   RË   (   R  R  R  R5   t   lvplotR*   R0  R  RJ  R>   R?   RK   R%   RÏ   RÕ   (   RG   RÜ   R½  (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   test_lvplot~
  s
    !N(   R   R   R)   RB   R  Rî   R  R  R   R(  R.  Rô   R÷   Rú   Rû   Rü   R1  R  R3  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyR  «	  s&   													!(.   t   numpyR   t   pandasR"   R8  R    R   t
   matplotlibRŽ   t   matplotlib.pyplott   pyplotRÏ   t   matplotlib.colorsR   t   distutils.versionR   R  t
   nose.toolst   toolsR>   t   numpy.testingt   testingR<   t   numpy.testing.decoratorsR   t    R   R5   R   R9  Rc   RÀ  t   objectR   R+   Rž   Ræ   R  Re  R}  R  R·  RÖ  Ré  Rî  R  (    (    (    s=   lib/python2.7/site-packages/seaborn/tests/test_categorical.pyt   <module>   s@   ÿ ˜ÿ "ÿ ÿ d;r—öæ'‡