
    Mhi                    d   S r SSKJrJr  SSKrSSKrSSKrSSKrSSKrSSKr	SSK
r
SSKJs  Jr  SSKJr  SSKrSSKJrJrJrJrJrJrJrJrJr  SSKJr  SSKJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,  SSK-J.r.  SSK/J0r0  \
Rb                  " S	5      r2\
Rb                  " S
5      r3 " S S5      r4S r5g)zTest cases for DataFrame.plot     )datedatetimeN)is_list_like)		DataFrameIndex
MultiIndexPeriodIndexSeriesbdate_range
date_rangeoption_contextplotting)_check_ax_scales_check_axes_shape_check_box_return_type_check_colors_check_data_check_grid_settings_check_has_errorbars_check_legend_labels_check_plot_works_check_text_labels_check_ticks_props_check_visible
get_y_axis)Version)pprint_thing
matplotlibzmatplotlib.pyplotc                   &   \ rS rSr\R
                  R                  S 5       r\R
                  R                  S 5       r\R
                  R                  S 5       r	\R
                  R                  S 5       r
\R
                  R                  SS9\R
                  R                  S 5       5       r\R
                  R                  S	 5       r\R
                  R                  \R
                  R                  S
S/ SQ0S/ SQ0SSS.SSSS./5      S 5       5       r\R
                  R                  S 5       r\R
                  R                  S 5       r\R
                  R                  S 5       r\R
                  R                  S 5       r\R
                  R                  \R
                  R                  SSS/5      S 5       5       r\R
                  R                  S 5       r\R
                  R                  S\" S5      SS /SS /SS /S!S/S!S/SS!/SS!/S S!/S S!/SS"/SS"/SS#/SS#//5      S$ 5       r\R
                  R                  \R
                  R                  S%/ S&Q5      S' 5       5       r\R
                  R                  \R
                  R                  S(S)0 /S*0 /S+0 /S,S-S-0/S.S/S-S0./S1S/S-S0.//5      S2 5       5       rS3 rS4 rS5 rS6 rS7 rS8 r\R
                  R                  S9S:S;/5      S< 5       r \R
                  R                  S=/ S>Q5      S? 5       r!S@ r"SA r#SB r$SC r%SD r&SE r'\R
                  R                  SF\(RR                  \(RT                  /5      SG 5       r+\R
                  R                  SH\," S-/ SIQ0/ SJQSK9\," S-SLSM\(RZ                  SNSOSPSQ/0SMSLSNSR\(RZ                  SNSR/SK9/5      SS 5       r.ST r/SU r0SV r1\R
                  R                  SWS)SX/5      \R
                  R                  SYSZS[/5      S\ 5       5       r2\R
                  R                  SWS)SX/5      S] 5       r3S^ r4\R
                  R                  SWS)SX/5      S_ 5       r5\R
                  R                  S`\6" Sa5      \7" SbS"SaSc9/5      Sd 5       r8\R
                  R                  S`\6" Sa5      \7" SbS"SaSc9/5      Se 5       r9\R
                  R                  S`\6" Sa5      \7" SbS"SaSc9/5      \R
                  R                  S
0 SfSg0/5      Sh 5       5       r:\R
                  R                  S
0 SiS0/5      Sj 5       r;Sk r<\R
                  R                  SgSlSm9\R
                  R                  SfSSg/5      Sn 5       5       r=So r>\R
                  R                  SfSSg/5      Sp 5       r?Sq r@\R
                  R                  SrSsSt/5      \R
                  R                  SfSSg/5      Su 5       5       rA\R
                  R                  SrSsSt/5      Sv 5       rBSw rCSx rDSy rESz rFS{ rG\R
                  R                  S`\H\IR                  /5      S| 5       rK\R
                  R                  S}S0S~/5      S 5       rLS rMS rNS rO\R
                  R                  S}SS/5      S 5       rP\R
                  R                  SSg\R                  " S\RR                  " S5      S9/5      \R
                  R                  S}SS/5      \R
                  R                  S/ SQ/ SQ/5      S 5       5       5       rT\R
                  R                  SSSg/5      \R
                  R                  S/ SQ/ SQ45      S 5       5       rU\R
                  R                  S}/ SQ5      S 5       rV\R
                  R                  SSS/5      S 5       rWS rXS rYS rZS r[S r\\R
                  R                  \R
                  R                  S
0 SSg0SSS.SfS0/5      S 5       5       r]\R
                  R                  S 5       r^\R
                  R                  S 5       r_\R
                  R                  S 5       r`S raS rbS rcS rd\R
                  R                  S5      S 5       rfS rgS rh\R
                  R                  S/ SQ5      S 5       riS rjS rkS rlS rmS rnS roS rpS rqS rrS rs\R
                  R                  SS\(R                  " SS9-  S\(R                  " SS9-  /5      S 5       ru    GSXS jrv\R
                  R                  S\(R                  " \(R                  " / SQ5      \(R                  " / SQ5      5      \(R                  " \(R                  " / SQ5      \(R                  " / SQ5      5      \(R                  " \(R                  " / SQ5      \(R                  " / SQ5      5      S.\(R                  " \(R                  " \(RZ                  SZSSSaS/5      \(R                  " / SQ5      5      \(R                  " \(R                  " SZ\(RZ                  SSSaS/5      \(R                  " / SQ5      5      \(R                  " \(R                  " SZSS\(RZ                  SaS/5      \(R                  " / SQ5      5      S./5      S 5       ryS rz\R
                  R                  SSSSS.SSS./ SQSS//5      S 5       r{S r|\R
                  R                  S/ SQ5      S 5       r}S r~\R
                  R                  SW\GR                   GR                  5      S 5       r\R
                  R                  SWS.S1/5      S 5       r\R
                  R                  SW\GR                   GR                  5      S 5       r\R
                  R                  SW\" \GR                   GR                  5      SX/-   5      S 5       rS r\R
                  R                  SS S!/SS4S/S S!/SS/4/5      S 5       rS r\R
                  R                  SSS/S 4/5      S 5       r\R
                  R                  SSS /S/S/4SS S!/SS/SS/4SSZS/SS/SS/4/5      S 5       r\R
                  R                  SSSZSS /4SZSSSZ/4/5      S 5       rS rS r\R
                  R                  SS\(GR                  /5      S 5       r\R
                  R                  S0 S4SS0S4SS0S4/5      S 5       rS r\R
                  R                  S-SS/5      S 5       rGS  rGS rGS r\R
                  R                  \R
                  R                  S
GSS0SSGS.GSS0/5      GS 5       5       r\R
                  R                  GS 5       r\R
                  R                  GS 5       r\R
                  R                  \R
                  R                  GS	GS	GS
/5      GS 5       5       r\R
                  R                  GS 5       r\R
                  R                  GS 5       r\R
                  R                  \R
                  R                  SW/ GSQ5      \R
                  R                  GS\" \(R                  " GS5      GS-  S/GS9\," \(R                  " GS5      GS-  \(R                  " GS5      GS-  S0.5      /5      GS 5       5       5       r\R
                  R                  \R
                  R                  SW/ GSQ5      \R
                  R                  GS\," \(R                  " GS5      GS-  \(R                  " GS5      GS-  S0.5      \," \(R                  " GS5      GS-  \(R                  " GS5      GS-  S0.5      4\" \(R                  " GS5      GS-  S/GS9\" \(R                  " GS5      GS-  S/GS94GS/5      GS 5       5       5       r\R
                  R                  \R
                  R                  SW/ GSQ5      GS 5       5       r\R
                  R                  GS\GS9GS 5       rGS r\R
                  R                  \R
                  R                  SWS)S*/5      GS 5       5       r\R
                  R                  GS 5       r\R
                  R                  \R
                  R                  GSGS  \,/5      GS! 5       5       r\R
                  R                  SW/ GSQ5      GS" 5       rGS# rGS$ rGS% rGS& rGS' rGS( rGS) rGS* rGS+ r\R
                  R                  SW\GR                   GR`                  5      GS, 5       rGS- rGS. rGS/ rGS0 rGS1 rGS2 rGS3 r\R
                  R                  GS4/ GS5Q5      GS6 5       rGS7 rGS8 r\R
                  R                  SWS)SX/5      GS9 5       rGS: rGS; rGS< r\R
                  R                  SWGS=5      GS> 5       rGS? rGS@ rGSA r\R
                  R                  GSB/ GSCQ5      GSD 5       rGSE rGSF r\R
                  R                  SWGSG5      GSH 5       r\R
                  R                  GSIGSJGSKGSLGSMSGSNSZS/4/5      \R
                  R                  SW/ GSOQ5      GSP 5       5       r\R
                  R                  GSQ/ GSRQ5      \R
                  R                  SWS.S1/5      GSS 5       5       r\R
                  R                  SiGST5      GSU 5       r\R
                  R                  GSV 5       rGSWrg(Y  TestDataFramePlots7   c           
          [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        UR                  S
S9  g )N   
      ABCDdtype
2000-01-01r%   BperiodsfreqcolumnsindexF)grid)r   nprandomdefault_rngstandard_normalr   listobjectr   r   plotselfdfs     X/var/www/html/env/lib/python3.13/site-packages/pandas/tests/plotting/frame/test_frame.py	test_plotTestDataFramePlots.test_plot8   sS    II!!!$44W=$v,f5\2C@

 	"''.    c           
          [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        UR                  S
S
S9n[        USSS9  g )Nr#   r$   r'   r(   r*   r%   r+   r,   r/   Tdefault_axessubplotsr&   r&      axes_numlayoutr   r3   r4   r5   r6   r   r7   r8   r   r   r9   r   r;   r<   axess      r=   test_plot_subplots%TestDataFramePlots.test_plot_subplotsA   sc    II!!!$44W=$v,f5\2C@
 !tdK$6:r@   c           
          [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        UR                  S
S
SS9n[        USSS9  g )Nr#   r$   r'   r(   r*   r%   r+   r,   r/   T)r#   )rC   rD   rI   r&   r#   r#   rG   rJ   rK   s      r=   "test_plot_subplots_negative_layout5TestDataFramePlots.test_plot_subplots_negative_layoutL   sm    II!!!$44W=$v,f5\2C@

 !GG	
 	$6:r@   c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        UR                  S
S
SS9n[        USS9  [        USSS9  g )Nr#   r$   r'   r(   r*   r%   r+   r,   r/   TF)rC   rD   	use_indexr   xrotr&   rE   rG   )r   r3   r4   r5   r6   r   r7   r8   r   r   r9   r   r   rK   s      r=   test_plot_subplots_use_index/TestDataFramePlots.test_plot_subplots_use_index[   sw    II!!!$44W=$v,f5\2C@

 !GG	
 	4a($6:r@   zApi changed in 3.6.0)reasonc                     [        SS/SS/S.5      nSn[        R                  " [        US9   UR                  R                  SS	9  S S S 5        g ! , (       d  f       g = f)
NrF   r#      r&   xyz''Line2D' object has no property 'blarg'matchT)blarg)r   pytestraisesAttributeErrorr9   liner;   r<   msgs      r=   test_plot_invalid_arg(TestDataFramePlots.test_plot_invalid_argk   sL     aV1a&127]]>5GGLLtL$ 655s   A
Ac                     [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9n[        UR                  SS9n[        USS9  g )	Nr#   r%   r\   r%   r1   TrU   r   rV   )
r   r3   r4   r5   r7   stringascii_lettersr   r9   r   r;   r<   axs      r=   test_plot_tick_props'TestDataFramePlots.test_plot_tick_propss   sZ    II!!!$++G4v++CR01

 rww$72A&r@   kwargsyticks)rF      r%   xticks)id   )ylimxlimTblah)rC   rD   titlec                     [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9n[        UR                  40 UD6  g )Nr#   rl   r%   rm   	r   r3   r4   r5   r7   ro   rp   r   r9   r;   ru   r<   s      r=   test_plot_other_args'TestDataFramePlots.test_plot_other_args}   sS     II!!!$++G4v++CR01
 	"'',V,r@   c                    [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9nUR                  SSS9n[        USS	S
9  US S  Hj  n[        UR                  5        [        UR                  5       SS9  [        UR                  SS9SS9  [        UR                  R                  5       /SS9  Ml     US   4 H_  n[        UR                  5        [        UR                  5       5        [        UR                  R                  5       /5        [        USS9  Ma     g )Nr#   rl   r%   rm   Tr|   )rD   r}   r\   r\   rF   rG   Fvisibleminorr   rV   )r   r3   r4   r5   r7   ro   rp   r9   r   r   xaxisget_xticklabels	get_labelr   )r;   r<   rL   rr   s       r=   test_plot_visible_ax'TestDataFramePlots.test_plot_visible_ax   s   II!!!$++G4v++CR01
 wwFw3$6:r(B288$2--/?2--D-95IBHH..015A	 
 7)B288$2--/0BHH..012r*	 r@   c                     [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9n[        UR                  SS9  g )Nr#   rl   r%   rm   r|   r}   r   r:   s     r=   test_plot_title"TestDataFramePlots.test_plot_title   sN    II!!!$++G4v++CR01
 	"''0r@   c                     [        [        R                  S S [        S5      5      n[	        [
        R                  R                  S5      R                  S5      [        R                  " U5      S9n[        UR                  SS9n[        USS9  g )	Nr%   r#   rl   rm   Trn   r   rV   )zipro   rp   ranger   r3   r4   r5   r   from_tuplesr   r9   r   )r;   tuplesr<   rr   s       r=   test_plot_multiindex'TestDataFramePlots.test_plot_multiindex   sp    V))#2.b	:II!!!$++G4((0
 rww$72A&r@   c                    [         R                  " / SQSS/S9n[         R                  " SS/SS/S9n[        [        R                  R                  S	5      R                  S
SS5      UUS9n[        UR                  SS9  g )N))   αr   )r   rF   )   βr#   )r   r\   )   γr&   )r   rw   )   δ   )r      i0i1)names)baru   Δ)r   u   Εc0c1r#   r   r%   )   r#   r/   u   Σr   )	r   r   r   r3   r4   r5   integersr   r9   )r;   r1   r0   r<   s       r=   test_plot_multiindex_unicode/TestDataFramePlots.test_plot_multiindex_unicode   s     &&	 ,
 (( 124,
 II!!!$--aV<

 	"''2r@   rI   N)rP   rF   c                     [        S[        R                  R                  S5      R                  S5      05      n[	        UR
                  R                  SUS9n[        USSS9  g )	Nr^   r#   r%   T)rD   rI   rF   rF   rF   rG   )r   r3   r4   r5   r   r9   r   r   )r;   rI   r<   rL   s       r=   test_plot_single_column_bar.TestDataFramePlots.test_plot_single_column_bar   sO    
 RYY2215<<R@AB tFK$6:r@   c                 6   [        S[        R                  R                  S5      R                  S5      05      n[        R
                  R                  5       u  p#UR                  R                  SUS9n[        U5      S:X  d   eUR                  nXTS   L d   eg )Nr^   r#   r%   TrD   rr   rF   r   )r   r3   r4   r5   mplpyplotrD   r9   r   lenrL   )r;   r<   _rr   rL   results         r=   test_plot_passed_ax&TestDataFramePlots.test_plot_passed_ax   s     RYY2215<<R@AB

##%ww{{DR{04yA~~a   r@   z
cols, x, yABCDEAr+   CDEc                 @   / SQn[        / SQ/ SQ[        R                  " SS[        R                  SS/[        S9[
        R                  " USS	9R                  S
5      [
        R                  " USSS9R                  S
5      S.5      n[        XQ   R                  X#S9  g )N)20082009N20112012rF   r#   r\   r&   rw   r   rw   r\   r#   r(   z%Yformati8T)r   utcr   r+   r   r   r   r]   )
r   r3   arraynanr8   pdto_datetimeviewr   r9   )r;   colsr^   r_   datesr<   s         r=   test_nullable_int_plot)TestDataFramePlots.test_nullable_int_plot   s     7$$XXq!RVVQ2&A^^E$7<<TB^^E$DAFFtL
 	"(--12r@   r9   )rf   r   histpiec                     [         R                  " / SQSS9n[        U5      n[        [	        UR
                  U5      5        g )NrF   r#   r\   r&   UInt32r(   )r   r   r
   r   getattrr9   )r;   r9   arrss       r=   test_integer_array_plot_series1TestDataFramePlots.test_integer_array_plot_series  s0     hh|843K'!&&$/0r@   zplot, kwargsrf   r   r   r   r_   scatterr^   r]   hexbinc                     [         R                  " / SQSS9n[        X3S.5      n[        [	        UR
                  U5      40 UD6  g )Nr   r   r(   r]   )r   r   r   r   r   r9   )r;   r9   ru   r   r<   s        r=   test_integer_array_plot_df-TestDataFramePlots.test_integer_array_plot_df
  s9     hh|84S+,'"''40;F;r@   c                     [        / SQ/ SQS.5      nUR                  5       n[        UR                  5       5      S:X  d   eg )Nr^   r_   zrF   r#   r\   r   r+   rF   )r   r9   r   	get_linesrq   s      r=   test_nonnumeric_exclude*TestDataFramePlots.test_nonnumeric_exclude  s5    _9=>WWY2<<>"a'''r@   c                     [        [        R                  R                  S5      R	                  S5      / SQS9nUR                  SSS9n[        UR                  R                  5       S5        g )Nr#   rl   abcr0   r   r   r]   )	r   r3   r4   r5   r6   r9   r   r   r   rq   s      r=   test_implicit_label&TestDataFramePlots.test_implicit_label!  sV    II!!!$44W=
 WWscW"288--/5r@   c                     [        [        R                  R                  S5      R	                  S5      SS/S9nSUR
                  l        UR                  SSS9  UR
                  R                  S:X  d   eg )	Nr#   rQ   r   r   r   NAMELABEL)r_   label)r   r3   r4   r5   r6   r1   namer9   r:   s     r=   test_donot_overwrite_index_name2TestDataFramePlots.test_donot_overwrite_index_name(  sb    II!!!$44V<sCj
 
#W%xx}}&&&r@   c           
      @   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        UR                  S
SS9UR                  S5      S   R                  5       5        [        UR                  S
S9UR                  S5      R                  5       5        [        UR                  S
S9UR                  R                  5       5        [        UR                  SSS9UR                  S5      R                  R                  5       5        [        UR                  SS9UR                  S5      R                  5       5        [        UR                  SS9UR                  R                  5       5        g )Nr#   rw   r&   r'   r(   r*   rw   r+   r,   r/   r   rF   r]   r   r^   r_   )r   r3   r4   r5   r6   r   r7   r8   r   r   r9   	set_indexr+   r:   s     r=   test_plot_xyTestDataFramePlots.test_plot_xy1  s*   II!!!$44V<$v,f5\13?

 	BGGa1G%r||C'8'='B'B'DEBGGaGL",,s"3"8"8":;BGGaGL"$$))+.BGGcSG)2<<+<+>+>+C+C+EFBGGcGNBLL$5$:$:$<=BGGcGNBDDIIK0r@   c           
      F   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        R                  " S
[        UR                  5      S
-   5      Ul        [        UR                  S
SS9UR                  S
5      S   R                  5       5        [        UR                  S
S9UR                  S
5      R                  5       5        [        UR                  S
S9US
   R                  5       5        g )Nr#   r   r'   r(   r*   rw   r+   r,   r/   rF   r]   r   r   )r   r3   r4   r5   r6   r   r7   r8   r   aranger   r0   r   r9   r   r:   s     r=   test_plot_xy_int_cols(TestDataFramePlots.test_plot_xy_int_cols?  s    II!!!$44V<$v,f5\13?
 YYq#bjj/A"56
BGGa1G%r||Aq'9'>'>'@ABGGaGL",,q/"6"6"89BGGaGL"Q%**,/r@   c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9nUR                  S
SSSS9n[        UR                  S5        [        US
SSS9  g )Nr#   r   r'   r(   r*   rw   r+   r,   r/   rF   Test)   r   )r^   r_   r}   figsizer   )g      0@g       @)rH   rI   r  )r   r3   r4   r5   r6   r   r7   r8   r   r9   r   r}   r   rq   s      r=   test_plot_xy_figsize_and_title1TestDataFramePlots.test_plot_xy_figsize_and_titleK  sw    II!!!$44V<$v,f5\13?
 WWqAVWW=288V,"qMr@   zinput_log, expected_log)Tlog)symsymlogc                    [        S[        R                  " S5      0[        R                  " S5      S9nUR                  US9n[	        XBS9  UR                  5       U:X  d   eUR                  US9n[	        XBS9  UR                  5       U:X  d   eUR                  US9n[	        XBUS	9  UR                  5       U:X  d   eUR                  5       U:X  d   eg )
Nr   ry   rm   logyyaxis)logxr   loglog)r   r  )r   r3   r   r9   r   
get_yscale
get_xscale)r;   	input_logexpected_logr<   rr   s        r=   test_logscales!TestDataFramePlots.test_logscalesY  s     RYYs^,BIIcNCWW)W$0}},...WW)W$0}},...WWIW&|D}},...}},...r@   input_param)r  r  r  c                    [        S[        R                  " S5      0[        R                  " S5      S9nSU S3n[        R                  " [
        US9   UR                  " S0 US0D6  S S S 5        SU S	3n[        R                  " [        US9   UR                  R                  " SS
S0US0D6  S S S 5        g ! , (       d  f       NW= f! , (       d  f       g = f)Nr   ry   rm   z	keyword 'z*' should be bool, None, or 'sym', not 'sm'r`   smzPiePlot ignores the 'z	' keywordrD   T )r   r3   r   rc   rd   
ValueErrorr9   tmassert_produces_warningUserWarningr   )r;   r  r<   rh   s       r=   test_invalid_logscale(TestDataFramePlots.test_invalid_logscalel  s     RYYs^,BIIcNC+&PQ]]:S1GG*{D)* 2 &k])<''3?GGKK==+t)<= @?	 21 @?s   B:!C:
C
Cc           
      P   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9nUR                  S
S9nUR                  5       n[        US   R                  5       [        5      (       a   e[        USS9  g )Nr#   r$   r'   r(   r*   r%   r+   r,   r/   T)x_compatr      rV   )r   r3   r4   r5   r6   r   r7   r8   r   r9   r   
isinstance	get_xdatar	   r   r;   r<   rr   liness       r=   test_xcompatTestDataFramePlots.test_xcompaty  s    II!!!$44W=$v,f5\2C@

 WWdW#eAh002K@@@@2B'r@   c           
      x   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9nS
[        R                  S'   UR                  5       nUR                  5       n[        US   R                  5       [        5      (       a   e[!        USS9  g )Nr#   r$   r'   r(   r*   r%   r+   r,   r/   Tzxaxis.compatr   r%  rV   )r   r3   r4   r5   r6   r   r7   r8   r   r   plot_paramsr9   r   r&  r'  r	   r   r(  s       r=   test_xcompat_plot_params+TestDataFramePlots.test_xcompat_plot_params  s    II!!!$44W=$v,f5\2C@

 04^,WWYeAh002K@@@@2B'r@   c           
      2   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9nS
[        R                  S'   UR                  5       nUR                  5       n[        US   R                  5       [        5      (       a   eSn[         R"                  " [$        US9   [        [        US   R                  5       5      [        5      (       d   e S S S 5        g ! , (       d  f       g = f)Nr#   r$   r'   r(   r*   r%   r+   r,   r/   Fr$  r   zPeriodDtype\[B\] is deprecatedr`   )r   r3   r4   r5   r6   r   r7   r8   r   r   r-  r9   r   r&  r'  r	   r  r  FutureWarningr;   r<   rr   r)  rh   s        r=   !test_xcompat_plot_params_x_compat4TestDataFramePlots.test_xcompat_plot_params_x_compat  s    II!!!$44W=$v,f5\2C@

 ,1Z(WWYeAh002K@@@@/''SAk%(*<*<*>?MMMM BAAs   2D
Dc           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        R                  R                  S
S5         UR                  5       nUR                  5       n[        US   R                  5       [         5      (       a   e[#        USS9  S S S 5        g ! , (       d  f       g = f)Nr#   r$   r'   r(   r*   r%   r+   r,   r/   r$  Tr   r%  rV   )r   r3   r4   r5   r6   r   r7   r8   r   r   r-  user9   r   r&  r'  r	   r   r(  s       r=   (test_xcompat_plot_params_context_manager;TestDataFramePlots.test_xcompat_plot_params_context_manager  s    II!!!$44W=$v,f5\2C@
 !!%%j$7BLLNE!%("4"4"6DDDDr+	 877s   6AC
C c           
          [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9nUR                  5       nUR                  5       n[        US
   R                  5       [        5      (       a   eSn[        R                  " [         US9   [        [        US
   R                  5       5      [        5      (       d   e S S S 5        [#        US
S9  g ! , (       d  f       N= f)Nr#   r$   r'   r(   r*   r%   r+   r,   r/   r   zPeriodDtype\[B\] is deprecated r`   rV   )r   r3   r4   r5   r6   r   r7   r8   r   r9   r   r&  r'  r	   r  r  r1  r   r2  s        r=   test_xcompat_plot_period+TestDataFramePlots.test_xcompat_plot_period  s    II!!!$44W=$v,f5\2C@

 WWYeAh002K@@@@0''SAk%(*<*<*>?MMMM B2A& BAs   92C??
Dc                    [        [        R                  R                  S5      R                  S5      [	        [        SSS5      [        SSS5      5      SS/S9nUR                  5         [        R                  R                  S	S
9  g )Nr#   )   r#     rF      r   r   r1   r0   r   r   )
r   r3   r4   r5   r   r   r9   r   r   axhliner:   s     r=   test_period_compat%TestDataFramePlots.test_period_compat  sn     II!!!$++G4htQ2HT1b4IJ#J
 		

Qr@   index_dtypec           
         [        S[        R                  " S5      0[        [        R                  " SSS5      US9[        R                  S9nUR                  5       nUR                  5       S   nUR                  5       n[        US S 2S4   US S 2S4   [        R                  SS	9n[        R                  " XRR                  S
S9  g )Nr_   ry   c   rP   r(   )r1   r)   r   rF   )r)   r   F)check_index_type)r   r3   r   r   int64r9   r   
get_xydatar
   r  assert_series_equalr_   )r;   rD  r<   rr   r)  rss         r=   test_unsorted_index&TestDataFramePlots.test_unsorted_index  s    "))C.!		"b"-[A((

 WWYq!Bq!tHbAhbhhSA
r44%@r@   r<                 ?       @      @)rP  rO  rR  rQ  rm   rO  rP  rR  g      @g      @g      @rQ  c                 (   UR                  5       nUR                  5       u  p4UR                  5       nU[        R                  " US   R                  5       S   5      ::  d   eU[        R                  " US   R                  5       S   5      :  d   eg )Nr   )r9   get_xlimr   r3   nanminget_datananmaxr;   r<   rr   xminxmaxr)  s         r=   test_unsorted_index_lims+TestDataFramePlots.test_unsorted_index_lims  sy     WWY[[]
ryyq!2!2!4Q!78888ryyq!2!2!4Q!78888r@   c                 L   [        / SQ/ SQS.5      nUR                  SSS9nUR                  5       u  p4UR                  5       nU[        R
                  " US   R                  5       S   5      ::  d   eU[        R                  " US   R                  5       S   5      :  d   eg )NrN  )g     V@g     V@g     @W@g      W@)r_   r   r   r_   r]   r   )r   r9   rT  r   r3   rU  rV  rW  rX  s         r=   test_unsorted_index_lims_x_y/TestDataFramePlots.test_unsorted_index_lims_x_y  s    18PQRWWscW"[[]
ryyq!2!2!4Q!78888ryyq!2!2!4Q!78888r@   c                    [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      / SQS9* nSn[        R                  " [        US9   UR                  R                  SS	9  S S S 5        [        R                  " [        US9   UR                  R                  SS
9  S S S 5        g ! , (       d  f       NJ= f! , (       d  f       g = f)Nr#   r   r&   r   r^   r_   r   fourr@  z+Log-y scales are not supported in area plotr`   Tr  r  )r   r3   r4   r5   r7   ro   rp   rc   rd   r  r9   arearg   s      r=   test_negative_log$TestDataFramePlots.test_negative_log  s    II!!!$++F3v++BQ/0+
 

 <]]:S1GGLLdL# 2]]:S1GGLLL% 21 2111s   0C+C
C
C-c                    [         R                  " [        US   R                  5       S   5      5      n[	        X5       HC  u  pEX4R                  5       S   -  nUR                  5       S   n[
        R                  " X65        ME     g )Nr   rF   )r3   zerosr   rV  r   r  assert_numpy_array_equal)r;   normal_linesstacked_linesbasenlslsys          r=   _compare_stacked_y_cood*TestDataFramePlots._compare_stacked_y_cood  si    xxLO446q9:;,6FBKKM!$$Dq!B''1 7r@   kindrd  multrF   rP   c                    U[        [        R                  R                  S5      R                  S5      / SQS9-  n[	        UR
                  USS9n[	        UR
                  USS9nU R                  UR                  UR                  5        g )Nr#   ra  wr^   r_   r   r   Frr  stackedTr   r3   r4   r5   r   r9   rp  r)  )r;   rr  rs  r<   ax1ax2s         r=   test_line_area_stacked)TestDataFramePlots.test_line_area_stacked  ss     III!!!$++F3=Q
 
  dEBdDA$$SYY		:r@   c                    [        [        R                  R                  S5      R                  S5      [        R                  R                  S5      R                  S5      [        R                  R                  S5      R                  S5      * [        R                  R                  S5      R                  S5      * S.5      n[	        UR
                  USS9n[	        UR
                  USS9nU R                  UR                  S S UR                  S S 5        U R                  UR                  SS  UR                  SS  5        g )Nr#   r   ru  Frw  Try  )r;   rr  sep_dfrz  r{  s        r=   test_line_area_stacked_sep_df0TestDataFramePlots.test_line_area_stacked_sep_df
  s     YY**1-44Q7YY**1-44Q7ii++A.55a88ii++A.55a88	
  $F$E$$SYYr]CIIbqMB$$SYYqr]CIIabMBr@   c                 Z   [        [        R                  R                  S5      R	                  S5      [        [        R                  S S 5      / SQS9n[        UR                  SS9  Sn[        R                  " [        US	9   UR                  S
S9  S S S 5        g ! , (       d  f       g = f)Nr#   ra  r   ru  r@  Frx  zWhen stacked is True, each column must be either all positive or all negative. Column 'w' contains both positive and negative valuesr`   T)r   r3   r4   r5   r6   r7   ro   rp   r   r9   rc   rd   r  )r;   mixed_dfrh   s      r=   test_line_area_stacked_mixed/TestDataFramePlots.test_line_area_stacked_mixed  s    II!!!$44V<v++BQ/0(

 	(--7 	
 ]]:S1MM$M' 211s   B
B*c                     [        [        R                  R                  S5      R                  S5      / SQS9nUR	                  UR
                  S-   5      n[        UR                  USSS9  g )Nr#   ra  ru  r   rF   T)rr  r  rx  )r   r3   r4   r5   r   r1   r   r9   )r;   rr  r<   df2s       r=   #test_line_area_stacked_positive_idx6TestDataFramePlots.test_line_area_stacked_positive_idx*  sV    II!!!$++F3=Q

 ll288a<(#((D$Gr@   idxr&   z	2023-01-1)r.   r-   c                 R   SS[         R                  S/nS[         R                  SS/n[        X#S.US9n[        UR                  5      nUR
                  S   R                  5       nUR
                  S   R                  5       n[         R                  " / SQ[         R                  S9n[        R                  " [         R                  " UR                  S5      U5        [         R                  " / S	Q[         R                  S9n[        R                  " [         R                  " UR                  S5      U5        [        R                  " UR                  [         R                  " / S
Q5      5        [        R                  " UR                  [         R                  " / SQ5      5        g )NrF   r#   r\   r   r   rm   r   r   r(   )r\   r#   rF   )FFTF)FTFF)r3   r   r   r   r9   r)  	get_ydatar   float64r  ri  deletedatamask)	r;   r  values1values2r<   rr   masked1masked2exps	            r=   test_line_area_nan_df(TestDataFramePlots.test_line_area_nan_df4  s    a#bffa#W33?rww'((1+'')((1+'') hhy

3
##BIIgllA$>Dhhy

3
##BIIgllA$>D
##GLL"((;V2WX
##GLL"((;V2WXr@   c                    SS[         R                  S/nS[         R                  SS/n[        X#S.US9n[         R                  " / SQ[         R                  S9n[         R                  " / SQ[         R                  S9n[        UR                  S	S
9n[        R                  " UR                  S   R                  5       U5        [        R                  " UR                  S   R                  5       XV-   5        g )NrF   r#   r\   r  rm   rF   r#   r   r\   r(   r\   r   r#   rF   Tr  r   )r3   r   r   r   r  r   r9   r  ri  r)  r  )r;   r  r  r  r<   	expected1	expected2rr   s           r=   test_line_area_nan_df_stacked0TestDataFramePlots.test_line_area_nan_df_stackedI  s     a#bffa#W33?HH\<	HH\<	rww5
##BHHQK$9$9$;YG
##BHHQK$9$9$;Y=RSr@   rx  Fc                    SS[         R                  S/nS[         R                  SS/n[        X4S.US9n[         R                  " / SQ[         R                  S9n[         R                  " / SQ[         R                  S9n[        UR                  R                  40 UD6n[        R                  " UR                  S	   R                  5       U5        U(       a3  [        R                  " UR                  S   R                  5       U5        O4[        R                  " UR                  S   R                  5       Xg-   5        [        UR                  R                  S
S9n[        R                  " UR                  S	   R                  5       U5        [        R                  " UR                  S   R                  5       U5        g )NrF   r#   r\   r  rm   r  r(   r  r   Fr  )r3   r   r   r   r  r   r9   rd  r  ri  r)  r  )	r;   r  ru   r  r  r<   r  r  rr   s	            r=   "test_line_area_nan_df_stacked_area5TestDataFramePlots.test_line_area_nan_df_stacked_areaX  s5   
 a#bffa#W33?HH\<	HH\<	rww||6v6
##BHHQK$9$9$;YG''(=(=(?K''(=(=(?AVWrww||U;
##BHHQK$9$9$;YG
##BHHQK$9$9$;YGr@   secondary_yc                 T   [        [        R                  R                  S5      R                  S5      / SQS9nUR                  " S0 UD6nUR                  5       u  pEUR                  5       nXFS   R                  5       S   S   ::  d   eXVS   R                  5       S   S   :  d   eg )Nr#   r   r\   r   r   r   rP   r  )r   r3   r4   r5   r9   rT  r   rV  )r;   ru   r<   rr   rY  rZ  r)  s          r=   test_line_lim TestDataFramePlots.test_line_limo  s    ryy,,Q/66v>XWWv[[]
Qx((*1-a0000Qx((*1-b1111r@   c                    [        [        R                  R                  S5      R                  S5      / SQS9nUR	                  SSS9n[        USSS	9  U H  n[        US
5      (       d   e[        US5      (       a   eUR                  5       u  pEUR                  5       nXFS   R                  5       S   S   ::  d   eXVS   R                  5       S   S   :  a  M   e   g )Nr#   r  r   r   T)r  rD   r\   r   rG   left_axright_axr   rP   )
r   r3   r4   r5   r9   r   hasattrrT  r   rV  )r;   r<   rL   rr   rY  rZ  r)  s          r=   test_line_lim_subplots)TestDataFramePlots.test_line_lim_subplotsx  s    ryy,,Q/66v>Xww4$w7$6:B2y))))r:....JDLLNE8,,.q1!44448,,.q1"5555 r@   zX2020-12-01 this has been failing periodically on the ymin==0 assertion for a week or so.)strictrZ   c                    [        [        R                  R                  S5      R                  S5      / SQS9nU* n[	        UR
                  R                  US9nUR                  5       u  pVUR                  5       u  pxUR                  5       n	XYS   R                  5       S   S   ::  d   eXiS   R                  5       S   S   :  d   eUS:X  d   e[	        UR
                  R                  US9nUR                  5       u  pxUS:X  d   eg )Nr#   ra  rb  r   r  r   rP   )r   r3   r4   r5   r   r9   rd  rT  get_ylimr   rV  )
r;   rx  r<   neg_dfrr   rY  rZ  yminymaxr)  s
             r=   test_area_lim TestDataFramePlots.test_area_lim  s     II!!!$++F3=T
 rww||W=[[]
[[]
Qx((*1-a0000Qx((*1-b1111qyyv{{//A[[]
qyyr@   c                    [        [        R                  R                  S5      R                  S5      SS/S9n[        R
                  R                  SSSS9u  nu  p4UR                  US	S
9  UR                  US	S
9  [        U5      R                  X45      (       d   e[        U5      R                  X45      (       d   eg )Nr#   r&   r#   r^   r_   r   rF   T)shareyrd  )rr   rr  )
r   r3   r4   r5   r   r   rD   r9   r   joined)r;   r<   figrz  r{  s        r=   test_area_sharey_dont_overwrite2TestDataFramePlots.test_area_sharey_dont_overwrite  s    ryy,,Q/66v>c
S**--a4-@Zc
3V$
3V$#%%c////#%%c////r@   c                     [        [        R                  R                  S5      R	                  S5      5      nUR
                  R                  USS9nUR                   H  nUR                  5       S:X  a  M   e   g )Nr#   rw   rw   )rx  	linewidth)	r   r3   r4   r5   r6   r9   r   patchesget_linewidth)r;   rx  r<   rr   rs        r=   test_bar_linewidth%TestDataFramePlots.test_bar_linewidth  s_    ryy,,Q/??GHWW[[A[6A??$))) r@   c                     [        [        R                  R                  S5      R	                  S5      5      nUR
                  R                  SSS9n[        USSS9  U H,  nUR                   H  nUR                  5       S:X  a  M   e   M.     g )Nr#   r  T)r  rD   rw   )rw   rF   rG   )
r   r3   r4   r5   r6   r9   r   r   r  r  )r;   r<   rL   rr   r  s        r=   test_bar_linewidth_subplots.TestDataFramePlots.test_bar_linewidth_subplots  su    ryy,,Q/??GHww{{Q{6$6:BZZ(A---   r@   z	meth, dim)r   	get_width)barh
get_heightc                 f   [        [        R                  R                  S5      R	                  S5      5      nSn[        UR                  U5      " X5S9nUR                   HN  nU(       d.  [        Xr5      " 5       U[        UR                  5      -  :X  d   eM8  [        Xr5      " 5       U:X  a  MN   e   g )Nr#   r  ?)rx  width)
r   r3   r4   r5   r6   r   r9   r  r   r0   )r;   methdimrx  r<   r  rr   r  s           r=   test_bar_barwidth$TestDataFramePlots.test_bar_barwidth  s    
 ryy,,Q/??GHRWWd#GAAq(EC

O,CCCCq(E111	 r@   c                    [        [        R                  R                  S5      R	                  S5      5      nSn[        UR                  U5      " USS9nU H,  nUR                   H  n[        Xr5      " 5       U:X  a  M   e   M.     g )Nr#   r  r  T)r  rD   )r   r3   r4   r5   r6   r   r9   r  )r;   r  r  r<   r  rL   rr   r  s           r=   test_barh_barwidth_subplots.TestDataFramePlots.test_barh_barwidth_subplots  sq     ryy,,Q/??GHrww%EDABZZq(E111   r@   c                    [        [        R                  R                  S5      R                  S5      5      nUR                  R                  SSS9nUR                   Vs/ s H  o3R                  5       PM     nnUS/S-  :X  d   eUR                  R                  S/ SQS9nUR                  S S	  Vs/ s H  o3R                  5       PM     nnU/ SQ:X  d   eg s  snf s  snf )
Nr#   r  FrF   )rx  bottom   T)rP   rw   )r   r3   r4   r5   r9   r   r  get_yr;   r<   rr   pr   s        r=   test_bar_bottom_left_bottom.TestDataFramePlots.test_bar_bottom_left_bottom  s    ryy,,Q/66v>?WW[[q[1%'ZZ0Z'')Z0!r!!!WW[[.B[C%'ZZ^4^'')^4---- 1 5s    C4Cc                    [        [        R                  R                  S5      R                  S5      5      nUR                  R                  S[        R                  " / SQ5      S9nUR                   Vs/ s H  o3R                  5       PM     nnUS/S-  :X  d   eUR                  R                  S/ S	QS9nUR                  S S
  Vs/ s H  o3R                  5       PM     nnU/ S	Q:X  d   eg s  snf s  snf )Nr#   r  FrF   rF   rF   rF   rF   )rx  leftrF   r  Tr   rw   )	r   r3   r4   r5   r9   r  r   r  get_xr  s        r=   test_bar_bottom_left_left,TestDataFramePlots.test_bar_bottom_left_left  s    ryy,,Q/66v>?WW\\%bhh.G\H%'ZZ0Z'')Z0!r!!!WW\\$_\=%'ZZ^4^'')^4((( 1 5s   6C0
C5c                    [        [        R                  R                  S5      R                  S5      5      nUR                  R                  SSS9nU H8  nUR                   Vs/ s H  oDR                  5       PM     nnUS/S-  :X  a  M8   e   UR                  R                  S[        R                  " / SQ5      S9nU H8  nUR                   Vs/ s H  oDR                  5       PM     nnUS	/S-  :X  a  M8   e   g s  snf s  snf )
Nr#   r  TrP   )rD   r  rw   r  )rD   r  rF   )r   r3   r4   r5   r9   r   r  r  r  r   r  )r;   r<   rL   rr   r  r   s         r=   test_bar_bottom_left_subplots0TestDataFramePlots.test_bar_bottom_left_subplots  s    ryy,,Q/66v>?ww{{D{4B)+4AggiF4bTAX%%%  ww||T0I|JB)+4AggiF4aS1W$$$ 	 5
 5s   %C?Dc                     [        S[        R                  S// SQ/ SQS.5      nUR                  R	                  5       n/ SQnUR
                   Vs/ s H  oDR                  5       PM     nnXS:X  d   eg s  snf )Nr%      rw   r%   r  r   r   r+   r   	r%   r   r  rw   r%   r  rF   r#   r\   )r   r3   r   r9   r   r  r  r;   r<   rr   expectedr  r   s         r=   test_bar_nanTestDataFramePlots.test_bar_nan  s_    b"&&"-KiPQWW[[]2*,**5*Q,,.*5!!! 6s   A4c                 b   [        S[        R                  S// SQ/ SQS.5      nUR                  R	                  SS9n/ SQnUR
                   Vs/ s H  oDR                  5       PM     nnXS:X  d   eUR
                   Vs/ s H  oDR                  5       PM     nn/ S	QnXS:X  d   eg s  snf s  snf )
Nr%   r  r  r   r  Tr  r  )	rO  rO  rO        $@rO  g      4@g      .@r  g      D@)r   r3   r   r9   r   r  r  r  r  s         r=   test_bar_nan_stacked'TestDataFramePlots.test_bar_nan_stacked  s    b"&&"-KiPQWW[[[&2*,**5*Q,,.*5!!!%'ZZ0Z'')Z0E!!! 6 1s   B' B,c           	      l   [        [        R                  R                  S5      R	                  S5      U" [        S5      5      U" [        S5      5      S9nUR                  R                  5       nUR                  R                  5       n[        R                  " U[        R                  " / SQ5      5        UR                  5       S:X  d   eUR                  S   R                  5       S	:X  d   eUR                  S
   R                  5       S:X  d   eUR                  R                  SS9n[        R                  " U[        R                  " / SQ5      5        UR                  5       S:X  d   eUR                  S   R                  5       S	:X  d   eUR                  S
   R                  5       S:X  d   eg )Nr#   )r   rw   ABCDEFabcder@  )r   rF   r#   r\   r&   rw   )g      g      @r   g      пrP   g@Tr  g      @)r   r3   r4   r5   r6   r7   r9   r   r   get_ticklocsr  ri  r   rT  r  r  )r;   r  r<   rr   tickss        r=   test_bar_categorical'TestDataFramePlots.test_bar_categorical  sR    II!!!$44V<d8n%W&
 WW[[]%%'
##E2884F+GH{{}+++zz!}""$---zz"~##%---WW[[[&
##E2884F+GH{{}+++zz!}""$---zz"~##%---r@   zx, yrF   r#   c                     [        [        R                  R                  S5      R	                  S5      [        [        R                  S S 5      / SQS9n[        UR                  R                  XS9  g )Nr#   ra  r   rb  r@  r]   )r   r3   r4   r5   r6   r7   ro   rp   r   r9   r   r;   r^   r_   r<   s       r=   test_plot_scatter$TestDataFramePlots.test_plot_scatter  sU    II!!!$44V<v++BQ/0+
 	"''//Q4r@   c                 2   [        [        R                  R                  S5      R	                  S5      [        [        R                  S S 5      / SQS9n[        R                  " S5      n[        R                  " [        US9   UR                  R                  SS	9  S S S 5        [        R                  " S
5      n[        R                  " [        US9   UR                  R                  SS9  S S S 5        g ! , (       d  f       N`= f! , (       d  f       g = f)Nr#   ra  r   rb  r@  z5scatter() missing 1 required positional argument: 'y'r`   r^   r   z5scatter() missing 1 required positional argument: 'x'r_   r   )r   r3   r4   r5   r6   r7   ro   rp   reescaperc   rd   	TypeErrorr9   r   rg   s      r=   test_plot_scatter_error*TestDataFramePlots.test_plot_scatter_error)  s    II!!!$44V<v++BQ/0+

 iiOP]]9C0GGOOcO" 1iiOP]]9C0GGOOcO" 10 10 10s   C7D7
D
Dc                     [        [        R                  R                  S5      R	                  S5      [        [        R                  S S 5      / SQS9nUR                  SSSS	S
9n[        USSS9  g )Nr#   ra  r   rb  r@  r^   r_   r   T)r^   r_   rr  rD   rF   r   rG   )
r   r3   r4   r5   r6   r7   ro   rp   r9   r   rK   s      r=   test_plot_scatter_shape*TestDataFramePlots.test_plot_scatter_shape6  se    II!!!$44V<v++BQ/0+
 ww)dwC$6:r@   c                 .   [        [        R                  R                  S5      R	                  S5      S/S9n[        SSSS9R                  US'   S	n[        R                  " [        US
9   UR                  SSSS9  S S S 5        g ! , (       d  f       g = f)Nr#   r%   r   r   z
2014-01-01h)startr.   r-   dtimez9must be a string or a (real )?number, not 'datetime.time'r`   r   )rr  r^   r_   )r   r3   r4   r5   r6   r   timerc   rd   r  r9   rg   s      r=   &test_raise_error_on_datetime_time_data9TestDataFramePlots.test_raise_error_on_datetime_time_data@  ss    ryy,,Q/??CcUS |#rJOO7I]]9C0GGgG5 100s   +B
Br   valsr   rF   c                     [        [        SSS5      SSS9n[        R                  R	                  S5      R                  SS[        U5      5      n[        X4S.5      n[        UR                  R                  XS	9  g )
Ni  rF      W)r  r-   r.   r#   r   r  r]   )r   r   r3   r4   r5   normalr   r   r   r9   r   )r;   r^   r_   r   r  r<   s         r=   test_scatterplot_datetime_data1TestDataFramePlots.test_scatterplot_datetime_dataI  sa     dAq!12CHyy$$Q'..q!SZ@56"''//Q4r@   infer_stringpyarrow)marksr  b_colr#   r\   r&   r   c                     [        SU5         [        / SQUS.5      n[        UR                  R                  X#S9  S S S 5        g ! , (       d  f       g = f)Nzfuture.infer_stringr  r  r]   )r   r   r   r9   r   )r;   r   r^   r_   r  r<   s         r=   test_scatterplot_object_data/TestDataFramePlots.test_scatterplot_object_dataR  s=     1<@u=>Bbggoo8 A@@s   /A
Aordered
categories)setosa
versicolor	virginica)r(  r)  r'  c                    [        SS/SS/SS/SS/SS//S	S
/S9n[        R                  " / SQUUS9US'   UR                  R	                  SSSS9nUR
                  u  nUR                  n[        R                  " / SQ5      nUR                  5       n[        R                  " X5        [        R                  " / SQ5      n	UR                  n
[        R                  " X5        UnUR                  R                  5        Vs/ s H  oR                  5       PM     nn[!        S [#        X5       5       5      (       d   eg s  snf )Ngffffff@g      @g@rR  g      @g	@g@g@lengthr  r   )r'  r'  r)  r)  r(  )r%  r&  speciesr   rF   r^   r_   r   )      ?g      ?g      @rN  c              3   .   #    U  H  u  pX:H  v   M     g 7fNr  ).0ijs      r=   	<genexpr>KTestDataFramePlots.test_scatterplot_color_by_categorical.<locals>.<genexpr>{  s     T&Sda16&Ss   )r   r   Categoricalr9   r   collectionscolorbarr3   r   	get_ticksr  ri  _boundariesrr   get_ymajorticklabelsget_textallr   )r;   r%  r&  r<   rr   colorbar_collectionr8  expected_ticksresult_ticksexpected_boundariesresult_boundariesexpected_yticklabelsr2  result_yticklabelss                 r=   %test_scatterplot_color_by_categorical8TestDataFramePlots.test_scatterplot_color_by_categorical^  s-    3Z#sc3Z#sc3ZHw'
 H!
9
 WW__qA_3!#	&///2))+
##LA hh';<$00
##$5K)4<KK4T4T4VW4Vqjjl4VWTc*<&STTTTT Xs   E )r]   )r_   r^   )r_   r_   c                     [        / SQ[        R                  " / SQ5      S.5      n[        UR                  R
                  XS9  g )Nr   )r   r   r   r   r]   )r   r   r6  r   r9   r   r  s       r=   'test_plot_scatter_with_categorical_data:TestDataFramePlots.test_plot_scatter_with_categorical_data}  s/     \?S0TUV"''//Q4r@   zx, y, cr   )r   rF   r#   c                    [        [        R                  R                  S5      R	                  SSSS9[        [        R                  S S 5      / SQS9nUR                  R                  XUS	9nUR                  S   R                  R                  S
:X  d   eUR                  S   R                  R                  R                  5       S:X  d   eg )Nr#   r   ry   ra  lowhighsizer   rb  r@  r-  Greysr   )r   r3   r4   r5   r   r7   ro   rp   r9   r   r7  cmapr   r8  rr   
get_ylabel)r;   r^   r_   r   r<   rr   s         r=   test_plot_scatter_with_c+TestDataFramePlots.test_plot_scatter_with_c  s    II!!!$--!#F-Kv++BQ/0+
 WW__q_+~~a %%**g555~~a )),,779S@@@r@   c                 @   [        [        R                  R                  S5      R	                  SSSS9[        [        R                  S S 5      / SQS9nS	nUR                  R                  S
SSUS9nUR                  S   R                  R                  U:X  d   eUR                  R                  S
SSSS9nUR                  S   R                  b   eUR                  R                  SSSS9nUR                  S   R                  b   e[        UR                  S/S9  g )Nr#   r   ry   ra  rK  r   rb  r@  	cubehelixr^   r_   r   )r^   r_   r   colormapF)r^   r_   r   r8  rF   redr-  r  
facecolors)r   r3   r4   r5   r   r7   ro   rp   r9   r   r7  rP  r   r8  r   )r;   r<   cmrr   s       r=   test_plot_scatter_with_c_props1TestDataFramePlots.test_plot_scatter_with_c_props  s   II!!!$--!#F-Kv++BQ/0+

 WW__scS2_>~~a %%**b000 WW__scS5_A~~a ))111 WW__qA_/~~a ))111bnn#7r@   c                 h   [        SS/SS/S.5      n/ SQn/ SQn[        R                  " X#/5      nUR                  R	                  SS	US
9n[
        R                  " UR                  S   R                  5       U5        [        R                  " SS/5      nUR                  R	                  SS	USS9  g )NrF   r#   r\   r&   r   )rP  rO  rO  rP  )rO  rP  rO  rP  r   r+   r-  r   rO  rP  spring)r^   r_   r   rP  )	r   r3   r   r9   r   r  ri  r7  get_facecolor)r;   r<   red_rgba
green_rgba
rgba_arrayrr   float_arrays          r=   test_plot_scatter_with_c_array1TestDataFramePlots.test_plot_scatter_with_c_array  s     aV1a&12')
XXx45
WW__scZ_8
 	##BNN1$5$C$C$EzR hhSz*
#(Cr@   c                 *   [        [        R                  R                  S5      R                  S5      S-  / SQS9nUR                  R                  SSSS	9n[        R                  " US   R                  UR                  S
   R                  5       S9  g )Nr#   rl   ry   r   r   r   r   r   )r^   r_   r   r   )right)r   r3   r4   r5   r9   r   r  ri  valuesr7  	get_sizesrq   s      r=   test_plot_scatter_with_s+TestDataFramePlots.test_plot_scatter_with_s  st    II!!!$++G4s:O
 WW__scS_1
##BsGNN"..:K:U:U:WXr@   c                 *   [        [        R                  R                  S5      R                  S5      S-  / SQS9n[        R
                  R                  5       nUR                  R                  SSSUS	9nUR                  S
   R                  UL d   eg )Nr#   rl   ry   r   r   r   r   r   )r^   r_   r   normr   )r   r3   r4   r5   r   colorsLogNormr9   r   r7  rm  )r;   r<   rm  rr   s       r=   test_plot_scatter_with_norm.TestDataFramePlots.test_plot_scatter_with_norm  s{    II!!!$++G4s:O
 zz!!#WW__scSt_<~~a %%---r@   c                    [        [        R                  R                  S5      R                  S5      S-  / SQS9nUR                  R                  SSSS	9nUR                  S
   R                  nUR                  R                  5       UR                  R                  5       4n[        R                  R                  " U6 nUR                   H  nU" U5      U" U5      :X  a  M   e   g )Nr#   rl   ry   r   r   r   r   r   r-  r   )r   r3   r4   r5   r9   r   r7  rm  r   minmaxr   rn  	Normalize)r;   r<   rr   	plot_normcolor_min_maxdefault_normvalues          r=   test_plot_scatter_without_norm1TestDataFramePlots.test_plot_scatter_without_norm  s    II!!!$++G4s:O
 WW__scS_1NN1%**	RTTXXZ0zz++];TTEU#|E':::: r@   legendrB   c                     [        [        R                  R                  S5      R	                  S5      [        [        R                  S S 5      / SQS9n[        UR                  R                  40 UD6  g )Nr#   ra  r   onetwothreerc  r@  )r   r3   r4   r5   r6   r7   ro   rp   r   r9   r   r   s      r=   test_plot_bar TestDataFramePlots.test_plot_bar  sZ     II!!!$44V<v++BQ/03
 	"''++00r@   c                     [        [        R                  R                  S5      R	                  S5      [        [        R                  S S 5      [        S5      S9n[        UR                  R                  5        g )Nr#   )r%      r%   r  r@  )r   r3   r4   r5   r6   r7   ro   rp   r   r   r9   r   r:   s     r=   test_plot_bar_int_col(TestDataFramePlots.test_plot_bar_int_col  sW    II!!!$44X>v++CR01"I

 	"''++&r@   c                     [        SS/SS/S.5      n[        UR                  R                  5      n[	        USS9  UR                  R                  SSS9n[	        USSSS	9  g )
Nr   rF   r  Z   rV   #   r%   rotfontsizerW   
xlabelsize
ylabelsize)r   r   r9   r   r   rq   s      r=   test_plot_bar_ticks&TestDataFramePlots.test_plot_bar_ticks  sY    aV1a&12rww{{+2B'WW[[R"[-2B2"Er@   c                     [        SS/SS/S.5      n[        UR                  R                  5      n[	        USS9  UR                  R                  SSS9n[	        USSSS9  g )	Nr   rF   r  )yrotr!      r  )r  r  r  )r   r   r9   r  r   rq   s      r=   test_plot_barh_ticks'TestDataFramePlots.test_plot_barh_ticks  sY    aV1a&12rww||,2A&WW\\b2\.2B2"Er@   c           	         UnUR                  5       R                  nU Vs/ s H  n[        U5      PM     nn[        UR                  R
                  5      n[        UR                  5       U5        [        R                  " UR                  R                  5       [        R                  " S[        U5      S-   5      5        [        UR                  5      S[        U5      -  :X  d   eg s  snf )NrF   r   )_get_numeric_datar0   r   r   r9   boxr   r   r  ri  r   r  r3   r   r   r)  r;   hist_dfr<   numeric_colsr   labelsrr   s          r=   test_boxplotTestDataFramePlots.test_boxplot  s    ++-55+78<a,q/<8rww{{+2--/8
##HH!!#RYYq#l2Ca2G%H	
 288}C$5 5555 9s   C)c                     UnUS   nUR                   R                  SS9n[        USSS9  [        UR                   R                  5        g )Nheight(   r  r   rW   r  )r9   r  r   r   )r;   r  r<   seriesrL   s        r=   test_boxplot_series&TestDataFramePlots.test_boxplot_series  s@    H{{2&4bq1&++//*r@   c                    Un[         R                  " / SQ5      nUR                  R                  US9nUR	                  5       R
                  nU Vs/ s H  n[        U5      PM     nn[        UR                  5       U5        [        R                  " UR                  R                  5       U5        [        UR                  5      S[        U5      -  :X  d   eg s  snf )N)rF   r   r   )	positionsr   )r3   r   r9   r  r  r0   r   r   r   r  ri  r   r  r   r)  )r;   r  r<   r  rr   r  r   r  s           r=   test_boxplot_series_positions0TestDataFramePlots.test_boxplot_series_positions  s    HHY'	WW[[9[-++-55+78<a,q/<82--/8
##BHH$9$9$;YG288}C$5 5555 9s   Cc                 L   UnUR                  5       R                  nU Vs/ s H  n[        U5      PM     nnUR                  R	                  SSSS9n[        USSSS9  [        UR                  5       U5        [        UR                  5      S[        U5      -  :X  d   eg s  snf )N2   r   F)r  r  vertr   rW   r  r  r   )
r  r0   r   r9   r  r   r   get_yticklabelsr   r)  r  s          r=   test_boxplot_vertical(TestDataFramePlots.test_boxplot_vertical&  s    ++-55+78<a,q/<8 WW[[R!%[82AB1=2--/8288}C$5 5555 9s   B!zignore:Attempt:UserWarningc                 |   UnUR                  5       R                  nU Vs/ s H  n[        U5      PM     nn[        UR                  R
                  SSSSS9n[        USSS9  [        USS9  [        Xe5       H;  u  px[        UR                  5       U/5        [        UR                  5      S	:X  a  M;   e   g s  snf )
NTF)rC   rD   r  r  r\   )rF   r\   rG   r  r  r   )r  r0   r   r   r9   r  r   r   r   r   r  r   r)  )	r;   r  r<   r  r   r  rL   rr   r   s	            r=   test_boxplot_vertical_subplots1TestDataFramePlots.test_boxplot_vertical_subplots1  s    ++-55+78<a,q/<8 GGKK
 	$6:U+T*IBr113eW=rxx=A%%% + 9s   B9c                    UnUR                  5       R                  nU Vs/ s H  n[        U5      PM     nn[        R                  " / SQ5      nUR
                  R                  USS9n[        UR                  5       U5        [        R                  " UR                  R                  5       U5        [        UR                  5      S[        U5      -  :X  d   eg s  snf )N)r\   r#   r   F)r  r  r   )r  r0   r   r3   r   r9   r  r   r  r  ri  r  r  r   r)  )r;   r  r<   r  r   r  r  rr   s           r=   test_boxplot_vertical_positions2TestDataFramePlots.test_boxplot_vertical_positionsC  s    ++-55+78<a,q/<8HHY'	WW[[95[92--/8
##BHH$9$9$;YG288}C$5 5555 9s   Cc                 F   [        [        R                  R                  S5      R	                  S5      [        [        R                  S S 5      / SQS9nSn[        R                  " [        US9   UR                  R                  SS	9  S S S 5        g ! , (       d  f       g = f)
Nr#   ra  r   r~  r@  z2return_type must be {None, 'axes', 'dict', 'both'}r`   
not_a_typereturn_type)r   r3   r4   r5   r6   r7   ro   rp   rc   rd   r  r9   r  rg   s      r=    test_boxplot_return_type_invalid3TestDataFramePlots.test_boxplot_return_type_invalidM  su    II!!!$44V<v++BQ/03

 C]]:S1GGKKLK1 211s   /B
B r  )dictrL   bothc                     [        [        R                  R                  S5      R	                  S5      [        [        R                  S S 5      / SQS9nUR                  R                  US9n[        X15        g )Nr#   ra  r   r~  r@  r  )r   r3   r4   r5   r6   r7   ro   rp   r9   r  r   )r;   r  r<   r   s       r=   %test_boxplot_return_type_invalid_type8TestDataFramePlots.test_boxplot_return_type_invalid_typeW  s_    II!!!$44V<v++BQ/03

 5v3r@   c                 @   [         R                  " S5        [        [        R                  R                  S5      R                  S5      5      n[        UR                  SS9nUR                   Vs/ s H  n[        U5      PM     nn[        X$S9  [        USS9  g s  snf )	Nscipyr#   ry   r&   kderr  r  r   rV   )rc   importorskipr   r3   r4   r5   r6   r   r9   r0   r   r   r   )r;   r<   rr   r   r  s        r=   test_kde_dfTestDataFramePlots.test_kde_dfa  sw    G$ryy,,Q/??IJrwwU3-/ZZ8ZLOZ8R12A& 9s   0Bc                     [         R                  " S5        [        [        R                  R                  S5      R                  S5      5      nUR                  SSSS9n[        USSSS9  g )	Nr  r#   r$   r  r  rw   )rr  r  r  r  )	rc   r  r   r3   r4   r5   r6   r9   r   rq   s      r=   test_kde_df_rot"TestDataFramePlots.test_kde_df_roti  sV    G$ryy,,Q/??HIWW%R!W42B1Cr@   c                     [         R                  " S5        [        [        R                  R                  S5      R                  S5      5      n[        UR                  SSSS9n[        USSS	9  g )
Nr  r#   r$   Tr  )rC   rr  rD   r&   rE   rG   )
rc   r  r   r3   r4   r5   r6   r   r9   r   rK   s      r=   test_kde_df_subplots'TestDataFramePlots.test_kde_df_subplotso  s\    G$ryy,,Q/??HI GG	
 	$6:r@   c                     [         R                  " S5        [        [        R                  R                  S5      R                  S5      5      nUR                  SSSS9n[        USS9  g )	Nr  r#   r$   r  T)rr  r  rD   r  r  )	rc   r  r   r3   r4   r5   r6   r9   r   rK   s      r=   test_kde_df_logy#TestDataFramePlots.test_kde_df_logyz  sR    G$ryy,,Q/??HIwwEtw<U+r@   c                     [         R                  " S5        [        [        R                  R                  S5      R                  SS95      n[        R                  UR                  S'   [        UR                  SS9  g )Nr  r#   r  rN  r   r   r  r  )rc   r  r   r3   r4   r5   uniformr   locr   r9   r:   s     r=   test_kde_missing_vals(TestDataFramePlots.test_kde_missing_vals  sV    G$ryy,,Q/77X7FGvvt"''.r@   c                    [        [        R                  R                  S5      R	                  S5      5      n[        UR                  R                  5      nUR                   Vs/ s H  n[        U5      PM     nn[        X$S9  [        UR                  R                  SSSS9n[        USSS9  [        US	S
9  g s  snf )Nr#   r  r  T)rC   rD   r  r&   rE   rG   r  r  )r   r3   r4   r5   r6   r   r9   r   r0   r   r   r   r   )r;   r<   rr   r   r  rL   s         r=   test_hist_dfTestDataFramePlots.test_hist_df  s    ryy,,Q/??IJrww||,-/ZZ8ZLOZ8R1 GGLL	
 	$6:U+ 9s   %B;c                     [        [        R                  R                  S5      R                  S5      5      nUR                  R                  SS9n[        USSS9  g )Nr#   r%   r  r  r   r  )r
   r3   r4   r5   r9   r   r   )r;   r  rL   s      r=   test_hist_df_series&TestDataFramePlots.test_hist_df_series  sI    		--a077;<{{B'4bq1r@   c                 r   SSK Jn  [        [        R                  R                  S5      R	                  S5      5      nUR                  R                  SSSS9nUR                  5        Vs/ s H  n[        XA5      (       d  M  UPM     nn[        R                  " US   R                  5       S	5        g s  snf )
Nr   	Rectangler#   r%   Tr&   )
cumulativebinsdensityrP   rP  matplotlib.patchesr  r
   r3   r4   r5   r9   r   get_childrenr&  r  assert_almost_equalr  r;   r  r  rr   r^   rectss         r=   &test_hist_df_series_cumulative_density9TestDataFramePlots.test_hist_df_series_cumulative_density  s    0		--a077;<[[AtDOO-J-qA1I-J
uRy335s; Ks   +B4B4c                 p   SSK Jn  [        [        R                  R                  S5      R	                  S5      5      nUR                  R                  SSS9nUR                  5        Vs/ s H  n[        XA5      (       d  M  UPM     nn[        R                  " US   R                  5       S	5        g s  snf )
Nr   r  r#   r%   Tr&   )r  r  r  r  r  r  s         r=   test_hist_df_series_cumulative1TestDataFramePlots.test_hist_df_series_cumulative  s    0		--a077;<[[A6OO-J-qA1I-J
uRy335t< Ks   *B3B3c                     [        [        R                  R                  S5      R	                  S5      5      nUR
                  R                  SSSS9n[        USSSS9  g )	Nr#   r$   r  r   
horizontal)r  r  orientationr   r  )r   r3   r4   r5   r6   r9   r   r   rK   s      r=   test_hist_df_orientation+TestDataFramePlots.test_hist_df_orientation  sL    ryy,,Q/??HIww||QL|I4abQ?r@   weights皙?)ry   )shape)ry   r#   c           
         [        [        [        SS/[        R                  R                  S5      R                  S5      5      5      5      n[        UR                  SUS9n[        UR                  SS9nUR                   Vs/ s H  oUR                  5       PM     nnUR                   Vs/ s H  nSUR                  5       -  PM     nn[        R                  " Xg5        g s  snf s  snf )	Nr   r+   r#   )r#   ry   r   )rr  r  r  r  )r   r  r   r3   r4   r5   r6   r   r9   r  r  r  r  )r;   r  r<   rz  r{  patchpatch_height_with_weightsexpected_patch_heights           r=   test_hist_weights$TestDataFramePlots.test_hist_weights  s     c3Z!6!6q!9!I!I(!STU
  fgFf5EH[[$Q[E%5%5%7[!$Q HK{{ S{eu'7'7'9!9{ S
8P %R !Ts   C#-C(c                    [         R                  " U Vs/ s H  ofR                  5       PM     sn5      n[         R                  " U Vs/ s H  ofR                  5       PM     sn5      n[         R                  " U Vs/ s H  ofR	                  5       PM     sn5      n	[         R                  " U Vs/ s H  ofR                  5       PM     sn5      n
Ub  [        R                  " XrSS9  Ub  [        R                  " XSS9  Ub  [        R                  " XSS9  Ub  [        R                  " XSS9  g g s  snf s  snf s  snf s  snf )NF)check_dtype)r3   r   r  r  r  r  r  ri  )r;   r  
expected_y
expected_h
expected_x
expected_wr  result_yresult_heightresult_xresult_widths              r=   _check_box_coord#TestDataFramePlots._check_box_coord  s     8881WWY89'!B'Q,,.'!BC8881WWY89xx @1 @A !''%P!''uU!''%P!''eT " 9!B8 @s   D3	D8=D=1Er  r   r%   	   r   r   r   r   r   r   r   r   r   r   r   r  r%   r  r#   r\   rw   )r\   r%   r  r   r   r   )r   r\   r   r   r   r   )r   r   r   r\   r  r%   c                    [        U5      nUR                  R                  SS9nU R                  UR                  S S [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  UR                  SS [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  UR                  SS  [
        R                  " / SQ5      [
        R                  " / SQ5      S9  UR                  R                  SS	S
9nU R                  UR                  S S [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  UR                  SS [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  UR                  SS  [
        R                  " / SQ5      [
        R                  " / SQ5      S9  UR                  R                  SS	S	S9nU R                  US   R                  [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  US   R                  [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  US   R                  [
        R                  " / SQ5      [
        R                  " / SQ5      S9  UR                  R                  SSS9nU R                  UR                  S S [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  UR                  SS [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  UR                  SS  [
        R                  " / SQ5      [
        R                  " / SQ5      S9  UR                  R                  SS	SS9nU R                  UR                  S S [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  UR                  SS [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  UR                  SS  [
        R                  " / SQ5      [
        R                  " / SQ5      S9  UR                  R                  SS	S	SS9nU R                  US   R                  [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  US   R                  [
        R                  " / SQ5      [
        R                  " / SQ5      S9  U R                  US   R                  [
        R                  " / SQ5      [
        R                  " / SQ5      S9  g )Nrw   )r  )r   r   r   r   r   r  )r  r  r%   r  r  T)r  rx  )      r  r     )r  rx  rD   r   rF   r#   r  )r  r  )r  r  )r  rx  r  )r  rx  rD   r  )r   r9   r   r  r  r3   r   )r;   r  r<   rr   rL   s        r=   test_hist_df_coord%TestDataFramePlots.test_hist_df_coord  s   , t_WW\\q\!JJrNxx0xx 01 	 	

 	JJqxx0xx0 	 	

 	JJrsOxx0xx 01 	 	
 WW\\q$\/JJrNxx0xx 01 	 	

 	JJqxx 01xx0 	 	

 	JJrsOxx 45xx 01 	 	
 ww||D4|@GOOxx0xx 01 	 	

 	GOOxx0xx0 	 	

 	GOOxx0xx 01 	 	
 WW\\ql\;JJrNxx0xx 01 	 	

 	JJqxx0xx0 	 	

 	JJrsOxx0xx 01 	 	
 WW\\q$L\IJJrNxx0xx 01 	 	

 	JJqxx 01xx0 	 	

 	JJrsOxx 45xx 01 	 	
 ww||D4\  
 	GOOxx0xx 01 	 	

 	GOOxx0xx0 	 	

 	GOOxx0xx 01 	 	
r@   c                     [        [        R                  R                  S5      R	                  S5      5      R                  5       n[        UR                  SS9  g )Nr#   r  Tr|  )r   r3   r4   r5   r6   cumsumr   r9   r:   s     r=   test_plot_int_columns(TestDataFramePlots.test_plot_int_columns`  s=    ryy,,Q/??IJQQS"''$/r@   markers^+o)r  r   r!  c                    SS K Jn  UR                  5       nUR                  5         UR	                  S5        [        [        R                  R                  S5      R                  S5      5      nUR                  US9n[        UR                  5       S [        U5       5       H  u  pgUR                  5       X   :X  a  M   e   g )Nr   o   r#   rl   )style)matplotlib.pyplotr   gcfclfadd_subplotr   r3   r4   r5   r6   r9   	enumerater   r   
get_marker)r;   r  pltr  r<   rr   r  rf   s           r=   test_style_by_column'TestDataFramePlots.test_style_by_columnd  s     	(ggi	ryy,,Q/??HIWW7W#"2<<>.CL#ABIC??$444 Cr@   c                     [        SS/5      nUR                  5       nUR                  5       b   eUR                  SS9nUR                  5       R                  5       S   R	                  5       S:X  d   eg )NrF   r#   Tr  r    )r
   r9   
get_legend	get_textsr<  )r;   r   rr   s      r=   test_line_label_none'TestDataFramePlots.test_line_label_nonex  sg    Aq6NVVX}}&&&VV4V }}((*1-668B>>>r@   zprops, expected))boxpropsboxes)whiskerpropswhiskers)cappropscaps)medianpropsmediansc           	         [        S Vs0 s H1  o3[        R                  R                  S5      R                  S5      _M3     sn5      nUSS00nUR                  R
                  " S	SS0UD6nXb   S   R                  5       S:X  d   eg s  snf )
NABCr#   ry   colorC1r  r  r   r  )r   r3   r4   r5   r9   r  	get_color)r;   propsr  kr<   kwdr   s          r=   !test_specified_props_kwd_plot_box4TestDataFramePlots.test_specified_props_kwd_plot_box  s     OA299003::3??OPwo&7737",,.$666	 Ps   8B	c                 ,   [        SSS5      [        SSS5      [        SSS5      /n/ SQn[        [        R                  " U5      US/S9nUR	                  5       nUR
                  S	   R                  5       n[        R                  " U[        R                  " U[        S
95        UR
                  S	   R                  5       n[        R                  " U[        R                  " U5      5        UR                  R                  5       nU Vs/ s H  owR                  5       S	   PM     nn[        U5      R                  (       d   eU Vs/ s H  owR!                  5       PM     n	n["        R$                  " U	SS9R                  (       d   eg s  snf s  snf )N  r%   rF   r  r   )rR  rQ  rP  testr@  r   r(   z%Y-%m-%dr   )r   r   r3   r   r9   r)  r'  r  ri  r8   r  r   get_ticklabelsget_positionr   is_monotonic_increasingr<  r   r   )
r;   r1   rh  r<   rr   rx   ydatar^   xlocsxlabelss
             r=   test_unordered_ts$TestDataFramePlots.test_unordered_ts  s8   dB"Dq!$4d4A6FG HHVH

 WWY!&&(
##FBHHU&,IJ%%'
##E288F+;< ((*.45f!!$f5U|3333)/0A::<0~~gj9QQQQ 60s   F
Fc                     [         R                  " S5        [        S/ SQ05      nUR                  US9  [	        UR                  U5      " 5         g Nr  r^   r   r  rc   r  r   r9   r   r;   rr  r<   s      r=   test_kind_both_ways&TestDataFramePlots.test_kind_both_ways  s>    G$Y'(
T r@   c                     [         R                  " S5        [        S/ SQ05      nUR                  SSUS9  [	        UR                  U5      " SS5        g rR  rS  rT  s      r=   test_kind_both_ways_x_y*TestDataFramePlots.test_kind_both_ways_x_y  sF    G$Y'(
St$sC(r@   c                     [        [        S5      5      nSn[        R                  " [        US9   UR                  US9  S S S 5        g ! , (       d  f       g = f)Nabcdno numeric data to plotr`   r  )r   r7   rc   rd   r  r9   r;   rr  r<   rh   s       r=   test_all_invalid_plot_data-TestDataFramePlots.test_all_invalid_plot_data  s=    tF|$']]9C0GGG 100s   A		
Ac                    [        [        R                  R                  S5      R	                  S5      [
        S9nSU[        R                  R                  S5      R                  UR                  S   5      S:  '   Sn[        R                  " [        US9   UR                  US	9  S S S 5        g ! , (       d  f       g = f)
Nr#   r%   r#   r(   r   r   r.  r\  r`   r  )r   r3   r4   r5   r6   r8   r  rc   rd   r  r9   r]  s       r=   (test_partially_invalid_plot_data_numeric;TestDataFramePlots.test_partially_invalid_plot_data_numeric  s     II!!!$44W=
 BE299  #**288A;7#=>']]9C0GGG 100s   B00
B>c                     [        [        R                  R                  S5      R	                  S5      5      nSn[
        R                  " [        US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)Nr#   ra  z*invalid_plot_kind is not a valid plot kindr`   invalid_plot_kindr  )	r   r3   r4   r5   r6   rc   rd   r  r9   rg   s      r=   test_invalid_kind$TestDataFramePlots.test_invalid_kind  sT    ryy,,Q/??HI:]]:S1GG,G- 211s   A,,
A:zx,y,lblr   r   r   c                     [        SS/SS/SS/S.5      n[        R                  " [        SS	9   UR	                  XUS
9  S S S 5        g ! , (       d  f       g = f)NrF   r#   r\   r&   rw   r   r  x must be a label or positionr`   r^   r_   r   r   rc   rd   r  r9   )r;   r^   r_   lblr<   s        r=   test_invalid_xy_args'TestDataFramePlots.test_invalid_xy_args  sM     aV1a&1v>?]]:-LMGGaCG( NMMs   A		
Ac                     [        SS/SS/SS/S.5      nSn[        R                  " [        US	9   UR	                  S
SS/SS9  S S S 5        g ! , (       d  f       g = f)NrF   r#   r\   r&   rw   r   r  z.label should be list-like and same length as yr`   r   r+   r   	bad_labelrj  rk  rg   s      r=   test_bad_label!TestDataFramePlots.test_bad_label  sT    aV1a&1v>?>]]:S1GGcc3Z{G; 211s   A
Azx,yr   c                     [        / SQ/ SQ/[        S5      S9n[        R                  " [        SS9   UR                  XS9  S S S 5        g ! , (       d  f       g = f)N)rF   r\   rw   )r#   r&   r   AABr   ri  r`   r]   )r   r7   rc   rd   r  r9   r  s       r=   test_invalid_xy_args_dup_cols0TestDataFramePlots.test_invalid_xy_args_dup_cols  sC     	9-tE{C]]:-LMGGaG NMMs   A
Azx,y,lbl,colorsrW  bluer   bokehcythongreenyellowc                     [        SS/SS/SS/S.5      n[        UR                  SX#S	9  UR                  XX4S
9n[        UR                  5      [        U5      :X  d   e[        UR                  5       US9  g )NrF   r#   r\   r&   rw   r   r  r   rj  )r^   r_   r   r>  
linecolors)r   r   r9   r   r)  r   r   )r;   r^   r_   rl  rn  r<   rr   s          r=   test_y_listlike"TestDataFramePlots.test_y_listlike  sm     aV1a&1v>?"''SA9WWqSW7288}A&&&blln8r@   zx,y,colnamesc                 \    [        SS/SS/S.5      nX4l        [        UR                  XS9  g )NrF   r#   r\   r&   r   r]   )r   r0   r   r9   )r;   r^   r_   colnamesr<   s        r=   test_xy_args_integer'TestDataFramePlots.test_xy_args_integer  s.     aV1a&12
"''Q,r@   c           	         [        [        R                  R                  S5      R	                  SS9[        R                  R                  S5      R	                  SS9[        R
                  " S5      [        R                  R                  S5      R	                  SS9-   S.5      nUR                  R                  SSSS9n[        UR                  5      S	:X  d   eg )
Nr#   r  r  r  r   r+   r%   )r^   r_   gridsizerF   
r   r3   r4   r5   r  r   r9   r   r   r7  rq   s      r=   test_hexbin_basic$TestDataFramePlots.test_hexbin_basic  s    YY**1-5525>YY**1-5525>YYr]RYY%:%:1%=%E%E2%E%NN
 WW^^cS2^62>>"a'''r@   c           	         [        [        R                  R                  S5      R	                  SS9[        R                  R                  S5      R	                  SS9[        R
                  " S5      [        R                  R                  S5      R	                  SS9-   S.5      nUR                  R                  SSSS9n[        US	   R                  R                  5      S:X  d   e[        US
SS9  g )Nr#   r  r  r  r   r+   T)r^   r_   rD   r   rF   r   rG   )r   r3   r4   r5   r  r   r9   r   r   figurerL   r   rK   s      r=   test_hexbin_basic_subplots-TestDataFramePlots.test_hexbin_basic_subplots  s    YY**1-5525>YY**1-5525>YYr]RYY%:%:1%=%E%E2%E%NN
 ww~~sT~: 47>>&&'1,,,$6:r@   reduce_Cc           	         [        [        R                  R                  S5      R	                  SS9[        R                  R                  S5      R	                  SS9[        R
                  " S5      [        R                  R                  S5      R	                  SS9-   S.5      nUR                  R                  SSSUS9n[        UR                  5      S	:X  d   eg )
Nr#   r  r  r  r   r+   r   )r^   r_   r   reduce_C_functionrF   r  )r;   r  r<   rr   s       r=   test_hexbin_with_c%TestDataFramePlots.test_hexbin_with_c  s    YY**1-5525>YY**1-5525>YYr]RYY%:%:1%=%E%E2%E%NN
 WW^^cSC8^L2>>"a'''r@   zkwargs, expectedBuGnrV  rU  rP  YlGnc           	         [        [        R                  R                  S5      R	                  SS9[        R                  R                  S5      R	                  SS9[        R
                  " S5      [        R                  R                  S5      R	                  SS9-   S.5      nUR                  R                  " S	SSS.UD6nUR                  S   R                  R                  U:X  d   eg )
Nr#   r  r  r  r   r+   r]   r   r  )r   r3   r4   r5   r  r   r9   r   r7  rP  r   )r;   ru   r  r<   rr   s        r=   test_hexbin_cmap#TestDataFramePlots.test_hexbin_cmap,  s     YY**1-5525>YY**1-5525>YYr]RYY%:%:1%=%E%E2%E%NN
 WW^^3cS3F3~~a %%**h666r@   c                    [        [        R                  R                  S5      R                  S5      / SQ/ SQS9nSn[        R
                  " [        US9   UR                  R                  5         S S S 5        g ! , (       d  f       g = f)Nr#   rw   r\   XYZr   r   r   der/   z/pie requires either y column or 'subplots=True'r`   )	r   r3   r4   r5   rc   rd   r  r9   r   rg   s      r=   test_pie_df_err"TestDataFramePlots.test_pie_df_err?  s^    II!!!$++F3#+

 @]]:S1GGKKM 211s   A;;
B	r  c                     [        [        R                  R                  S5      R                  S5      / SQ/ SQS9n[	        UR
                  R                  US9n[        UR                  UR                  5        g )Nr#   r  r  r  r/   r   )
r   r3   r4   r5   r   r9   r   r   textsr1   )r;   r_   r<   rr   s       r=   test_pie_dfTestDataFramePlots.test_pie_dfI  sW    II!!!$++F3#+

 rww{{a0288RXX.r@   c                    [        [        R                  R                  S5      R                  S5      / SQ/ SQS9n[	        UR
                  R                  SSS9n[        U5      [        UR                  5      :X  d   eU H#  n[        UR                  UR                  5        M%     [        X!R                  5       H  u  p4UR                  5       U:X  a  M   e   g )Nr#   r  r  r  r/   TrB   )r   r3   r4   r5   r   r9   r   r   r0   r   r  r1   r   rQ  )r;   r<   rL   rr   ylabels        r=   test_pie_df_subplots'TestDataFramePlots.test_pie_df_subplotsS  s    II!!!$++F3#+

 !GGKK

 4yC

O+++Brxx2 dJJ/JB==?f,,, 0r@   c                 z   [        [        R                  R                  S5      R                  S5      / SQ/ SQS9n/ SQn/ SQn[	        UR
                  R                  SSUUS	9n[        U5      [        UR                  5      :X  d   eU H-  n[        UR                  U5        [        UR                  US
9  M/     g )Nr#   r  r  r  r/   r   )r  gr   r   mT)rC   rD   r  rn  rX  )r   r3   r4   r5   r   r9   r   r   r0   r   r  r   r  )r;   r<   r  
color_argsrL   rr   s         r=   test_pie_df_labels_colors,TestDataFramePlots.test_pie_df_labels_colorsd  s    II!!!$++F3#+

 +.
 GGKK
 4yC

O+++Brxx0"**< r@   c                    [        [        R                  R                  S5      R                  S5      5      n[	        S5       H!  n[        R
                  UR                  X"4'   M#     [        R                  R                  SS9u  p4SS0n[        R                  " S 5         UR                  R                  " SSUSS.UD6  S S S 5        / SQn[        U5       H  u  p'[        U5      nS	X'   UR                    V	s/ s H  oR#                  5       PM     n
n	X:X  d   eUR%                  5       R'                  5        V	s/ s H  oR#                  5       PM     nn	US U XbS
-   S  -   nX:X  a  M   e   g ! , (       d  f       N= fs  sn	f s  sn	f )Nr#   )r&   r&   r&   )ncols	normalizeT)rD   rr   r|  )0123r/  rF   r  )r   r3   r4   r5   r   r   ilocr   r   rD   r  r  r9   r   r)  r7   r  r<  r0  r1  )r;   r<   r2  r   rL   ru   base_expectedrr   r  r^   r   result_labelsexpected_labelss                r=   test_pie_df_nan"TestDataFramePlots.test_pie_df_nany  sO   ryy,,Q/66v>?qAFFBGGADM **%%A%. t$''-GGKKF$tFvF . -t_EAM*HHK,.HH5HqjjlHF5%%%
 46==?3L3L3NO3NaZZ\3NMO+BQ/-A2HHO 333 %	 .- 6 Ps   !!E1;F=F1
E?r  )r  r  r  c                 :   [         R                  " S5      [         R                  " SSS5      S.n[        U5      n[         R                  " S5      S-  [         R                  " S5      S-  S.n[        U5      n[	        UR
                  4SU0UD6n[        USSS	9  g )
Nr  r   rP   r]   皙?皙?yerrr#   xerrr  r3   r   r   onesr   r9   r   )r;   ru   r  r<   d_errdf_errrr   s          r=   test_errorbar_plot%TestDataFramePlots.test_errorbar_plot  s     ))B-biiAr&:;q\ggbkC'bggbkC.?@5! rww>V>v>Raa0r@   c                 <   [         R                  " S5      [         R                  " SSS5      S.n[        U5      n[         R                  " S5      S-  [         R                  " S5      S-  S.n[        U5      n[	        US-   R
                  XDSS	S
9n[        USSS9  g )Nr  r   rP   r]   r  r  rF   r   T)r  r  rr  r  r#   r  r  )r;   r  r<   r  r  rr   s         r=   test_errorbar_plot_bar)TestDataFramePlots.test_errorbar_plot_bar  s    ))B-biiAr&:;q\ggbkC'bggbkC.?@5!!VMM%T
 	Raa0r@   c                 V   [         R                  " S5      [         R                  " SSS5      S.n[        U5      n[        US   R                  [         R
                  " S5      S-  S9n[        USSS	9  [        UR                  [         R
                  " S
5      S-  S9n[        USSS	9  g )Nr  r   rP   r]   r_   r  r  rF   r  )r#   r  r#   )r3   r   r   r   r9   r  r   r;   r  r<   rr   s       r=   test_errorbar_plot_yerr_array0TestDataFramePlots.test_errorbar_plot_yerr_array  s    ))B-biiAr&:;q\r#w||"''"+2CDRaa0rwwRWWW-=-CDRaa0r@   r  u   誤差c                 .   [         R                  " S5      [         R                  " SSS5      S.n[        U5      n[         R                  " S5      S-  X1'   [	        UR
                  US9n[        USSS9  [	        UR
                  S	S
US9n[        USSS9  g )Nr  r   rP   r]   r  r  r#   r  r_   r^   )r_   r^   r  rF   r  )r;   r  r  r<   rr   s        r=   test_errorbar_plot_column_name1TestDataFramePlots.test_errorbar_plot_column_name  s|     ))B-biiAr&:;q\772;$rwwT2Raa0rww#4@Raa0r@   c                 V   [         R                  " S5      [         R                  " SSS5      S.n[        U5      n[        R                  " [
        5         UR                  [         R                  R                  S5      R                  S5      S9  S S S 5        g ! , (       d  f       g = f)Nr  r   rP   r]   r#   r  r  )
r3   r   r   r  external_error_raisedr  r9   r4   r5   r6   r;   r  r<   s      r=   &test_errorbar_plot_external_valueerror9TestDataFramePlots.test_errorbar_plot_external_valueerror  sl    ))B-biiAr&:;q\%%j1GG..q1AA"EGF 211s   <B
B(c                 *   [         R                  " S5      [         R                  " SSS5      S.n[        U5      n[        S/S-  S/S-  S.5      n[        R                  " [
        5         UR                  US9  S S S 5        g ! , (       d  f       g = f)Nr  r   rP   r]   zzzr  )r3   r   r   r  r  r  r9   )r;   r  r<   r  s       r=   %test_errorbar_plot_external_typeerror8TestDataFramePlots.test_errorbar_plot_external_typeerror  sm    ))B-biiAr&:;q\%2UGbLAB%%i0GGG  100s   +B
B)rf   r   r  y_errr  r  )r   r  c                     [        [        R                  " S5      [        R                  " SSS5      S.5      n[        UR                  X!S9n[        USSS9  g )Nr  r   rP   r]   r  rr  r#   r  r   r3   r   r   r9   r   )r;   rr  r  r<   rr   s        r=   !test_errorbar_plot_different_yerr4TestDataFramePlots.test_errorbar_plot_different_yerr  sD     RYYr]2q"1EFGrwwU>Raa0r@   zy_err, x_err)r  r  c                     [        [        R                  " S5      [        R                  " SSS5      S.5      n[        UR                  X#US9n[        USSS9  g )Nr  r   rP   r]   )r  r  rr  r#   r  r  )r;   rr  r  x_errr<   rr   s         r=   &test_errorbar_plot_different_yerr_xerr9TestDataFramePlots.test_errorbar_plot_different_yerr_xerr  sF     RYYr]2q"1EFGrwwUTJRaa0r@   c           	      2   [        [        R                  " S5      [        R                  " SSS5      S.5      n[        [        R                  " S5      S-  [        R                  " S5      S-  S.5      n[	        UR
                  SUUSUS9n[        US	S	S
9  g )Nr  r   rP   r]   r  r  T)rC   r  r  rD   rr  rF   r  )r   r3   r   r  r   r9   r   )r;   rr  r<   r  rL   s        r=   /test_errorbar_plot_different_yerr_xerr_subplotsBTestDataFramePlots.test_errorbar_plot_different_yerr_xerr_subplots  s     RYYr]2q"1EFGs!2s9JKL GG
 	T2r@   zIterator is consumed)rZ   rd   c           	          [         R                  " S5      [         R                  " SSS5      S.n[        U5      n[        UR                  [
        R                  " S[        U5      5      S9n[        USSS9  g )	Nr  r   rP   r]   r  r  r#   r  )	r3   r   r   r   r9   	itertoolsrepeatr   r   r  s       r=   test_errorbar_plot_iterator.TestDataFramePlots.test_errorbar_plot_iterator  sY    ))B-biiAr&:;q\ rwwY-=-=c3r7-KLRaa0r@   c                    [        [        R                  " [        R                  R	                  S5      R                  S5      5      5      n[        [        R                  " [        R                  R	                  S5      R                  S5      5      5      n[        UR                  US9n[        USSS9  [        UR                  SSS9n[        USSS9  g )Nr#   ra  r  r   r  rF   )r_   r  	r   r3   absr4   r5   r6   r   r9   r   r;   r<   r  rr   s       r=   'test_errorbar_with_integer_column_names:TestDataFramePlots.test_errorbar_with_integer_column_names  s    rvvbii33A6FFwOPQ266"))"7"7":"J"J7"STUrwwV4Raa0rww!!4Raa0r@   c                 p   [        [        R                  " [        R                  R	                  S5      R                  S5      5      5      n[        [        R                  " [        R                  R	                  S5      R                  S5      5      SS/S9n[        UR                  X1S9n[        USSS9  g )Nr#   rl   ra  r   r   r  r  r  )r;   rr  r<   r  rr   s        r=   'test_errorbar_with_partial_columns_kind:TestDataFramePlots.test_errorbar_with_partial_columns_kind  s     rvvbii33A6FFwOPQFF299((+;;GDEPQSTv
 rwwV?Raa0r@   c                    [        [        R                  " [        R                  R	                  S5      R                  S5      5      5      n[        [        R                  " [        R                  R	                  S5      R                  S5      5      SS/S9n[        SSSS	9nUR                  US
S9  UR                  US
S9  [        UR                  USS9n[        USSS9  g )Nr#   rl   ra  r   r   1/1/2000r%   MEr,   T)inplacerf   r  r  )r   r3   r  r4   r5   r6   r   r   r   r9   r   )r;   r<   r  ixrr   s        r=   &test_errorbar_with_partial_columns_dti9TestDataFramePlots.test_errorbar_with_partial_columns_dti$  s    rvvbii33A6FFwOPQFF299((+;;GDEPQSTv
 
BT:
R&T*rwwV&ARaa0r@   err_boxc                     U $ r0  r  r   s    r=   <lambda>TestDataFramePlots.<lambda>1  s    1r@   c                 (   [         R                  " S5      [         R                  " SSS5      S.n[        U5      nU" [         R                  " S5      S-  [         R                  " S5      S-  S.5      n[	        UR
                  US9n[        USS	S
9  g )Nr  r   rP   r]   r  r  )r^   r   r  rF   r  r  )r;   r   r  r<   errrr   s         r=   &test_errorbar_with_partial_columns_box9TestDataFramePlots.test_errorbar_with_partial_columns_box0  sq     ))B-biiAr&:;q\BGGBK#-BGGBK#4EFGrwwS1Raa0r@   c                    [         R                  " S5      [         R                  " SSS5      S.n[         R                  " S5      S-  [         R                  " S5      S-  S.n[        SSS	S
9n[	        X$S9n[	        X4S9n[        UR                  XaS9n[        USSS9  [        UR                  X1S9n[        USSS9  [        UR                  SUS   US9n[        USSS9  [        UR                  SSUS9n[        USSS9  [        UR                  XaS9n[        USSS9  [        UR                  SUUSS9n[        USSS9  g )Nr  r   rP   r]   r  r  r  z1/1/2001r  )r.   rm   r  r#   r  r_   r^   )r_   r  rr  rF   T)rC   rr  r  rD   )r3   r   r  r   r   r   r9   r   )	r;   rr  r  r  r  tdftdf_errrr   rL   s	            r=   test_errorbar_timeseries+TestDataFramePlots.test_errorbar_timeseries9  s,   ))B-biiAr&:;ggbkC'bggbkC.?@ 
JT:$E,sxxgARaa0sxxe?Raa0sxx3WS\MRaa0sxx3StDRaa0sxxgARaa0 HH
 	T2r@   c                    [         R                  R                  S5      R                  S5      n[        [         R                  " S5      R                  SS5      5      R                  nUR                  XS-  S9nUR                  S   R                  5       S   R                  S S 2S4   nUSS S 2S4   [         R                  " S	S/5      -  n[        R                  " XE5        [        R                  " S
5      n[         R"                  " [$        US9   UR                  UR                  S9  S S S 5        g ! , (       d  f       g = f)Nr#   )r\   r#   rw   r  r\   rw   )r  r  rF   r   rP   zCAsymmetrical error bars should be provided with the shape (3, 2, 5)r`   r  )r3   r4   r5   r   r   reshapeTr9   r7  	get_pathsverticesr   r  r  r  r  rc   rd   r  )r;   r  r<   rr   yerr_0_0expected_0_0rh   s          r=   test_errorbar_asymmetrical-TestDataFramePlots.test_errorbar_asymmetrical[  s    ii##A&--i8 ryy},,Q2355WW#!GW,>>!$..03<<QTB1a7|bhhAw&77
x6iiQ
 ]]:S1GGG 211s   D66
Ec                 "   [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9n[        UR                  SS9  [        UR                  US9  [        R                  " S 5         UR                  5       n[        UR                  5      S:X  d   e[        R                  " X!R                  5        [        UR                  5      S:X  d   e S S S 5        g ! , (       d  f       g = f)	Nr#   rl   r%   rm   T)tabler   rF   )r   r3   r4   r5   r7   ro   rp   r   r9   r  r  r   tablesr   r  r  rq   s      r=   
test_tableTestDataFramePlots.test_tablem  s    II!!!$++G4v++CR01
 	"''."'', ''-Bryy>Q&&&NN2tt$ryy>Q&&&	 .--s   A'D  
Dc                    [        [        R                  " [        R                  R	                  S5      R                  S5      5      [        S5      SS/S9n[        [        R                  " [        R                  R	                  S5      R                  S5      5      S-  [        S5      SS/S9n[        UR                  R                  SSS9n[        USSS	9  [        UR                  R                  SSUS
9n[        USSS	9  [        UR                  R                  SSUS9n[        USSS	9  [        UR                  R                  SSX"S9n[        USSS	9  g )Nr#   )rw   r#   rw   r^   r_   r@  r]   r   r  )r^   r_   r  rF   )r^   r_   r  )r^   r_   r  r  )r   r3   r  r4   r5   r6   r   r   r9   r   r   r  s       r=   test_errorbar_scatter(TestDataFramePlots.test_errorbar_scatter|  s   FF299((+;;FCD(#J

 FF299((+;;FCDqH(#J
 rww#=Raa0rww#6JRaa0rww#6JRaa0rww#6WRaa0r@   c                   ^ SU4S jjn[        [        R                  " [        R                  R	                  S5      R                  S5      5      / SQS9nUR                  R                  SSS	S
SS9m[        TSSS9  U" TR                  SSS9  U" TR                  SSS9  UR                  R                  SSS
SS9m[        TSSS9  U" TR                  SSS9  g )Nhas_xerrc           	      j  >^ / n[        U4S jTR                   5       5      nU H7  n[        U5      (       a  UR                  U5        M&  UR	                  U5        M9     U Vs/ s H  ofTR
                  ;   d  M  UPM     nn[        U[        R                  " U/[        U5      -  5      S9  g s  snf )Nc              3   d   >#    U  H%  n[        UTS 5      (       d  M  UR                  v   M'     g7f)FN)r   r)  )r1  r   has_errs     r=   r4  `TestDataFramePlots.test_errorbar_scatter_color.<locals>._check_errorbar_color.<locals>.<genexpr>  s"     UA'!We:Ts   00r}  )
next
containersr   extendappendr7  r   r3   r   r   )	r%  r  r"  r)  errselr^   	err_linesrr   s	     `     r=   _check_errorbar_colorMTestDataFramePlots.test_errorbar_scatter_color.<locals>._check_errorbar_color  s    EUUUD##LL$LL$	 
 %*AEq"..-@EIA)(c)n9T0UV Bs   %B0<B0r#   )r%   rw   r  r   r   r   r  r  rW  )r^   r_   r  r  r   rF   r  )r"  has_yerrrz  )r^   r_   r  r>  r   )r  )
r   r3   r  r4   r5   r6   r9   r   r   r%  )r;   r+  r<   rr   s      @r=   test_errorbar_scatter_color.TestDataFramePlots.test_errorbar_scatter_color  s    		W FF299((+;;GDE-
 WW__sc#_GRaa0bmmUJGbmmUJGWW__sc7_CRaa0bmmWjIr@   c                     [        / SQSS.5      n[        R                  " [        [        4SS9   UR                  SSSS	S
9  S S S 5        g ! , (       d  f       g = f)Nr   r&   r  z'unknown' is not ar`   r   r   unknownr   )r^   r_   rV  rr  )r   rc   rd   r  KeyErrorr9   r:   s     r=   test_scatter_unknown_colormap0TestDataFramePlots.test_scatter_unknown_colormap  sF    YQ/0]]J19MNGGcS99GE ONNs   A
Ac           	         SS K Jn  UR                  S5        [        5       u  p#[	        / SQ/ SQ/ SQ/ SQS.5      nS nU H  nUR                  SSSUS	S
9  M     UR                  UR                  5       5        U" U5        UR                  S5        [        5       u  p#[        R                  " [        5         UR                  S	US	S9nS S S 5        U" U5        g ! , (       d  f       N= f)Nr   r=  rF   r#   r\   r&   rw   r   r   r   r   r  c                 |   U  H6  n[        UR                  5      S:X  d   e[        UR                  5       SS9  M8     U S   U S   4 H2  n[        UR	                  5       SS9  [        UR	                  SS9SS9  M4     U S   U S   4 H2  n[        UR	                  5       SS9  [        UR	                  SS9SS9  M4     g )	NrF   Tr   r   r#   Fr   r\   )r   r)  r   r  r   rL   rr   s     r=   _check5TestDataFramePlots.test_sharex_and_ax.<locals>._check  s    288})))r113TB  AwQ(r113UCr111=uM ) AwQ(r113TBr111=tL )r@   r   r   r}   T)r^   r_   r}   rr   sharex)rD   rr   r<  )r%  r   close_generate_4_axes_via_gridspecr   r9   tight_layoutr&  r  r  r   r;   r+  gsrL   r<   r:  rr   s          r=   test_sharex_and_ax%TestDataFramePlots.test_sharex_and_ax  s     	(		%02''''	
		M BGGcSBtGD 
	"t		%02''477DT$7?D 5t 54s   9C
C*c                    SS K Jn  [        / SQ/ SQ/ SQ/ SQS.5      n[        5       u  p4U H  nUR	                  SSSUS9  M     UR                  UR                  5       5        U He  n[        UR                  5      S:X  d   e[        UR                  5       S	S
9  [        UR                  5       S	S
9  [        UR                  S	S9S	S
9  Mg     g Nr   r6  r7  r   r   r}   )r^   r_   r}   rr   rF   Tr   r   r%  r   r   r>  r9   r?  r&  r   r)  r   r  r   r;   r+  r<   rA  rL   rr   s         r=   test_sharex_false_and_ax+TestDataFramePlots.test_sharex_false_and_ax  s     	(''''	
 12BGGcSBG7  		"Brxx=A%%%2--/>2--/>2--D-94H	 r@   c           	         SS K Jn  [        5       u  p#[        / SQ/ SQ/ SQ/ SQS.5      nS nU H  nUR	                  SSSUSS	9  M     UR                  UR                  5       5        U" U5        UR                  S
5        [        5       u  p#[        R                  " [        5         UR	                  SUSS9nS S S 5        UR                  UR                  5       5        U" U5        g ! , (       d  f       N6= f)Nr   r6  r7  c                 N   U  HM  n[        UR                  5      S:X  d   e[        UR                  5       SS9  [        UR                  SS9SS9  MO     U S   U S   4 H  n[        UR	                  5       SS9  M     U S   U S   4 H  n[        UR	                  5       SS9  M     g )	NrF   Tr   r   r   r#   r\   F)r   r)  r   r   r  r9  s     r=   r:  5TestDataFramePlots.test_sharey_and_ax.<locals>._check  s    288})))r113TBr111=tL  AwQ(r113TB )AwQ(r113UC )r@   r   r   r}   T)r^   r_   r}   rr   r  r=  )rD   rr   r  )r%  r   r>  r   r9   r?  r&  r=  r  r  r   r@  s          r=   test_sharey_and_ax%TestDataFramePlots.test_sharey_and_ax  s     	(02''''	
	D BGGcSBtGD 
	"t		%02''477DT$7?D 5 		"t	 54s   (C**
C8c                    SS K Jn  [        / SQ/ SQ/ SQ/ SQS.5      n[        5       u  p4U H  nUR	                  SSSUS9  M     UR                  UR                  5       5        U He  n[        UR                  5      S:X  d   e[        UR                  5       S	S
9  [        UR                  5       S	S
9  [        UR                  S	S9S	S
9  Mg     g rE  rF  rG  s         r=   test_sharey_and_ax_tight+TestDataFramePlots.test_sharey_and_ax_tight  s    '''''	
 12BGGcSBG7  		"Brxx=A%%%2--/>2--/>2--D-94H	 r@   c           
         [         R                  " S5        0 nUS;   a  [        [        R                  R                  S5      R                  SS9[        R                  R                  S5      R                  SS9[        R                  " S5      [        R                  R                  S5      R                  SS9-   S.5      nSSS	.nOUS
:X  ad  [        [        R                  R                  S5      R                  S5      [        [        S5      [        S9[        SSSS9S9R                  5       nOU[        [        R                  R                  S5      R                  S5      [        [        S5      [        S9[        SSSS9S9n[        R                  " UR                   " SSU0UD65      n["        R%                  S5        [&        R(                  " 5         U" 5       b   eg)z3Check that every plot type gets properly collected.r  )r   r   r   r#   r  r  r  r   r+   r]   rd  r$   r'   r(   r*   r%   r,   r/   rr  r=  Nr  )rc   r  r   r3   r4   r5   r  r   r6   r   r7   r8   r   r  weakrefrefr9   r+  r=  gccollect)r;   rr  argsr<   rT  s        r=   test_memory_leak#TestDataFramePlots.test_memory_leak4  s    	G$//..q199r9B..q199r9B2)>)>q)A)I)Ir)I)RRB 3'DV^		%%a(88Ad6l&9 rD ce	  		%%a(88Ad6l&9 rDB kk"''4t4t45 			%


u}}r@   c                   ^	^
 SSK Jm	  SS KJm
  [	        [
        R                  R                  S5      R                  S5      [        SSS9S9n[        [
        R                  R                  S5      R                  S5      UR                  [        S	5      S
9nU	U
4S jnU	U
4S jnU" 5       U" 5       4 H  u  pVUR                  US9n[        UR                  5      S:X  d   eUR                  US9n[        UR                  5      S:X  d   eXV4 HJ  n[!        UR#                  5       SS9  [!        UR%                  5       SS9  [!        UR%                  SS9SS9  ML     T
R'                  S5        M     U" 5       U" 5       4 H  u  pVUR                  SXV/S9n[        UR                  5      S:X  d   e[        UR                  5      S:X  d   eU HJ  n[!        UR#                  5       SS9  [!        UR%                  5       SS9  [!        UR%                  SS9SS9  ML     T
R'                  S5        M     U" 5       u  pV[(        R*                  " [,        5         UR                  SXV/SSS9nS S S 5        [        WS   R                  5      S:X  d   e[        US   R                  5      S:X  d   eXV4 H  n[!        UR#                  5       SS9  M     [!        US   R%                  5       SS9  [!        US   R%                  SS9SS9  [!        US   R%                  5       SS9  [!        US   R%                  SS9SS9  T
R'                  S5        U" 5       u  pV[(        R*                  " [,        5         UR                  SXV/SSS9nS S S 5        [        US   R                  5      S:X  d   e[        US   R                  5      S:X  d   e[!        US   R#                  5       SS9  [!        US   R#                  5       SS9  XV4 H2  n[!        UR%                  5       SS9  [!        UR%                  SS9SS9  M4     T
R'                  S5        g ! , (       d  f       GN= f! , (       d  f       N= f)Nr   gridspecr#   r%   r  r-   rm   ra  ABr@  c                     > TR                  SS5      n TR                  5       nUR                  U S S2S S 24   5      nUR                  U SS S 24   5      nX#4$ )Nr\   rF   r#   GridSpecr  r(  rA  r  rz  r{  r\  r+  s       r=   _get_vertical_gridSTestDataFramePlots.test_df_gridspec_patterns_vert_horiz.<locals>._get_vertical_gridi  sW    ""1a(B**,C//"RaRU),C//"QT(+C8Or@   c                     > TR                  SS5      n TR                  5       nUR                  U S S 2S S24   5      nUR                  U S S 2S4   5      nX#4$ )NrF   r\   r#   r`  rb  s       r=   _get_horizontal_gridUTestDataFramePlots.test_df_gridspec_patterns_vert_horiz.<locals>._get_horizontal_gridp  sW    ""1a(B**,C//"QU),C//"QT(+C8Or@   rr   rF   Tr   r   r=  r   rD   rr   r<  r  Fr   r\  r%  r   r
   r3   r4   r5   r6   r   r   r1   r7   r9   r   r)  r   r  r   r=  r  r  r   )r;   tsr<   rc  rf  rz  r{  rr   rL   r\  r+  s            @@r=   $test_df_gridspec_patterns_vert_horiz7TestDataFramePlots.test_df_gridspec_patterns_vert_horizY  s   ''II!!!$44R8Z4

 II!!!$44W=((J
		 ,-/C/EFHC''S'/Csyy>Q&&&''S'/Csyy>Q&&&jr113TBr113TBr111=tL ! IIe G ,-/C/EFHC77DcZ78Dsyy>Q&&&syy>Q&&&r113TBr113TBr111=tL  IIe G &'''477DcZT7RD 547==!Q&&&47==!Q&&&*B2--/>  	tAw..0%@tAw..T.:EJtAw..0$?tAw..T.:DI		% ()''477DcZT7RD 547==!Q&&&47==!Q&&&tAw..0$?tAw..0%@*B2--/>2--D-94H  			%7 54  54s   Q,Q
Q
Q%c                   ^^ SSK Jm  SS KJm  [	        [
        R                  R                  S5      R                  S5      [        SSS9S9nUU4S jnU" 5       n[        [
        R                  R                  S5      R                  S	5      UR                  [        S
5      S9nUR                  SUS9nU He  n[        UR                  5      S:X  d   e[!        UR#                  5       SS9  [!        UR%                  5       SS9  [!        UR%                  SS9SS9  Mg     TR'                  S5        U" 5       n[(        R*                  " [,        5         UR                  SUSSS9nS S S 5        U H  n[        UR                  5      S:X  a  M   e   US   US   4 H  n[!        UR#                  5       SS9  M     US   US   4 H  n[!        UR#                  5       SS9  M     US   US   4 H2  n[!        UR%                  5       SS9  [!        UR%                  SS9SS9  M4     US   US   4 H2  n[!        UR%                  5       SS9  [!        UR%                  SS9SS9  M4     TR'                  S5        g ! , (       d  f       GN= f)Nr   r[  r#   r%   r  r]  rm   c                    > TR                  SS5      n TR                  5       nUR                  U S S2S S24   5      nUR                  U S S2S4   5      nUR                  U SS S24   5      nUR                  U S   5      nX#XE4$ )Nr\   r#   rQ   r`  )rA  r  rz  r{  ax3ax4r\  r+  s         r=   _get_boxed_gridKTestDataFramePlots.test_df_gridspec_patterns_boxed.<locals>._get_boxed_grid  s    ""1a(B**,C//"RaR!V*-C//"RaRU),C//"QU),C//"T(+CS%%r@   r$   r'   r@  Tr   rF   r   r   r=  ri  r\   Frj  )r;   rk  rr  rL   r<   rr   r\  r+  s         @@r=   test_df_gridspec_patterns_boxed2TestDataFramePlots.test_df_gridspec_patterns_boxed  sB   ''II!!!$44R8Z4
	&  II!!!$44W=((L

 www.Brxx=A%%%2--/>2--/>2--D-94H  			%  ''477DT$t7LD 5Brxx=A%%% 7DG$B2--/> %7DG$B2--/? %7DG$B2--/?2--D-95I % 7DG$B2--/>2--D-94H % 			% 54s   I55
Jc                 p    [        [        / SQ/ SQS.5      [        R                  R                  SSS.S9  g )Nr   r!  r  r   r   r]   )kws)r   r   r   PlotAccessor_dataframe_kinds)r;   s    r=   test_df_grid_settings(TestDataFramePlots.test_df_grid_settings  s.    II67!!22$	
r@   c                     [         R                  R                  5       u  pUR                  / SQ5        [	        [
        R                  R                  S5      R                  S5      5      R                  US9  g )N)r  r  r  r  r#   r%   rh  )	r   r   rD   add_axesr
   r3   r4   r5   r9   )r;   r  rr   s      r=   test_plain_axes"TestDataFramePlots.test_plain_axes  sU     **%%')*ryy$$Q'..r2388B8?r@   c           	      V   [        [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      S.5      n[
        R                  R                  5       nUR                  S5      nUR                  SUSSSSS	9  g )
Nr#   r   r  )r   r   rF   rF   r   r   r   hsv)rr  rr   r^   r_   r   rP  )
r   r3   r4   r5   r6   r   r   r  r}  r9   )r;   r<   r  rr   s       r=   test_plain_axes_df%TestDataFramePlots.test_plain_axes_df  s     YY**1-==a@YY**1-==a@
 jj!\\,'
Y2sGr@   c                    [         R                  R                  5       u  pSSKJn  U" U5      nUR                  SSSS9n[        [        R                  R                  S5      R                  S5      5      R                  US	9  [        [        R                  R                  S5      R                  S5      5      R                  US	9  g )
Nr   )make_axes_locatablerg  z5%g?)rN  padr#   r%   rh  )r   r   rD   mpl_toolkits.axes_grid1r  append_axesr
   r3   r4   r5   r9   )r;   r  rr   r  dividercaxs         r=   #test_plain_axes_make_axes_locatable6TestDataFramePlots.test_plain_axes_make_axes_locatable  s    **%%'?%b)!!'$!?ryy$$Q'..r2388B8?ryy$$Q'..r2388C8@r@   c                 r   [         R                  R                  5       u  pSSKJn  U" USSSS9n[        [        R                  R                  S5      R                  S5      5      R                  US	9  [        [        R                  R                  S5      R                  S5      5      R                  US	9  g )
Nr   )
inset_axesz30%rP  r\   )r  r  r  r#   r%   rh  )
r   r   rD   %mpl_toolkits.axes_grid1.inset_locatorr  r
   r3   r4   r5   r9   )r;   r  rr   r  iaxs        r=   test_plain_axes_make_inset_axes2TestDataFramePlots.test_plain_axes_make_inset_axes	  s    **%%'D5!<ryy$$Q'..r2388B8?ryy$$Q'..r2388C8@r@   method)rf   r  r   c                 0   [        [        R                  R                  S5      R	                  S5      [        S5      S9R                  S S9R                  S S9nS	nS
S/nXCSS.n[        UR                  U5      " S0 UD6n[        UR                  US9  g )Nr#   )r  r#   r^  r   c                 6    U R                   R                  5       $ r0  )r+   r  r<   s    r=   r  BTestDataFramePlots.test_secondary_axis_font_size.<locals>.<lambda>	  s    r@   r   c                      U R                   S-  $ )Ng?r  r  s    r=   r  r  	  s    r@   )r   r  r   r   T)r  r  
mark_right)rL   r  r  )r   r3   r4   r5   r6   r7   assignr   r9   r   r  )r;   r  r<   r  ro  ru   rr   s          r=   test_secondary_axis_font_size0TestDataFramePlots.test_secondary_axis_font_size	  s     		%%a(88A4PT: V.V/V+V, 	 3Z!#NRWWf%//Ar@   c                 n   [        / SQ/ SQ/ SQS.5      nUR                  R                  SS9nUR                  SS5        UR	                  5        Vs/ s H  o3R                  5       PM     nn[        [        XBR                  5       5      5      nUS	   S
:X  d   eUS   S:X  d   eUS   S:X  d   eg s  snf )N)r\   r#   r\   )r  *      )MondayTuesday	Wednesday)salesvisitsdayr  r   rP   r\   r  rO  r  rP  r  rQ  )	r   r9   rd  set_xlimr   r<  r  r   
get_xticks)r;   r<   rr   txticklabelslabels_positions         r=   test_x_string_values_ticks-TestDataFramePlots.test_x_string_values_ticks!	  s     "&9
 WW\\E\"
B-/-?-?-AB-Azz|-ABs;@Ax(C///y)S000{+s222 Cs   B2c                    [         R                  " SS/SS//5      n[        [        R                  R                  S5      R                  S5      SS/US9nUR                  5       nUR                  S	S
5        UR                  5        Vs/ s H  oDR                  5       PM     nn[        [        XSR                  5       5      5      nUS   S:X  d   eUS   S:X  d   eUS   S:X  d   eUS   S:X  d   eg s  snf )NrG  i  rF   r#   r  r   r+   r/   rP   r&   z	(2012, 1)rO  z	(2012, 2)rP  z	(2013, 1)rQ  z	(2013, 2)rR  )r   from_productr   r3   r4   r5   r6   r9   r  r   r<  r  r   r  )r;   r1   r<   rr   r  r  r  s          r=   test_x_multiindex_values_ticks1TestDataFramePlots.test_x_multiindex_values_ticks4	  s     ''$1v(>?II!!!$44V<#J

 WWY
B-/-?-?-AB-Azz|-ABs;@A{+s222{+s222{+s222{+s222 Cs   
C4c                     [        SS/SS/S9nUR                  US9nUR                  5       nUS   S:  d   eUS   S:  d   eg )Nr#   r&   rF   rm   r  r   )r   r9   rT  )r;   rr  r<   rr   xlimss        r=   test_xlim_plot_line&TestDataFramePlots.test_xlim_plot_lineG	  sS     1vaV,WW$WQx!||Qx!||r@   c                    [         R                  R                  5       u  p/ SQn[        / SQ/ SQ/ SQ/ SQS.US9nU/ SQ   R                  R                  US	S
9  US/   R	                  USS9  UR                  5       nUS   S:  d   eUS   S:  d   eUR                  5        Vs/ s H  ofR                  5       PM     nnXs:X  d   eg s  snf )N)k1k2k3k4)i  r>    r>  )i  ix  r>  i  )r  r  i@  i  )rF   r\   r&   r\   )s1s2s3r  rm   )r  r  r  F)rr   rx  r  T)rr   r  r   rF   r\   )	r   r   rD   r   r9   r   rT  r   r<  )r;   r  rr   indexesr<   r  r  r  s           r=   0test_xlim_plot_line_correctly_in_mixed_plot_typeCTestDataFramePlots.test_xlim_plot_line_correctly_in_mixed_plot_typeQ	  s     **%%'*.-.+	 
 	##''2u'=
M?  BD 9Qx!||Qx!|| .0-?-?-AB-Azz|-AB%%% Cs   'C
c                 H   [        S/[        S9nUR                  (       d   eUR                  5       n[	        UR                  5       5      S:X  d   eUR                  5       S   n[	        UR                  5       5      S:X  d   e[	        UR                  5       5      S:X  d   eg )Nfoo)r0   r)   rF   r   )r   intemptyr9   r   r   r'  r  )r;   r<   rr   rf   s       r=   test_plot_no_rows$TestDataFramePlots.test_plot_no_rowsk	  s    wc2xxxWWY2<<>"a'''||~a 4>>#$)))4>>#$)))r@   c                     [        / SQ5      n[        R                  " [        SS9   UR	                  5         S S S 5        g ! , (       d  f       g = f)Nr   r\  r`   )r   rc   rd   r  r9   r:   s     r=   test_plot_no_numeric_data,TestDataFramePlots.test_plot_no_numeric_datau	  s1    ']]9,EFGGI GFFs   A
A)rf   r   r  r   r  r  rd  r   c                 "   [         R                  " S5        [        R                  " S5      [        R                  " S5      S-   [        R                  " S5      S-   [        R                  " S5      [        R                  " S5      S.n[	        U5      nUR                  SS/US9n[        U5      S:X  d   eS	S
/SS/S/4n[        XE5       H@  u  pgUS:w  a	  [        XgS9  US:X  d  M  [        UR                  5      [        U5      :X  a  M@   e   g )Nr  r%   rF   r  )r   r  )r   r  rD   rr  r\   r   r  r   r  r   r   r  rf   )
rc   r  r3   r   r   r9   r   r   r   r)  )r;   rr  r  r<   rL   r  rr   r  s           r=   test_group_subplot%TestDataFramePlots.test_group_subplotz	  s     	G$22"2"22
 q\wwZ 8twD4yA~~:SzC59d4JBu}$R7v~288}F333	 5r@   c                     [        [        S5      5      nSn[        R                  " [        US9   UR                  S/S9  S S S 5        g ! , (       d  f       g = f)NrF   z!An iterable subplots for a Seriesr`   r   rD   )r
   r   rc   rd   NotImplementedErrorr9   )r;   serrh   s      r=   (test_group_subplot_series_notimplemented;TestDataFramePlots.test_group_subplot_series_notimplemented	  s@    U1X1]].c:HHvhH' ;::s   A


Ac                     [        [        R                  " S5      [        R                  " SS/5      S9nSn[
        R                  " [        US9   UR                  S/S9  S S S 5        g ! , (       d  f       g = f)Nr#   r  r  r   z6An iterable subplots for a DataFrame with a MultiIndexr`   r  )	r   r3   eyer   r   rc   rd   r  r9   rg   s      r=   ,test_group_subplot_multiindex_notimplemented?TestDataFramePlots.test_group_subplot_multiindex_notimplemented	  sV    rvvay**@*@&&AQ*RSF]].c:GGfXG& ;::s   A**
A8c                     [        [        R                  " S5      SS/S9nSn[        R                  " [
        US9   UR                  S/S9  S S S 5        g ! , (       d  f       g = f)Nr#   r   r   z4An iterable subplots for a DataFrame with non-uniquer`   r  r  )r   r3   r  rc   rd   r  r9   rg   s      r=   0test_group_subplot_nonunique_cols_notimplementedCTestDataFramePlots.test_group_subplot_nonunique_cols_notimplemented	  sJ    rvvay3*5D]].c:GGfXG& ;::s   A
A$zsubplots, expected_msg)){   z(subplots should be a bool or an iterable)r   !each entry should be a list/tuple))rF   r  )r  r  c                     [         R                  " S5      [         R                  " S5      S.n[        U5      n[        R                  " [
        US9   UR                  US9  S S S 5        g ! , (       d  f       g = f)Nr%   r  r`   r  r3   r   r   rc   rd   r  r9   )r;   rD   expected_msgr  r<   s        r=   test_group_subplot_bad_input/TestDataFramePlots.test_group_subplot_bad_input	  sO     ))B-biim4q\]]:\:GGXG& ;::s   A++
A9c                    [         R                  " S5      [         R                  " S5      S.n[        U5      n[        [         R                  5      [        S5      :  a3  [
        R                  " [        SS9   UR                  S/S9  S S S 5        g [
        R                  " [        SS9   UR                  S/S9  S S S 5        g ! , (       d  f       g = f! , (       d  f       g = f)	Nr%   r  z2.0.0z Column label\(s\) \['bad_name'\]r`   )r   bad_namer  z-Column label\(s\) \[np\.str\_\('bad_name'\)\])	r3   r   r   r   __version__rc   rd   r  r9   r  s      r=   &test_group_subplot_invalid_column_name9TestDataFramePlots.test_group_subplot_invalid_column_name	  s    ))B-biim4q\2>>"WW%55z1TU"3!45 VU "R "3!45  VU s   8C+C
C
C$c                 &   [         R                  " S5      [         R                  " S5      [         R                  " S5      S.n[        U5      n[        R                  " [
        SS9   UR                  SS/S9  S S S 5        g ! , (       d  f       g = f)Nr%   r   zshould be in only one subplotr`   r  )r   r   r  r  r  s      r=   $test_group_subplot_duplicated_column7TestDataFramePlots.test_group_subplot_duplicated_column	  s^    ))B-biim"))B-Hq\]]:-LMGGj*5G6 NMMs   'B
B)r  r   r   c                     [         R                  " S5      [         R                  " S5      S.n[        U5      n[        R                  " [
        SS9   UR                  S/US9  S S S 5        g ! , (       d  f       g = f)Nr%   r  z1When subplots is an iterable, kind must be one ofr`   r  r  )r;   rr  r  r<   s       r=   test_group_subplot_invalid_kind2TestDataFramePlots.test_group_subplot_invalid_kind	  s[    ))B-biim4q\]]Q
 GGj\G5
 
 
s   A--
A;z index_name, old_label, new_label)Nr/  new)oldr  r  )Nr/  r/  )Nr/  rF   r/  )rf   rd  r   c                 Z   [        SS/SS//SS/S9nX%R                  l        UR                  US9nUR	                  5       U:X  d   eUR                  5       S:X  d   eUR                  XUS	9nUR                  5       [        U5      :X  d   eUR	                  5       [        U5      :X  d   eg )
NrF   r#   rw   Type AType Br   r  r/  )rr  r  xlabel)r   r1   r   r9   
get_xlabelrQ  str)r;   rr  
index_name	old_label	new_labelr<   rr   s          r=   (test_xlabel_ylabel_dataframe_single_plot;TestDataFramePlots.test_xlabel_ylabel_dataframe_single_plot	  s     AA'(H1EF" WW$W}})+++}}"$$$ WW$WC}}#i.000}}#i.000r@   zxlabel, ylabel))NN)X LabelN)NY Label)r  r  c                     SnSn[        SS/SS//XE/S9nUR                  XXRUS9nUR                  5       Uc  UOU:X  d   eUR                  5       Uc  UOU:X  d   eg )Nr  r  rF   r#   rw   r   )rr  r^   r_   r  r  )r   r9   r  rQ  )r;   rr  r  r  xcolycolr<   rr   s           r=   'test_xlabel_ylabel_dataframe_plane_plot:TestDataFramePlots.test_xlabel_ylabel_dataframe_plane_plot	  ss     AA'$> WW$$fWM}}6>4vFFF}}6>4vFFFr@   )FTc                 D   [        S/5      R                  USSS/S9nUR                  R                   Hi  nUR                  R                  5       (       d  M$  UR                  5       S:X  d   eUR                  5       S:X  d   eUR                  5       S   S:X  a  Mi   e   g )Nr   r  )r   ry   rF  )r  r  rz   rv   )	r   r9   r  rL   r  get_visiblerQ  r  
get_yticks)r;   r  ax_dfrr   s       r=   test_secondary_y#TestDataFramePlots.test_secondary_y
  s    1####Cht $ 
 ,,##Bxx##%%}}#---{{}000}}q)R///	 $r@   c           
      b   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        R                  " S
5         UR                  5       nUR                  R                  5       nS S S 5        g ! , (       d  f       g = f)Nr#   r$   r'   r(   r*   r%   r+   r,   r/   F)r   r3   r4   r5   r6   r   r7   r8   r   r  r  r9   r  )r;   r<   r   s      r=   test_plot_no_warning'TestDataFramePlots.test_plot_no_warning
  s{     II!!!$44W=$v,f5\2C@

 ''.	A		A /..s   ,+B  
B.r  )NNNN)__name__
__module____qualname____firstlineno__rc   markslowr>   rM   rR   rX   xfailri   rs   parametrizer   r   r   r   r   r   r   r7   r   r   r   r   r   r   r   r   r  r  r!  r*  r.  r3  r7  r:  rB  r3   rH  r  rL  r   r   r[  r^  re  rp  r|  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   CategoricalIndexr  r  r  r  r  r  paramtd
skip_if_nor#  rE  rH  rR  r[  rd  rj  rp  rz  r  r  r  r  r  r  r  r  filterwarningsr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r,  r2  rD  rO  r   rx  _common_kindsrU  rX  r^  rb  rf  rm  rq  ru  r  r  r  r  stdr  r  r  r  r  r  r  r  r  r  r  r  r  r
   r  r  r  r  r  r  r  r  r  r  r  r  r  r.  r3  rB  rH  rM  rP  
_all_kindsrX  rl  rt  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  __static_attributes__r  r@   r=   r    r    7   s   [[/ / [[; ; [[; ; [[; ; [[45[[%  6% [[' ' [[[[z"z" +6!tfE		
- - [[+ +. [[1 1 [[' ' [[3 32 [[[[Xg7; 8 ; [[! ! [[']C%3Zc"3Zc"3Zc"3Zc"3Zc"3Zc"	
33 [[[[V%CD1 E 1 [[[[RLBKRLS#Jc,-Ss+,	

<
 <(
6'1
0	N [[!M3D#E//  [[],FG
> H
>	(
(N,'
  [[]RXXrzz,BC
A D
A [[s019MNsCc3<=Cc2663<	
	9	99
&2 [[Vff%56[[VaW-; . 7; [[Vff%56C 7C(  [[Vff%56H 7H [[a*[sAFGYY$ [[a*[sAFG
T
T [[a*[sAFG [[XY,>'?@H AH& [[X]D,A'BC2 D2
6 [[.  
 [[Yu6 7&	0 [[Yu6* 7*. [[*,BC [[Yu6
2 7
2 [[*,BC22.)
%"	" [[UUB,?,?$@A. B., [[Vj&%9:5 ;5#;6 [[V&7%@A5 B5 [[Ty9Q RS [[Vj&%9:[[Wy/&BC9 D ;
9 [[Yu6[[	.0UVU	 7
U4 [[V%IJ5 K5 [[Y)(DEA FA8&D.Y.
; [[[[u!t4		
1 1 [[' ' [[F F [[F F
6+6	6 [[ <=& >&"62 [[],DE4 F4'D	;,/, 2
<=@ [[C"''//rwwX7N1NOQQ* U. [[ YYrxx8"((CS:TUYYrxx8"((?:STYYrxx8"((CS:TU YYHHbffaAq!45rxx@S7T YYHHaAq!45rxx@R7S YYHHaArvvq!45rxx@S7T
	
*j
+*j
X0 [[$#J		
	5	5? [[	
77R. [[VX%:%:%H%HI! J! [[Vi%:;) <) [[VX%:%:%H%HI J [[X**889VHD. [[3Zc"US#Jc
+	
))< [[UZ3%$>? @ [[3%#(3*sCj5&/:A(+gx-@A	
99 [[^q!c3Z.@1a!Q.-QR- S-(;  [[Z$8
( 9
( [[L+&4fv&	
	7	7 [[S3(+/ ,/-"=*44 [[[[TN4(t	
1 1 [[1 1 [[1 1 [[[[Vfh%78	1 9 	1 [[G G [[! ! [[[[V%<=[[2772;$3/BGGBK#-BGGBK#4EFG	
1 > 1 [[[[V%<=[[ c 1c8IJKc 1c8IJK BGGBK#%C0&s9JQT2UV	

1
 > 1
 [[[[V%<=3 > 3 [[4ZH1 I11 [[[[Vfe_51 6 1 [[	1 	1 [[[[Yi(@A1 B 1 [[V%<=3 >3B $'1,J4F&PI4&PI0 [[VX%:%:%E%EF" G"HQf3j
@HAA [[X'>?B @B"3&3& [[Vff%56 7&4*
 [[P44*('' [[ 	
''67 [[V%AB6 C6 [[*!21v	
	 [[V%<=1 >	1" [[	
 [[Vi%:;	G <	G [[]M:0 ;0 [[
 
r@   r    c                      SS K Jn   [        R                  R	                  SS5      nU R                  US   5      nU R                  US   5      nU R                  US   5      nU R                  US   5      nXX4U/4$ )Nr   r#   r  )rF   r   r  r   )r%  r   r   r\  ra  subplot)r+  rA  ax_tlax_llax_trax_lrs         r=   r>  r>  
  ss    #			q!	$BKK4!EKK4!EKK4!EKK4!EuU+++r@   )6__doc__r   r   rU  r  r  ro   rS  numpyr3   rc   pandas.util._test_decoratorsutil_test_decoratorsr  pandas.core.dtypes.apir   pandasr   r   r   r   r	   r
   r   r   r   r   pandas._testing_testingr  pandas.tests.plotting.commonr   r   r   r   r   r   r   r   r   r   r   r   r   pandas.util.versionr   pandas.io.formats.printingr   r  r   r+  r    r>  r  r@   r=   <module>r/     s    % 
  	     ) ) / 
 
 
     ( 3,'-.d' d'NO	,r@   