
    jzs                         S r SSKrSSKrSSKrSSKJr  SSKrSSK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  SSKJr  SSKJr  \R4                  " S5      r\R4                  " S	5      r " S
 S5      rg)zTest cases for DataFrame.plot    N)is_platform_linux)	DataFrameSeries
date_range)_check_axes_shape_check_box_return_type_check_legend_labels_check_ticks_props_check_visible_flatten_visible)Version)pprint_thing
matplotlibzmatplotlib.pyplotc                   	   \ rS rSr\R
                  R                  \R
                  R                  S/ SQ5      S 5       5       r\R
                  R                  \R
                  R                  S/ SQ5      S 5       5       r	\R
                  R                  \R
                  R                  S/ SQ5      S 5       5       r
\R
                  R                  SSS/5      S	 5       r\R
                  R                  SSS/5      S
 5       r\R
                  R                  S/ SQ5      S 5       rS r\R
                  R                  SS9S 5       r\R
                  R                  SSS/SS/SS/SS/SS/SS//5      S 5       rS r\R
                  R                  S0 SSS4S S!0SS!S!4/5      S" 5       r\R
                  R                  \R
                  R                  S#\" S$5      \" S%S$S&9/5      S' 5       5       rS( rS) r\R
                  R                  SS*S/SS/SS//5      S+ 5       rS, rS- rS. rS/ rS0 rS1 r\R
                  R                  \ " 5       S2S3S49S5 5       r!\R
                  R                  \ " 5       S2S3S49S6 5       r"S7 r#\R
                  R                  S8/ S9Q5      S: 5       r$S; r%S< r&S= r'S> r(S? r)\R
                  R                  S@SASBSCSDSESFSSG/4/5      \R
                  R                  S/ SHQ5      SI 5       5       r*\R
                  R                  SJSKSLSM.SKSLSNSO.SPSLSM.SPSLSNSO.SKS3SM.SKS3SNSO.SPS3SM.SPS3SNSO.SKSLSQ.SKSLSNSR.SPSLSQ.SPSLSNSR.SKSLSSST.SKSLSNSSSU.SPSLSSST.SPSLSNSSSU.SKS3SSST.SKS3SNSSSU.SPS3SSST.SPS3SNSSSU.SKSLSSSV.SKSLSNSSSW.SPSLSSSV.SPSLSNSSSW./5      SX 5       r+\R
                  R                  SJSKS3SM.SKSLSM.SPS3SM.SPSLSM.SKSLSQ.SPSLSQ./5      SY 5       r,\R
                  R                  SJSKS3SM.SKSLSM.SPS3SM.SPSLSM.SKSLSQ.SPSLSQ./5      SZ 5       r-\R
                  R                  S[SS\/5      S] 5       r.\R
                  R                  S^SKS_SL0/SPS_S30/SPS_SL0/SKS`SL0/SPS`SL0//5      Sa 5       r/      SdSb jr0Scr1gE)eTestDataFramePlotsSubplots!   kind)barbarhlineareac                    [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9nUR                  USSSS9n[        USSS	9  UR                  S
:X  d   e[        X2R                  SS9 H  u  pE[        U[        U5      /S9  M     US S  H  n[        UR                  5        [        UR!                  5       SS9  US:w  a  [        UR!                  SS9SS9  [        UR                  R#                  5       SS9  [        UR%                  5       5        M     [        US   R                  5        [        US   R!                  5       5        [        US   R!                  SS95        [        US   R                  R#                  5       5        [        US   R%                  5       5        g )N   
      r   indexT)r   subplotssharexlegendr   r      axes_numlayoutr   )strictlabelsFvisibler   minor)r   nprandomdefault_rngliststringascii_lettersplotr   shapezipcolumnsr	   r   r   xaxisget_xticklabels	get_labelget_yticklabels)selfr   dfaxesaxcolumns         g/var/www/html/KUNJ/venv/lib/python3.13/site-packages/pandas/tests/plotting/frame/test_frame_subplots.pytest_subplots(TestDataFramePlotsSubplots.test_subplots"   s    II!!!$++G4v++CR01

 wwD4TwJ$6:zzT!!!dJJt<JB \&-A,BC = s)B288$2--/?u}r111=uM288--/?2--/0  	tBx~~&tBx//12tBx//d/;<tBx~~//12tBx//12    c                    [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9nUR                  USSS9nU H  n[        UR                  5        [        UR                  5       5        [        UR                  SS95        [        UR                  R                  5       5        [        UR                  5       5        M     g )	Nr   r   r   r   TFr   r   r    r.   )r   r1   r2   r3   r4   r5   r6   r7   r   r;   r<   r=   r>   r?   r   r@   rA   rB   s        rD   test_subplots_no_share_x3TestDataFramePlotsSubplots.test_subplots_no_share_x@   s     II!!!$++G4v++CR01
 wwD4w>B288$2--/02--D-9:288--/02--/0 rG   c                     [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9nUR                  USSS9nU H  nUR                  5       c  M   e   g )Nr   r   r   r   TF)r   r   r!   )	r   r1   r2   r3   r4   r5   r6   r7   
get_legendrJ   s        rD   test_subplots_no_legend2TestDataFramePlotsSubplots.test_subplots_no_legendO   sr     II!!!$++G4v++CR01
 wwD4w>B==?*** rG   r   r   c                 
   [        SSSS9n[        [        R                  R	                  S5      R                  S5      US9nUR                  USSS	9n[        US
SS9  US S  H  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  [        UR                  5       5        M     [        US   R                  5        [        US   R                  5       5        [        US   R                  SS95        [        US   R                  R                  5       5        [        US   R                  5       5        [        USS9  g )N
2014-07-01MEr   startfreqperiodsr   r   r   TrI   r   r"   r$   r+   Fr,   r.   r0   r   )xrot)r   r   r1   r2   r3   r7   r   r   r;   r<   r=   r>   r
   r?   r   idxr@   rA   rB   s         rD   test_subplots_timeseries3TestDataFramePlotsSubplots.test_subplots_timeseriesZ   s>   |$Cryy,,Q/66w?sKwwD4w=$6:s)B288$2--/?2--D-95I288--/?2--/0  	tBx~~&tBx//12tBx//d/;<tBx~~//12tBx//124a(rG   c                    [        SSSS9n[        [        R                  R	                  S5      R                  S5      US9nUR                  USS	S
SS9nU H  n[        UR                  5        [        UR                  5       5        [        UR                  SS95        [        UR                  R                  5       5        [        UR                  5       5        [        USS
SS9  M     g )NrR   rS   r   rT   r   r   r   TF-      )r   r   r    rotfontsizer.   )
xlabelsizerX   
ylabelsize)r   r   r1   r2   r3   r7   r   r;   r<   r=   r>   r
   rY   s         rD   test_subplots_timeseries_rot7TestDataFramePlotsSubplots.test_subplots_timeseries_rotq   s    |$Cryy,,Q/66w?sKwwD42PQwRB288$2--/02--D-9:288--/02--/0rabQG rG   col)numeric	timedeltadatetime_no_tzdatetime_all_tzc           
      |   [         R                  " / SQ5      [        R                  " SSS9[        R                  " SSS9[        R                  " SSS9/[        R                  " S5      [        R                  " S	5      [        R                  " S
5      /[        R                  " SSS9[        R                  " S	SS9[        R                  " S
SS9// SQS.n[        U5      nUR                  US9nUR                  5       S   R                  5       S   nX1   R                  nXV:H  R                  5       (       d   eg )Nr#   r      is)unitr   mh2017-08-01 00:00:002017-08-01 02:00:002017-08-02 00:00:00TutcThisshouldfail)rg   rh   ri   rj   textyr   r#   )r1   arraypd	Timedeltato_datetimer   r7   	get_linesget_datavaluesall)r?   rf   datatestdatarB   resultexpecteds          rD   test_subplots_timeseries_y_axis:TestDataFramePlotsSubplots.test_subplots_timeseries_y_axis~   s    xx	*Ss+Rc*Rc* 454545 4$?4$?4$? 
 /#
& T?]]S]!"++-a0=''"''))))rG   c                     [         R                  " / SQ5      / SQS.n[        U5      nSn[        R                  " [
        US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)Nrl   rw   )rg   r{   zno numeric data to plotmatchr{   r|   )r1   r~   r   pytestraises	TypeErrorr7   )r?   r   r   msgs       rD   %test_subplots_timeseries_y_text_error@TestDataFramePlotsSubplots.test_subplots_timeseries_y_text_error   sR     xx	*.
 T?']]9C0MMFM# 100s   A
A+z6not support for period, categorical, datetime_mixed_tz)reasonc                    [         R                  " / SQ5      [        R                  " SSS9[        R                  " SSS9[        R                  " SSS9/[        R                  " / SQ/ SQS	S
9[        R
                  " SSS9[        R
                  " S5      [        R
                  " S5      /S.n[        U5      nUR                  SSS9nUR                  5       S   R                  5       S   US   R                  :H  R                  5       (       d   eUR                  SSS9nUR                  5       S   R                  5       S   US   R                  :H  R                  5       (       d   eUR                  SSS9nUR                  5       S   R                  5       S   US   R                  :H  R                  5       (       d   eg)aY  
This test will fail for:
    period:
        since period isn't yet implemented in ``select_dtypes``
        and because it will need a custom value converter +
        tick formatter (as was done for x-axis plots)

    categorical:
         because it will need a custom value converter +
         tick formatter (also doesn't work for x-axis, as of now)

    datetime_mixed_tz:
        because of the way how pandas handles ``Series`` of
        ``datetime`` objects with different timezone,
        generally converting ``datetime`` objects in a tz-aware
        form could help with this problem
rl   rr   rq   )rV   z2017-08-01 02:00rt   )cba)r   r   r   F)
categoriesorderedTru   rs   )rg   periodcategoricaldatetime_mixed_tzrg   r   )xr}   r   r#   r   r   N)r1   r~   r   PeriodCategoricalr   r   r7   r   r   r   r   )r?   r   r   	ax_periodax_categoricalax_datetime_mixed_tzs         rD   -test_subplots_timeseries_y_axis_not_supportedHTestDataFramePlotsSubplots.test_subplots_timeseries_y_axis_not_supported   s   ( xx	*		/c:		,37		/c:
 >>OU 4$?4545"
  T?MMIM:	!!$--/2hx6H6O6OO
#% 	  "mD$$&q)224Q7&--.
#% 	   (}}y<O}P **,Q/88:1=+,334
#% 	 rG   zlayout, exp_layout)r   r   )r0   r   )r   r0   )r#      )r0   r   )r   r0   )r   r#   c                     [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9nUR                  SUS9n[        USUS9  UR                  U:X  d   eg )	Nr   r   r   r   Tr   r&   r   r$   
r   r1   r2   r3   r4   r5   r6   r7   r   r8   )r?   r&   
exp_layoutr@   rA   s        rD   !test_subplots_layout_multi_column<TestDataFramePlotsSubplots.test_subplots_layout_multi_column   sr     II!!!$++G4v++CR01

 wwVw4$:>zzZ'''rG   c                    [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9nSn[        R                  " [        US9   UR                  SSS	9  S S S 5        S
n[        R                  " [        US9   UR                  SSS	9  S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nr   r   r   r   z1Layout of 1x1 must be larger than required size 3r   Tr#   r#   r   z1At least one dimension of layout must be positive)r0   r0   )r   r1   r2   r3   r4   r5   r6   r   r   
ValueErrorr7   )r?   r@   r   s      rD   'test_subplots_layout_multi_column_errorBTestDataFramePlotsSubplots.test_subplots_layout_multi_column_error   s    II!!!$++G4v++CR01
 B]]:S1GGT&G1 2 B]]:S1GGT(G3 21	 21 21s   ,B: C:
C
Cz:kwargs, expected_axes_num, expected_layout, expected_shaper#   r   r#   r&   )r   r   c                    [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9nUR                  " SSS0UD6n[        UUUS9  UR                  U:X  d   eg )	Nr   r   r#   r   r   r   Tr$    r   )r?   kwargsexpected_axes_numexpected_layoutexpected_shaper@   rA   s          rD   "test_subplots_layout_single_column=TestDataFramePlotsSubplots.test_subplots_layout_single_column   s}     II!!!$++G4v++CR01
 ww///&"	

 zz^+++rG   rZ   rm   1/1/2000rW   c                     [         R                  " S 5         [        [        R                  R                  S5      R                  S5      US9nUR                  SSS9  S S S 5        g ! , (       d  f       g = f)Nr   )rm   r   r   T)r   r   r   )tmassert_produces_warningr   r1   r2   r3   standard_normalr7   )r?   rZ   r@   s      rD   test_subplots_warnings1TestDataFramePlotsSubplots.test_subplots_warnings  sU     ''-299003CCFKSVWBGGT&G1 .--s   AA''
A5c                    [         R                  R                  SS5      u  p[        [        R
                  R                  S5      R                  S5      [        [        R                  S S 5      S9nUR                  SUS   SSS	9n[        USS
S9  UR                  S:X  d   eUS   R                  UL d   eUR                  SUS   SSS	9n[        USS
S9  UR                  S:X  d   eUS   R                  UL d   e[        USSS9  g )Nr   r   r   r   r   Tr   Fr   rB   r    sharey)r#   r   r$   r'   r#      )r   r   )mplpyplotr   r   r1   r2   r3   r4   r5   r6   r7   r   r8   figure)r?   figrA   r@   returneds        rD   test_subplots_multiple_axes6TestDataFramePlotsSubplots.test_subplots_multiple_axes  s   JJ''1-	II!!!$++G4v++CR01

 77DT!WU57Q(Qv>~~%%%{!!S(((77DT!WU57Q(Qv>~~%%%{!!S((($6:rG   c                 r   [        [        R                  R                  S5      R                  S5      [	        [
        R                  S S 5      S9nSn[        R                  R                  SS5      u  p4[        R                  " [        US9   UR                  SUS	9  S S S 5        g ! , (       d  f       g = f)
Nr   r   r   r   z@The number of passed axes must be 3, the same as the output plotr   r   Tr   rB   )r   r1   r2   r3   r4   r5   r6   r   r   r   r   r   r   r7   )r?   r@   r   _rA   s        rD   !test_subplots_multiple_axes_error<TestDataFramePlotsSubplots.test_subplots_multiple_axes_error2  s    II!!!$++G4v++CR01
 Q**%%a+]]:S1GGTdG+ 211s   B((
B6)r   r#   c           	         [         R                  R                  SS5      u  p4[        [        R
                  R                  S5      R                  S5      [        [        R                  S S 5      S9n[        R                  " [        SS9   UR                  SXASSS	9n[        US
US9  UR                  S:X  d   e S S S 5        g ! , (       d  f       g = f)Nr   )r   r   r   r   zlayout keyword is ignoredr   TF)r   rB   r&   r    r   r   r$   )r   )r   r   r   r   r1   r2   r3   r4   r5   r6   r   r   UserWarningr7   r   r8   )r?   r&   r   r   rA   r@   r   s          rD   !test_subplots_multiple_axes_2_dim<TestDataFramePlotsSubplots.test_subplots_multiple_axes_2_dim?  s     **%%a+II!!!$++G4v++CR01
 '';VWww$eE  H h:F>>T))) XWWs   0C
Cc                 H   [         R                  R                  SS5      u  p[        [        R
                  R                  S5      R                  S5      [        [        R                  S S 5      S9nUR                  SU/SSS9n[        USS	S
9  UR                  S:X  d   eg )Nr#   r   r   r   r   TFr   r   r$   r   )r   r   r   r   r1   r2   r3   r4   r5   r6   r7   r   r8   )r?   r   rA   r@   s       rD   &test_subplots_multiple_axes_single_colATestDataFramePlotsSubplots.test_subplots_multiple_axes_single_colY  s     **%%a+II!!!$++G4v++CR01

 ww$ewL$6:zzT!!!rG   c           	         [         R                  R                  SSSSS9u  p[         R                  R                  SSSSS9  [	        [
        R                  R                  S5      R                  S	5      [        S
SSS9S9n[        UR                  5       5       H  u  pEX4   R                  USS9  M     USS R                  5        H  n[        UR                  5       SS9  M     US   R                  5        H  n[        UR                  5       SS9  M     U/ SQS/4   R                  5        H  n[        UR                  5       SS9  M     U/ SQS/4   R                  5        H  n[        UR                  5       SS9  M     U/ SQS/4   R                  5        H  n[        UR                  5       SS9  M     g )Nr   T)r    r   g?gffffff?g333333?)leftrighthspacewspacer   )r   	   rR   rS   r   rT   r   rm   )rB   ra   r   r0   Fr,   )r   r#   r   r#   )r   r   r   subplots_adjustr   r1   r2   r3   r   r   	enumerateravelr7   r   r<   r>   )r?   r   rA   r@   irB   s         rD   test_subplots_ts_share_axes6TestDataFramePlotsSubplots.test_subplots_ts_share_axesf  s   **%%a4%E

""DS"QII!!!$44W=<dBG
 tzz|,EAEJJ"qJ) - q*""$B2--/? % r(.."B2--/> # y1#~&,,.B2--/> / y1#~&,,.B2--/? /y1#~&,,.B2--/? /rG   c                 b   / SQ/ SQ/ SQS.n[        U[        SS5      S9nUSS	/   R                  S
S9nUS   R                  US   S
S9  [        US   R	                  5       SS9  [        US   R	                  5       S
S9  UR                  5        H  n[        UR                  5       S
S9  M     g )N)      ?       @      @      @)r   r   r   r   )rm   r#   r   r   )ABCz
2014 10 11z
2014 10 14r   r   r   Tr   r   r   )rB   secondary_yFr,   r#   )r   r   r7   r   r<   r   r>   )r?   dr@   rA   rB   s        rD   'test_subplots_sharex_axes_existing_axesBTestDataFramePlotsSubplots.test_subplots_sharex_axes_existing_axes  s    &-AUq
< FG3*~""D"1
3QT2tAw..0%@tAw..0$?**,B2--/> rG   c                     [        [        R                  R                  S5      R                  S5      [	        S5      S9nUR                  SS9nU H)  n[        US/S9  [        UR                  5      S	:X  a  M)   e   g )
Nr   rm   rm   aaaaar:   Tr   r   r)   r#   	r   r1   r2   r3   r4   r7   r	   lenlinesr?   r@   rA   rB   s       rD   test_subplots_dup_columns4TestDataFramePlotsSubplots.test_subplots_dup_columns  sh    ryy,,Q/66v>WVwww%B SE2rxx=A%%% rG   c                     [        [        R                  R                  S5      R                  S5      [	        S5      S9nUR                  SSS9nU H)  n[        US/S9  [        UR                  5      S	:X  a  M)   e   g )
Nr   r   r   r   Tr   )r   r   r)   r#   r   r   s       rD   %test_subplots_dup_columns_secondary_y@TestDataFramePlotsSubplots.test_subplots_dup_columns_secondary_y  sj    ryy,,Q/66v>WVww#w6B SE2rxx=A%%% rG   c                 <   [        [        R                  R                  S5      R                  S5      [	        S5      S9nUR                  SS9n[        US/S-  S	9  [        UR                  5      S
:X  d   e[        UR                  R                  5      S:X  d   eg )Nr   r   r   r   r   )r   z	a (right)rm   r)   r   )
r   r1   r2   r3   r4   r7   r	   r   r   right_ax)r?   r@   rB   s      rD   0test_subplots_dup_columns_secondary_y_no_subplotKTestDataFramePlotsSubplots.test_subplots_dup_columns_secondary_y_no_subplot  s    ryy,,Q/66v>WVWWW%R(9:288}!!!2;;$$%***rG   zWeird rounding problemsF)r   r(   c           	         [        [        R                  5      [        S5      :  a  [        R                  " / SQ5      O[        R                  " / SQ5      n[        S/S-  [        [        SS5      5      S.[        S5      S	9nUR                  R                  S
S
S9n[        R                  " UR                  R                  5       U5        g )N	3.11.0rc1)皙?r         $@d   )r  r   r	  r   rm   r#   r   r   r   r   T)gridlog)r   r   __version__r1   r~   r   r4   ranger7   r   r   assert_numpy_array_equalyaxisget_ticklocs)r?   r   r@   rB   s       rD   test_bar_log_no_subplots3TestDataFramePlotsSubplots.test_bar_log_no_subplots  s     s''+*>> HH*+*+ 	 aS1W4a+<=U1XNWW[[d[-
##BHH$9$9$;XFrG   c                    [        [        R                  5      [        S5      :  a  [        R                  " / SQ5      O[        R                  " / SQ5      n[        [        SS/5      [        SS/5      /5      R                  R                  SSS9n[        R                  " US	   R                  R                  5       U5        [        R                  " US
   R                  R                  5       U5        g )Nr  )r  r   r	        Y@     @@g     @)r  r   r	  r  r     i,  i  T)r  r   r   r#   )r   r   r  r1   r~   r   r   r7   r   r   r  r  r  )r?   r   rB   s      rD   test_bar_log_subplots0TestDataFramePlotsSubplots.test_bar_log_subplots  s     s''+*>> HH9:9: 	 Sz*FC:,>?@EEIIt J 
 	##BqEKK$<$<$>I
##BqEKK$<$<$>IrG   c                     UnUR                   R                  SS9n[        U[        5      (       d   e[	        US / SQS9  g )NTr   heightweightcategory)expected_keys)r7   box
isinstancer   r   )r?   hist_dfr@   r   s       rD   )test_boxplot_subplots_return_type_defaultDTestDataFramePlotsSubplots.test_boxplot_subplots_return_type_default  s@     d+&&))))D(H	
rG   rt)dictrA   bothc                 X    UnUR                   R                  USS9n[        UU/ SQSS9  g )NT)return_typer   r  F)r   check_ax_title)r7   r!  r   )r?   r#  r&  r@   r   s        rD   !test_boxplot_subplots_return_type<TestDataFramePlotsSubplots.test_boxplot_subplots_return_type  s1    77;;2;=: 		
rG   c                 .   [        [        R                  R                  S5      R	                  S5      [        SSS9[        S5      S9n[        R                  SSS	S
9u  p#UR                  S	US9nU H6  n[        UR                  5      S:X  d   e[        UR                  5       S	S9  M8     [        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  g )Nr   r   r   r   r   r   ABr   r:   r#   T)r    r   r,   r   Fr.   r   r1   r2   r3   r   r   r4   pltr   r7   r   r   r   r>   r<   r?   r@   r   rA   rB   s        rD   $test_df_subplots_patterns_minorticks?TestDataFramePlotsSubplots.test_df_subplots_patterns_minorticks  s    II!!!$44W=Z4J
 ,,q!D,1www.Brxx=A%%%2--/>  	tAw..0%@tAw..T.:EJtAw..0$?tAw..T.:DIrG   c                    [        [        R                  R                  S5      R	                  S5      [        SSS9[        S5      S9n[        R                  SS5      u  p#[        R                  " [        S	S
9   UR                  SUSS9nS S S 5        U H6  n[        UR                  5      S:X  d   e[        UR!                  5       SS9  M8     [        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  g ! , (       d  f       N= f)Nr   r/  r   r   r   r0  r1  r#   zsharex and shareyr   T)r   rB   r    r,   r   Fr.   )r   r1   r2   r3   r   r   r4   r3  r   r   r   r   r7   r   r   r   r>   r<   r4  s        rD   2test_df_subplots_patterns_minorticks_1st_ax_hiddenMTestDataFramePlotsSubplots.test_df_subplots_patterns_minorticks_1st_ax_hidden  s   II!!!$44W=Z4J

 ,,q!$'';NO77DT$7?D PBrxx=A%%%2--/>  	tAw..0%@tAw..T.:EJtAw..0$?tAw..T.:DI POs   :D;;
E	c                    [        [        R                  R                  S5      R	                  S5      [        SSS9[        S5      S9n[        R                  SS5      u  p#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     g )Nr   r/  r   r   r   r0  r1  r#   Tr   r,   r.   r2  r4  s        rD   /test_df_subplots_patterns_minorticks_not_sharedJTestDataFramePlotsSubplots.test_df_subplots_patterns_minorticks_not_shared  s    II!!!$44W=Z4J
 ,,q!$www.Brxx=A%%%2--/>2--/>2--D-94H	 rG   c                 p   [        [        R                  R                  S5      R                  S5      5      n[        R                  UR
                  SS 2S4'   [        R                  UR
                  S S2S4'   [        R                  R                  SS5      u  p#UR                  R                  USSS9  [        R                  " S	S
S5      n[        R                  " SSS5      n[        R                  " US   R                  5       U5        [        R                  " US   R                  5       U5        g )Nr   r/  rm   r#   r   TF)rB   r   r    g      @r         ?      )r   r1   r2   r3   nanilocr   r   r   r7   r   aranger   r  
get_xticks)r?   r@   r   axsexpected_ax1expected_ax2s         rD   test_subplots_sharex_false5TestDataFramePlotsSubplots.test_subplots_sharex_false  s     ryy,,Q/66w?@AA$$Q*
d59yyb#.yyq#.
##CF$5$5$7F
##CF$5$5$7FrG   c                 <   [        SSS9n[        [        R                  R	                  S5      R                  S5      US9n0 n[        [        R                  R                  S5      (       a  SUS	'   [        R                  R                  " S0 UD6u  pV[        R                  " S 5         UR                  US
   S9  UR                  SS9 n[        R                  R                  U5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nnowr   )rU   rW   r   r   r   get_constrained_layoutTconstrained_layoutr   )rB   wb)mode)r   )r   r   r1   r2   r3   hasattrr   r   Figurer   r   r   r7   opensavefig)r?   	temp_filerZ   r@   r   r   rA   paths           rD    test_subplots_constrained_layout;TestDataFramePlotsSubplots.test_subplots_constrained_layout/  s    ub1ryy,,Q/66w?sK3::$$&>??+/F'(**%%262''-GGtAwGT*d

""4( + .-** .-s$   )"D C<+D<
D
	D
Dz index_name, old_label, new_label)N new)oldrY  rX  )NrW  rW  )NrW  r#   NrW  r   )r   r   r   c                 j  ^^ [        SS/SS//SS/S9nX%R                  l        UR                  USS9n[	        S	 U 5       5      (       d   e[	        U4S
 jU 5       5      (       d   eUR                  UTTSS9n[	        U4S jU 5       5      (       d   e[	        U4S jU 5       5      (       d   eg )Nr#   r   rm   zType AzType Br   Tr   r   c              3   F   #    U  H  oR                  5       S :H  v   M     g7f)rW  N)
get_ylabel).0rB   s     rD   	<genexpr>STestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots.<locals>.<genexpr>P  s     84R==?b(4s   !c              3   H   >#    U  H  oR                  5       T:H  v   M     g 7fN)
get_xlabel)r^  rB   	old_labels     rD   r_  r`  Q  s     ?$B==?i/$s   ")r   ylabelxlabelr   c              3   Z   >#    U  H   oR                  5       [        T5      :H  v   M"     g 7frb  )r]  strr^  rB   	new_labels     rD   r_  r`  U       Dt==?c)n4t   (+c              3   Z   >#    U  H   oR                  5       [        T5      :H  v   M"     g 7frb  )rc  rh  ri  s     rD   r_  r`  V  rk  rl  )r   r   namer7   r   )r?   r   
index_namerd  rj  r@   rA   s      ``  rD   %test_xlabel_ylabel_dataframe_subplots@TestDataFramePlotsSubplots.test_xlabel_ylabel_dataframe_subplots<  s     AA'(H1EF" wwD4w08488888?$????? wwD9twTDtDDDDDDtDDDDDrG   r   r   T)r   stacked?)r   rr  widthr   r[  )r   r   rt  edge)r   rr  align)r   rr  rt  rv  )r   r   rv  )r   r   rt  rv  c                     [        S/S-  [        [        S5      5      S.[        S5      S9nU R                  " U40 UD6  g )Nr   rm   r  r   )r   r4   r  _check_bar_alignmentr?   r   r@   s      rD   test_bar_align_multiple_columns:TestDataFramePlotsSubplots.test_bar_align_multiple_columnsX  s;    F aS1W4a>:%(K!!"//rG   c                     [        [        R                  R                  S5      R	                  S5      5      nU R
                  " U40 UD6  g )Nr   rm   r   r1   r2   r3   r   rx  ry  s      rD   test_bar_align_single_column7TestDataFramePlotsSubplots.test_bar_align_single_column~  s;     ryy,,Q/??BC!!"//rG   c                     [        [        R                  R                  S5      R	                  S5      5      nU R
                  " U4SSS.UD6  g )Nr   r   rs  g?)rt  positionr}  ry  s      rD   test_bar_barwidth_position5TestDataFramePlotsSubplots.test_bar_barwidth_position  sB     ryy,,Q/??GH!!"HC#HHrG   wr   c                    [        [        R                  R                  S5      R	                  S5      5      nUR
                  R                  SUS9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g )Nr   r   T)rr  rt  )r   r#   r   r   r   )g      g      @r   r?  r0   g      @)r   r1   r2   r3   r   r7   r   r;   r  r   r  r~   get_xlimpatchesget_x)r?   r  r@   rB   tickss        rD   test_bar_barwidth_position_int9TestDataFramePlotsSubplots.test_bar_barwidth_position_int  s     ryy,,Q/??GHWW[[Q[/%%'
##E288O+DE{{}---zz!}""$,,,zz"~##%,,,rG   zkind, kwargsrr  r   c                     [        [        R                  R                  S5      R	                  S5      5      nU R
                  " U4USS.UD6  g )Nr   r   r#   )r   rt  r}  )r?   r   r   r@   s       rD   &test_bar_barwidth_position_int_width_1ATestDataFramePlotsSubplots.test_bar_barwidth_position_int_width_1  sB     ryy,,Q/??GH!!"C4qCFCrG   c           
         UR                  UUUUUUSS9n[        U5      nU GH  n	US:X  aW  U	R                  n
U	R                  5       u  p[	        S U	R
                   5       5      n[        S U	R
                   5       5      nOcUS:X  aW  U	R                  n
U	R                  5       u  p[	        S U	R
                   5       5      n[        S U	R
                   5       5      nO[        e[        R                  " XS	-
  5        [        R                  " XS	-   5        U	R
                  S
   nUS:X  a1  USL d  USL a'  UR                  5       nUUR                  5       U-  -   nOUS:X  aP  USL aK  UR                  5       UR                  5       [        UR                  5      -  U-  -   nUR                  5       nOUS:X  a?  USL d  USL a5  UR!                  5       UR#                  5       U-  -   nUR!                  5       nO\US:X  aP  USL aK  UR!                  5       UR#                  5       [        UR                  5      -  U-  -   nUR!                  5       nO[        eU
R%                  5       [&        R(                  " [        U5      5      :H  R+                  5       (       d   eUS:X  a+  [        R                  " U
R%                  5       S
   U5        GM  US:X  a+  [        R                  " U
R%                  5       S
   U5        GM  [        e   U$ )NT)r   rr  r   rv  rt  r  r  r   c              3   @   #    U  H  oR                  5       v   M     g 7frb  )r  r^  ps     rD   r_  BTestDataFramePlotsSubplots._check_bar_alignment.<locals>.<genexpr>       =*Qwwyy*   c              3   b   #    U  H%  oR                  5       UR                  5       -   v   M'     g 7frb  )r  	get_widthr  s     rD   r_  r    s     M*Qwwy1;;=8*   -/r   c              3   @   #    U  H  oR                  5       v   M     g 7frb  )get_yr  s     rD   r_  r    r  r  c              3   b   #    U  H%  oR                  5       UR                  5       -   v   M'     g 7frb  )r  
get_heightr  s     rD   r_  r    s     N:awwy1<<>9:r  g      ?r   Fcenterru  )r7   r   r;   r  minr  maxr  get_ylimr   r   assert_almost_equalr  r  r   r:   r  r  r  r1   rB  r   )r?   r@   r   rr  r   rv  rt  r  rA   rB   axisax_minax_maxmin_edgemax_edger  ru  r  s                     rD   rx  /TestDataFramePlotsSubplots._check_bar_alignment  s    ww  
  %Bu}xx!#="**==M"**MMxx!#="**==N2::NN   ""6d?;""6d?;

1Au}'T/X5Ewwy 887e#3Q[[]S_%Dx%OOwwyW_D8HQ\\^h%>>wwyGu$4Q\\^c"**o%E%PPwwy   %%'299SW+==BBDDDD &&t'8'8':1'=vF&&&t'8'8':1'=tD  [ ^ rG   r   )r   FFr  r>  r>  )2__name__
__module____qualname____firstlineno__r   markslowparametrizerE   rK   rO   r[   rd   r   r   xfailr   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r  r   r  r  r$  r,  r5  r8  r;  rG  rU  rp  rz  r~  r  r  r  rx  __static_attributes__r   rG   rD   r   r   !   sT   [[[[V%DE3 F 38 [[[[V%DE1 F 1 [[[[V%DE+ F + [[Vff%56) 7), [[Vff%56
H 7
H [[L**8	$ [[VW0 X0d [[VffVff	

	(
	(4 [[DFD!FF3	
,,  [[[[UU1Xz*a/P$QR2 S 2;&, [[Vff	
**$"@:?&&+ [[(  
G
G  [[(  
J
J 
 [[T#;<
 =
J(J&I G ) [[*!21v	
	 [[V%<=E >	E" [[ t,tc:-s;u-us;.<-s;.<tf=tcFKv>sVLuv>usVL?fMv>sVL?fM9	
 B0C B0
 [[u-t,.--.	

0
0 [[u-t,.--.	

I
I [[S1c(+	- ,	- [[Y%&i'(i&'Z&'j$'(	
	D	D ErG   r   )__doc__r5   numpyr1   r   pandas.compatr   pandasr   r   r   r   pandas._testing_testingr   pandas.tests.plotting.commonr   r   r	   r
   r   r   pandas.util.versionr   pandas.io.formats.printingr   importorskipr   r3  r   r   rG   rD   <module>r     se    #    +  
   ( 3,'-.[ [rG   