
    Mh                       S r SSKJrJrJrJr  SSKrSSKrSSKrSSK	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  SSKJr  SSKJrJrJr  SSKJrJrJ r   SS	K!J"r"  SS
K#J$r$  SSK%J&r&  \RN                  " S5      r( " S S5      r)SS jr*g)z;Test cases for time series specific (freq conversion, etc)     )datedatetimetime	timedeltaN)
BaseOffset	to_offset)freq_to_period_freqstr)	DataFrameIndexNaTSeriesconcatisnato_datetime)DatetimeIndexbdate_range
date_range)PeriodPeriodIndexperiod_range)timedelta_range)_check_ticks_props)WeekOfMonth
matplotlibc                      \ rS rSr\R
                  R                  S5      S 5       rS rS r	S r
S rS rS	 r\R
                  R                  S
/ SQ5      S 5       r\R
                  R                  S
/ SQ5      S 5       rS rS r\R
                  R                  S
SS/5      S 5       rS rS r\R
                  R                  S
/ SQ5      S 5       r\R
                  R                  S/ SQ5      S 5       r\R
                  R                  S
/ SQ5      S 5       r\R
                  R                  S
/ SQ5      S 5       r\R
                  R                  S/ SQ5      S 5       r\R
                  R                  S5      \R
                  R                  S
/ SQ5      S 5       5       r\R
                  R                  S
/ SQ5      S  5       rS! rS" rS# rS$ r \R
                  RC                  S%S&9S' 5       r"S( r#S) r$S* r%S+ r&S, r'S- r(S. r)S/ r*\R
                  R                  S05      \R
                  R                  S1\+" \,RZ                  " S2\,R\                  S39\/" S4S2S59S69\0" \+" \,RZ                  " S2\,R\                  S39\/" S4S2S59S69\+" \,RZ                  " S2\,R\                  S39\/" S4S2S59S69S7-   S8.5      /5      S9 5       5       r1S: r2S; r3S< r4S= r5S> r6S? r7\R
                  Rp                  S@ 5       r9SA r:SB r;SC r<SD r=SE r>SF r?SG r@SH rASI rBSJ rCSK rDSL rESM rFSN rGSO rHSP rISQ rJSR rKSS rLST rMSU rNSV rOSW rP\R
                  R                  S5      SX 5       rQSY rRSZ rS\R
                  RC                  S[S&9S\ 5       rTS] rUS^ rVS_ rWS` rX\R
                  R                  SaSbSc/5      Sd 5       rY\R
                  R                  SaSbSc/5      Se 5       rZSf r[Sg r\Sh r]Si r^Sj r_Sk r`Sl raSm rbSn rcSo rdSp reSq rfSr rgSs rhSt ri\R
                  RC                  S%S&9Su 5       rjSv rkSw rlSx rmSy rnSz roS{ rpS| rqS} rrS~ rsS rtS ruS rvS rwS rxS ry\R
                  RC                  SS&9S 5       rzS r{S r|S r}S r~S rSrg)
TestTSPlot/   zignore::UserWarningc                 r   Un[        SSSUS9n[        SS/US9n[        UR                  5        UR                  5       n[	        [        UR                  5       5      5      R                  5       nUS   R                  US   R                  4S	:X  d   eUS
   R                  US
   R                  4S:X  d   eg )N1/1/2011   h)periodsfreqtzg     g@g     t@indexr   r   r   )   r   )
r   r   _check_plot_worksplotnextiter	get_lines	get_xdatahourminute)selftz_aware_fixturer$   r&   tsaxxdatas          Y/var/www/html/env/lib/python3.13/site-packages/pandas/tests/plotting/test_datetimelike.pytest_ts_plot_with_tzTestTSPlot.test_ts_plot_with_tz0   s     :qsrBUFO51"''"WWYT",,.)*446auQx/6999b	b	 0 01V;;;    c                 ^   [        [        R                  R                  S5      R	                  S5      [        S5      S9n[        R                  R                  5       u  p#UR                  SUS9  UR                  5       UR                  5       -    H  nUR                  5       S:X  a  M   e   g )Nr    )
   	   r<   r%   fontsizer5   )r
   nprandomdefault_rngstandard_normalrangemplpyplotsubplotsr+   get_xticklabelsget_yticklabelsget_fontsize)r2   df_r5   labels        r7   test_fontsize_set_correctly&TestTSPlot.test_fontsize_set_correctly=   s    II!!!$44W=U2Y
 

##%
r"'')B,>,>,@@E%%'1,,, Ar:   c                    [        SSSS9n[        UR                  S S9n[        [        R
                  R                  S5      R                  [        U5      S45      US9n[        UR                  5        US	S
 R                  USS 5      n[        [        R
                  R                  S5      R                  [        U5      S45      US9n[        UR                  5        g )N1/1/1987MSd   r#   r"   r#   r       r%   r   (   -   c   )r   r   valuesr
   r@   rA   rB   rC   lenr*   r+   union)r2   idxrK   df2s       r7   test_frame_inferredTestTSPlot.test_frame_inferredG   s    $<CJJT2II!!!$44c#h]C3
 	"''" !Biooc"Rj)II!!!$44c#h]C3
 	#((#r:   c                     [        SSSS9n[        UR                  S S9n[        [        R
                  R                  S5      R                  [        U5      S45      US9n[        UR                  5        g )	Nz2008-1-1 00:15:0015minr<   rT   rU   r    rV   r%   )r   r   rZ   r
   r@   rA   rB   rC   r[   r*   r+   r2   r]   rK   s      r7   test_frame_inferred_n_gt_1%TestTSPlot.test_frame_inferred_n_gt_1X   s`    ,7BGCJJT2II!!!$44c#h]C3
 	"''"r:   c                     [         R                  " / SQ5      n[        XS9n[        UR                  US9  [        UR                  US9  g )Nr)   r    rV   r%   )xerr)yerr)r@   arrayr
   r*   r+   )r2   ias      r7   test_is_error_nozeroindex$TestTSPlot.test_is_error_nozeroindexa   s6    HHYa!!&&q)!&&q)r:   c                    [        SSSS9n[        / SQ/ SQS.U5      n[        R                  R	                  5       u  p4UR                  US9  [        UR                  5       5      S	:X  d   e[        R                  R                  U5        g )
NrQ   YErV   rT   xyzrg   ABr5   r)   )	r   r
   rE   rF   rG   r+   r[   r.   close)r2   r]   rK   figr5   s        r7   test_nonnumeric_exclude"TestTSPlot.test_nonnumeric_excludeh   sm    $:_9=sC**%%'
22<<>"a'''

r:   c                     [        SSSS9n[        / SQ/ SQS.U5      nSn[        R                  " [        US	9   US
   R                  5         S S S 5        g ! , (       d  f       g = f)NrQ   rp   rV   rT   rq   rg   ru   zno numeric data to plotmatchrv   )r   r
   pytestraises	TypeErrorr+   )r2   r]   rK   msgs       r7   test_nonnumeric_exclude_error(TestTSPlot.test_nonnumeric_exclude_errorq   sM    $:_9=sC']]9C0sGLLN 100s   A
A%r#   )sminr!   DWMQYc                    [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pE[        UR                  US9  g N
12/31/1999rS   rT   r    rx   )r   r   r@   rA   rB   rC   r[   rE   rF   rG   r*   r+   r2   r#   r]   serrL   r5   s         r7   test_tsplot_periodTestTSPlot.test_tsplot_periodx   s\    <dC@RYY**1-==c#hGM

##%#((r*r:   )	r   r   r!   r   r   MEzQE-DECrp   1B30Minc                    [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pE[        UR                  US9  g r   )r   r   r@   rA   rB   rC   r[   rE   rF   rG   r*   r+   r   s         r7   test_tsplot_datetimeTestTSPlot.test_tsplot_datetime   s^     D#>RYY**1-==c#hGM

##%#((r*r:   c                    [        [        R                  " S[        R                  S9[	        SSS9S9n[
        R                  R                  5       u  p#UR                  SUS9  SnXCR                  5       S	   R                  5       :X  d   eg )
Nr<   dtype
2020-01-01r"   r%   kstyler5   )        r   r   r)   r   )r   r@   arangefloat64r   rE   rF   rG   r+   r.   	get_color)r2   r4   rL   r5   colors        r7   test_tsplotTestTSPlot.test_tsplot   ss    IIb

+:lTV3W
 

##%
cb!"q)335555r:   c                    [        [        R                  " S[        R                  S9[	        SSS9S9nSn[
        R                  " [        US9   UR                  SS	S
9  S S S 5        UR                  SS9n[
        R                  " [        US9   UR                  SS	S
9  S S S 5        g ! , (       d  f       NP= f! , (       d  f       g = f)Nr<   r   r   r   r%   zCannot pass 'style' string with a color symbol and 'color' keyword argument. Please use one or the other or pass 'style' without a color symbolr~   zb-z#000099)r   r   T)drop)
r   r@   r   r   r   r   r   
ValueErrorr+   reset_index)r2   r4   r   r   s       r7   test_both_style_and_color$TestTSPlot.test_both_style_and_color   s    IIb

+:lTV3W
% 	
 ]]:S1GG$iG0 2 NNN%]]:S1FFYF/ 21	 21 21s   B*B;*
B8;
C	msusc                    [         R                  R                  5       u  p#[        SSUS9n[	        [
        R                  R                  S5      R                  [        U5      5      U5      n[        UR                  US9  g )N1/1/2012rS   r"   r#   r    rx   )rE   rF   rG   r   r   r@   rA   rB   rC   r[   r*   r+   )r2   r#   rL   r5   rngr   s         r7   test_high_freqTestTSPlot.test_high_freq   s\    

##%St<RYY**1-==c#hGM#((r*r:   c                     SSK Jn  U" S S5      b   eU" SS5      S:X  d   eU" [        SS5      S5      [        SS5      R                  :X  d   eU" SS5      [        S	S5      R                  :X  d   eg )
Nr   )get_datevaluer     r   r   z1987-12rQ   z1987-1-1)%pandas.plotting._matplotlib.converterr   r   ordinal)r2   r   s     r7   test_get_datevalueTestTSPlot.test_get_datevalue   sx    GT3'///T3'4///VD#.4y#8N8V8VVVVZ-
C1H1P1PPPPr:   c           	          S n[        S[        SSSS9S9n[        R                  R	                  5       u  p4UR                  US9  U" US	5        [        S[        SSS
S9S9nUR                  US9  U" US5        g )Nc                     U R                  5       S   nUR                  5       S   R                  nUR                  5       S   nXR	                  X45      :X  d   eg )Nr   )r.   r/   r   	get_ydataformat_coord)r5   expected_string
first_linefirst_xfirst_ys        r7   check_format_of_first_pointITestTSPlot.test_ts_plot_format_coord.<locals>.check_format_of_first_point   sS    *J **,Q/77G **,Q/G"oog&GGGGr:   r)   z
2014-01-01rV   zYE-DECr   r%   rx   zt = 2014  y = 1.000000r   zt = 2014-01-01  y = 1.000000)r   r   rE   rF   rG   r+   )r2   r   annualrL   r5   dailys         r7   test_ts_plot_format_coord$TestTSPlot.test_ts_plot_format_coord   s|    	H L!(!ST

##%r#B(@A q
< MN

b
#B(FGr:   c                     [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        UR                  UR                  R                  5        g Nr   rS   rT   r    )r   r   r@   rA   rB   rC   r[   r*   r+   r&   r#   r2   r#   r]   r   s       r7   test_line_plot_period_series'TestTSPlot.test_line_plot_period_series   sP    <dC@RYY**1-==c#hGM#((CIINN3r:   frqncy)1s3s5min7h4D8W11M3Yc                    [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        UR                  UR                  R                  R                  5        g r   )r   r   r@   rA   rB   rC   r[   r*   r+   r&   r#   	rule_code)r2   r   r]   r   s       r7    test_line_plot_period_mlt_series+TestTSPlot.test_line_plot_period_mlt_series   sX     <fcB299((+;;CHEsK!&&!'',,"8"89r:   c                    [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        UR                  UR                  R                  R                  5        g r   )r   r   r@   rA   rB   rC   r[   r*   r+   r&   r#   r   r   s       r7   test_line_plot_datetime_series)TestTSPlot.test_line_plot_datetime_series   sX     D#>RYY**1-==c#hGM#((CIINN$<$<=r:   )r   r   r!   r   r   r   QErp   c                     [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      S45      U/ SQS9n[        UR                  UR                  R                  5        g )Nr   rS   rT   r    rV   rv   rw   Cr&   columns)r   r
   r@   rA   rB   rC   r[   r*   r+   r&   r#   r2   r#   r]   rK   s       r7   test_line_plot_period_frame&TestTSPlot.test_line_plot_period_frame   s]    D#>II!!!$44c#h]C#

 	"''288==1r:   c                 l   [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      S45      U/ SQS9n[        SUR                  R                  R                  5      nUR                  R                  U5      R                  n[        UR                  U5        g 	Nr   rS   rT   r    rV   r   r   r)   )r   r
   r@   rA   rB   rC   r[   r	   r&   r#   r   asfreqr*   r+   )r2   r   r]   rK   r#   s        r7   test_line_plot_period_mlt_frame*TestTSPlot.test_line_plot_period_mlt_frame   s     <fcBII!!!$44c#h]C#

 &a)@)@Axxt$))"''4(r:   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 l   [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      S45      U/ SQS9n[        SUR                  R                  R                  5      nUR                  R                  U5      R                  n[        UR                  U5        g r   )r   r
   r@   rA   rB   rC   r[   r	   r&   r#   r   	to_periodr*   r+   r   s       r7   test_line_plot_datetime_frame(TestTSPlot.test_line_plot_datetime_frame   s    
 D#>II!!!$44c#h]C#

 &a)@)@Axx!!$',,"''4(r:   c                    [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        UR                  [        [        R                  " UR                  5      5      5      n[        UR                  UR                  R                  5        UR                  / SQ   n[        UR                  5        g )Nr   rS   rT   r    )r   rV         )r   r   r@   rA   rB   rC   r[   rZ   r   asarrayr&   r*   r+   inferred_freqilocr   s       r7   test_line_plot_inferred_freq'TestTSPlot.test_line_plot_inferred_freq  s     D#>RYY**1-==c#hGMSZZrzz#))'<!=>#((CII$;$;<hh|$#((#r:   c                     [         R                  R                  5       u  p[        SS5      n[	        [        [        U5      5      US9n[        US S USS  /5      nUR                  US9  [        US5      (       a   eg )Nz2001-1-1z	2001-1-10r%   rV   r   rx   r#   )
rE   rF   rG   r   r   rD   r[   r   r+   hasattr)r2   rL   r5   r   r4   s        r7   test_fake_inferred_business&TestTSPlot.test_fake_inferred_business  st    

##%[1E#c(O3/RVRV$%
22v&&&&&r:   c                     [        [        R                  " S[        R                  S9[	        SSS9S9n[        UR                  5        g )Nr<   r   r   r   r%   )r   r@   r   r   r   r*   r+   )r2   r   s     r7   test_plot_offset_freq TestTSPlot.test_plot_offset_freq  s6    IIb

+:lTV3W
 	#((#r:   c                     [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      US9n[        UR                  5        g )Nz
2023-01-01BQSr<   rT   r    r%   )	r   r   r@   rA   rB   rC   r[   r*   r+   r2   drr   s      r7   test_plot_offset_freq_business)TestTSPlot.test_plot_offset_freq_business  sF    5"=RYY**1-==c"gFbQ#((#r:   c           	      
   [        [        SSS5      [        SSS5      [        SSS5      /5      n[        [        R                  R                  S5      R                  [        U5      5      US9n[        UR                  5        g )N  r)   r      r    r%   )
r   r   r   r@   rA   rB   rC   r[   r*   r+   r  s      r7    test_plot_multiple_inferred_freq+TestTSPlot.test_plot_multiple_inferred_freq#  se    HT1a((4A*>qRT@UVWRYY**1-==c"gFbQ#((#r:   zApi changed in 3.6.0)reasonc                 >   SS K Js  Js  Jn  [	        SSSS9n[        [        R                  R                  S5      R                  [        U5      S45      US9n[        R                  R                  5       u  pEUR                  US9  UR                  5       nUR!                  5       nUR#                  5       n[%        Xx5       HW  u  pUR'                  U	5      R)                  S	5      n[+        U
R-                  5       5      n[        U5      (       d  MP  X:X  a  MW   e   g )
Nr   z2012-6-22 21:59:51.960928r     rT   r    r%   rx   %H:%M:%S.%f)r   plotting_matplotlib	converterr   r
   r@   rA   rB   rC   r[   rE   rF   rG   r+   	get_xaxisget_ticklocsget_ticklabelszip_from_ordinalstrftimestrget_text)r2   convr]   rK   rL   r5   axistlocstlabelslocrM   xprss                r7   test_uhfTestTSPlot.test_uhf(  s    <<44MII!!!$44c#h]C3
 

##%
2||~!!#%%'e-JC##C(11-@BU^^%&B2wwxx	 .r:   c                    [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      S45      US9nUR                  / SQ   n[        R                  R                  5       u  pEUR                  US9  [        UR                  5       S	   R                  5       S S 2S	4   5      R                  5       nS
n[        R                   " USS  XwS-  U/-
  5      S:  R#                  5       (       d   eg )N2012-6-22 21:59:51r   r<   rT   r    r%   )r   r)   rV      rx   r   )QΠE>r)   :0yE>)r   r
   r@   rA   rB   rC   r[   r   rE   rF   rG   r+   r   r.   
get_xydatadifffabsall)r2   r]   rK   irregrL   r5   diffssecs           r7   test_irreg_hfTestTSPlot.test_irreg_hf=  s    -CDII!!!$44c#h]C3
 %

##%

b
r||~a(335ad;<AAC ab	S'3$7784?DDFFFFr:   c                 ,   [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      S45      US9n[        R                  R                  5       u  p4UR                  R                  [        5      Ul
        UR                  US9  [        UR                  5       S   R!                  5       S S 2S4   5      R#                  5       nS	n[        R$                  " US
S  U-
  5      S:  R'                  5       (       d   eg )Nr%  r   r<   rT   r    r%   rx   r   r'  r)   r(  )r   r
   r@   rA   rB   rC   r[   rE   rF   rG   r&   astypeobjectr+   r   r.   r)  r*  r+  r,  )r2   r]   r^   rL   r5   r.  r/  s          r7   test_irreg_hf_objectTestTSPlot.test_irreg_hf_objectK  s    -CDII!!!$44c#h]C3
 

##%II$$V,	Br||~a(335ad;<AAC ab	C(4/446666r:   c                 ~   [        [        R                  " S[        R                  S9[	        SSS9S9nUR
                  / SQ   n[        R                  R                  5       u  p#UR                  US9nUc   e[        UR                  5       S   R                  5       UR                  5       H  u  pVXV:X  a  M   e   g )	Nr<   r   r   r   r%   )r   r)   r       rx   r   )r   r@   r   r   r   r   rE   rF   rG   r+   r  r.   r/   r&   )r2   r   rL   r5   retr!  r   s          r7   "test_irregular_datetime64_repr_bug-TestTSPlot.test_irregular_datetime64_repr_bugW  s    IIb

+:lTV3W
 hh|$

##%hh"ho",,.+557CFB8O8 Dr:   c                    [        [        S5      [        SSS95      nSnUR                  S   R	                  5       n[
        R                  " [        US9   [        U[        U5      SS9Ul        S S S 5        [        R                  R                  5       u  pEUR                  US	9  UR                  5       S   R                  5       S
   UR                  S   R                  :X  d   eUR                  5       S   R!                  5       n[
        R                  " [        US9   [#        US9R$                  S:X  d   e S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r   r   PeriodDtype\[B\] is deprecatedr   r~   rw   startr"   r#   rx   r'   data)r   rD   r   r&   to_timestamptmassert_produces_warningFutureWarningr[   rE   rF   rG   r+   r.   r)  r   r/   r   freqstr)r2   btsr   dtrL   r5   r]   s          r7   test_business_freqTestTSPlot.test_business_freqe  s   U1X|L!DE/YYq\&&(''SA$2s3xcJCI B

##%B||~a ++-d3syy|7K7KKKKllnQ))+''SAC(00C777 BA BA BAs   E"E
E
E%c           	          [        [        R                  " S[        R                  S9[	        SSSS9S9R                  S5      nUR                  S5      n[        R                  R                  5       u  p4UR                  US	9  UR                  5       S
   R                  5       S   UR                  S
   R                  :X  d   eUR                  5       S
   R                  5       n[!        US9R"                  S:X  d   eg )Ni,  r   r   rw   r   r%   BMEr   rx   r   r'   r@  )r   r@   r   r   r   r   r   rE   rF   rG   r+   r.   r)  r&   r   r/   r   rF  )r2   rG  r4   rL   r5   r]   s         r7   test_business_freq_convert%TestTSPlot.test_business_freq_convertr  s    IIc,\3SA
 &- 	 ]]3

##%B||~a ++-d3rxx{7J7JJJJllnQ))+$,,333r:   c                    [        5       n[        [        R                  " S[        R                  S9[        SSS9S9R                  U5      n[        R                  R                  5       u  p4UR                  US9  UR                  5       S   R                  5       nSn[        R                  " [        US	9   [!        US
9  S S S 5        g ! , (       d  f       g = f)Nr<   r   r   r   r%   rx   r   z)freq not specified and cannot be inferredr~   r@  )r   r   r@   r   r   r   r   rE   rF   rG   r+   r.   r/   r   r   r   r   )r2   r#   rG  rL   r5   r]   r   s          r7   test_freq_with_no_period_alias)TestTSPlot.test_freq_with_no_period_alias~  s    }IIb

+:lTV3W

&, 	 

##%BllnQ))+9]]:S1S! 211s   8
C
Cc                 B   [        SSSS9[        SS9-   n[        [        R                  " S5      US9n[
        R                  R                  5       u  p4UR                  US9  UR                  5       S	   R                  5       n[        U5      R                  (       a   eg )
Nz
2012-12-20   r!   r      minutesr%   rx   r   )r   r   r
   r@   r   rE   rF   rG   r+   r.   r/   r   is_normalized)r2   r]   rK   rL   r5   r!  s         r7   test_nonzero_baseTestTSPlot.test_nonzero_base  s    r<yQS?TTryy}C0

##%
2\\^A((*9*****r:   c                    [        S[        [        R                  " S[        R                  S9[        SSS9S905      n[        R                  R                  5       u  p#UR                  US9  UR                  5       S   R                  5       n[        R                  " UR                  R                  5       [!        U5      5        g )	Nrl   r<   r   r   r   r%   rx   r   )r
   r   r@   r   r   r   rE   rF   rG   r+   r.   r/   rC  assert_index_equalr&   r   r   )r2   rG  rL   r5   r]   s        r7   test_dataframeTestTSPlot.test_dataframe  s    VIIb

3$\2>
 

##%BllnQ))+
cii113[5EFr:   z8ignore:Period with BDay freq is deprecated:FutureWarningobjr<   r   r   r   r%   r)   rl   bc                    [         R                  R                  5       u  p#UR                  US9  UR	                  5       nUR                  US   S-
  US   S-   5        UR	                  5       nUS   US   S-
  :X  d   eUS   US   S-   :X  d   e[        SUR                  5      [        SUR                  5      4nUR                  SS5        UR	                  5       n[        US   5      US   R                  :X  d   e[        US   5      US   R                  :X  d   e[        SUR                  5      [        SUR                  5      4nUR                  [        SSS5      [        SS	S5      5        UR	                  5       n[        US   5      US   R                  :X  d   e[        US   5      US   R                  :X  d   eUR                  5       n[         R                  R                  U5        g )
Nrx   r   r   r)   r<   1/1/2000z4/1/2000r  r&  )rE   rF   rG   r+   get_xlimset_xlimr   r#   intr   r   
get_figurery   )r2   r^  rL   r5   xlimresultexpectedrz   s           r7   test_axis_limitsTestTSPlot.test_axis_limits  s   4 

##%B{{}
DGaKa2.ayDGaK'''ayDGbL((( :rww/
BGG1LM
J
+6!9~!!4!44446!9~!!4!4444 :rww/
BGG1LM
HT1a((4A*>?6!9~!!4!44446!9~!!4!4444mmo

r:   c                    SS K Js  Js  Jn  UR	                  [        S5      5      UR                  :X  d   eUR	                  [        S5      5      UR                  :X  d   eUR	                  [        S5      5      UR                  :X  d   eUR	                  [        S5      5      UR                  :X  d   eUR	                  [        S5      5      UR                  :X  d   eUR	                  [        S5      5      UR                  :X  d   eg )Nr   rw   r   r   r   rp   r   )
r   r  r  r  
get_finderr   _daily_finder_monthly_finder_quarterly_finder_annual_finder)r2   r  s     r7   test_get_finderTestTSPlot.test_get_finder  s    <<y~.$2D2DDDDy~.$2D2DDDDy/43G3GGGGy/43I3IIIIy/43F3FFFFy~.$2D2DDDDr:   c                 >   / SQnSn[         R                  " [        US9   [        SSS9R                  /[        U5      -  =p4S S S 5        / n/ nU GH&  n[        SUS9n[        [        R                  R                  S5      R                  [        U5      5      U5      n	[        R                  R                  5       u  pU	R                  US	9  UR!                  5       nUR#                  UR%                  5       S
   5        UR'                  5       u  pUR)                  US-   U5        UR#                  UR%                  5       S
   5        [        R                  R+                  UR-                  5       5        GM)     UW:X  d   eUW:X  d   eg ! , (       d  f       GNQ= f)N)r<   rW      i  i  i
  '  z#Period with BDay freq is deprecatedr~   z1999-1-1rw   rU   r   r    rx   r   ?)rC  rD  rE  r   r   r[   r   r   r@   rA   rB   rC   rE   rF   rG   r+   r  appendget_majorticklocsrc  rd  ry   rf  )r2   day_lstr   xpl1xpl2rs1rs2nr   r   rL   r5   xaxisvminvmaxs                  r7   test_finder_dailyTestTSPlot.test_finder_daily  sH   63''SA!*37??@3w<OOD BAj!4C..q1AA#c(KSQCJJ'')EAHHHOLLNEJJu..034JDKKs
D)JJu..034JJR]]_-  d{{d{{% BAs   #F
Fc                    SS/n[        S5      R                  /[        U5      -  =p#/ n/ nU GH3  n[        S[	        US-  5      SS9n[        [        R                  R                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pUR                  U
S	9  U
R                  5       nUR                  UR!                  5       S
   5        U
R#                  5       u  pU
R%                  US-   U5        UR                  UR!                  5       S
   5        [        R                  R'                  U
R)                  5       5        GM6     XB:X  d   eXS:X  d   eg )Ng      @r	  1988Q11987Q2r&  r   r   r    rx   r   rw  r   r   r[   r   re  r   r@   rA   rB   rC   rE   rF   rG   r+   r  rx  ry  rc  rd  ry   rf  r2   yrsr{  r|  r}  r~  r  r   r   rL   r5   r  r  r  s                 r7   test_finder_quarterly TestTSPlot.test_finder_quarterly  s+   Bih'//03s8;;AxQU#FC..q1AA#c(KSQCJJ'')EAHHHOLLNEJJu..034;;=LTKKs
D)JJu..034JJR]]_-  {{{{r:   c                    / SQn[        S5      R                  /[        U5      -  =p#/ n/ nU GH3  n[        S[	        US-  5      SS9n[        [        R                  R                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pUR                  U
S9  U
R                  5       nUR                  UR!                  5       S	   5        U
R#                  5       u  pU
R%                  US
-   U5        UR                  UR!                  5       S	   5        [        R                  R'                  U
R)                  5       5        GM6     XB:X  d   eXS:X  d   eg )N)gffffff?g      @r&  r	  zJan 1988r     r   r   r    rx   r   rw  r  r  s                 r7   test_finder_monthlyTestTSPlot.test_finder_monthly  s'    j)112SX==AxQV3GC..q1AA#c(KSQCJJ'')EAHHHOLLNEJJu..034JDKKs
D)JJu..034JJR]]_-  {{{{r:   c                 z   [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  p4UR                  US9  UR                  5       nUR                  5       S   n[        SS5      R                  nXg:X  d   eg )	Nr  i   r   r   r    rx   r   1989Q1)r   r   r@   rA   rB   rC   r[   rE   rF   rG   r+   r  ry  r   r   )r2   r   r   rL   r5   r  r!  r   s           r7   test_finder_monthly_long#TestTSPlot.test_finder_monthly_long#  s    8W3?RYY**1-==c#hGM

##%B$$&q)Hc"**xxr:   c                 6   / SQnU Vs/ s H  n[        USS9R                  PM     nn/ nS H  n[        SUSS9n[        [        R
                  R                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pxUR                  US9  UR                  5       n	UR                  U	R                  5       S	   5        [        R                  R!                  UR#                  5       5        M     X1:X  d   eg s  snf )
N)r   i    r    i  i  iz  r   rU   )r   r<      1   rY      iW  i  1987r   r    rx   r   )r   r   r   r   r@   rA   rB   rC   r[   rE   rF   rG   r+   r  rx  ry  ry   rf  )
r2   r   rr   r!  nyearsr   r   rL   r5   r  s
             r7   test_finder_annualTestTSPlot.test_finder_annual-  s    =3562afQS!))269FvvC@C..q1AA#c(KSQCJJ'')EAHHHOLLNEIIe--/23JJR]]_- : xx 7s   Dc                 z   Sn[        SSUS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pEUR                  US9  UR                  5       nUR                  5       S   n[        SSS9R                  nXx:X  d   eg )	Ni@ 1/1/1999MinrT   r    rx   r   rU   r   r   r@   rA   rB   rC   r[   rE   rF   rG   r+   r  ry  r   r   )	r2   nminutesr   r   rL   r5   r  r!  r   s	            r7   test_finder_minutelyTestTSPlot.test_finder_minutely<  s    %BRYY**1-==c#hGM

##%B$$&q)JU+33xxr:   c                 z   Sn[        SSUS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pEUR                  US9  UR                  5       nUR                  5       S   n[        SSS9R                  nXx:X  d   eg )	N   r  r!   rT   r    rx   r   rU   r  )	r2   nhoursr   r   rL   r5   r  r!  r   s	            r7   test_finder_hourlyTestTSPlot.test_finder_hourlyI  s    #v>RYY**1-==c#hGM

##%B$$&q)JS)11xxr:   c                    [        [        R                  " S[        R                  S9[	        SSS9S9n[        R
                  UR                  SS& [        R                  R                  5       u  p#UR                  US9  UR                  5       n[        U5      S	:X  d   eUS
   nUR                  5       n[        R                  R                  U[!        U5      [        R
                  S9n[#        U[        R                  R$                  R                  5      (       d   eUR&                  nUSS2S	4   R)                  5       (       d   e[        R                  R+                  UR-                  5       5        g )NrT  r   r   r   r%   r      rx   r)   r   mask
fill_value)r   r@   r   r   r   nanr   rE   rF   rG   r+   r.   r[   r)  maMaskedArrayr   
isinstancecorer  r,  ry   rf  r2   r4   rL   r5   lineslinerA  r  s           r7   	test_gapsTestTSPlot.test_gapsU  s   IIb

+:lTV3W
 "

##%
25zQQx uu  DJ266 J$

 6 67777yyAbD!G}  """"

)r:   c                    [        [        R                  " S[        R                  S9[	        SSS9S9nUR
                  / SQ   n[        R                  UR
                  SS& [        R                  R                  5       u  p#UR                  US	9nUR                  5       n[        U5      S
:X  d   eUS   nUR                  5       n[        R                  R                  U[!        U5      [        R                  S9n[#        U[        R                  R$                  R                  5      (       d   eUR&                  nUSS2S
4   R)                  5       (       d   e[        R                  R+                  UR-                  5       5        g )NrT  r   r   r   r%   	r   r)   r    r   r8  r=   r        r    r   rx   r)   r   r  )r   r@   r   r   r   r   r  rE   rF   rG   r+   r.   r[   r)  r  r  r   r  r  r  r,  ry   rf  r  s           r7   test_gaps_irregularTestTSPlot.test_gaps_irregularh  s%   IIb

+:lTV3W
 WW34vv!

##%WWW^5zQQx uu  DJ266 J$

 6 67777yyAaCF|!!!!

)r:   c                    / SQn[        [        R                  R                  S5      R	                  [        U5      5      U5      n[        R                  UR                  SS& [        R                  R                  5       u  p4UR                  US9  UR                  5       n[        U5      S:X  d   eUS   nUR                  5       n[        R                  R                  U[!        U5      [        R                  S9n[#        U[        R                  R$                  R                  5      (       d   eUR&                  nUSS2S4   R)                  5       (       d   eg )Nr  r    r   rx   r)   r   r  )r   r@   rA   rB   rC   r[   r  r   rE   rF   rG   r+   r.   r)  r  r  r   r  r  r  r,  )	r2   r]   r   rL   r5   r  r  rA  r  s	            r7   test_gaps_non_tsTestTSPlot.test_gaps_non_ts}  s   ,RYY**1-==c#hGM1

##%B5zQQx uu  DJ266 J$

 6 67777yyAaCF|!!!!r:   c                    [        [        R                  " S[        R                  S9[	        SSS9S9n[        R
                  UR                  SS& [        R                  R                  5       u  p#UR                  US9  [	        UR                  S	   UR                  S
   SS9n[        [        R                  R                  S5      R                  [        U5      5      U5      nUR                  SS9  UR!                  5       n[        U5      S:X  d   e[        UR"                  R!                  5       5      S:X  d   eUS	   nUR%                  5       n[        R&                  R)                  U[+        U5      [        R
                  S9n[-        U[        R&                  R.                  R(                  5      (       d   eUR0                  n	U	SS2S4   R3                  5       (       d   eg )NrT  r   r   r   r%   r   r  rx   r   r(   12hrU   r    Tsecondary_yr)   r  )r   r@   r   r   r   r  r   rE   rF   rG   r+   r&   rA   rB   rC   r[   r.   right_axr)  r  r  r   r  r  r  r,  )
r2   lowrL   r5   idxhr   r  r  rA  r  s
             r7   test_gap_upsampleTestTSPlot.test_gap_upsample  sr   IIb

+:lTV3W
 2

##%B#))A,		"EB299((+;;CIFM	4 5zQ2;;((*+q000Qx uu  DJ266 J$

 6 67777yyAbD!G}  """"r:   c                    [        [        R                  R                  S5      R	                  S5      5      n[
        R                  R                  5       u  p#UR                  SS9n[        US5      (       d   e[        US5      (       a   eUR                  5       nUR                  5       S   n[        UR                  5       UR                  5       5      n[        R                  " X5        UR!                  5       R#                  5       S:X  d   eUS   R!                  5       R%                  5       (       a   e[
        R                  R'                  U5        g )	Nr    r<   Tr  left_axr  r   right)r   r@   rA   rB   rC   rE   rF   rG   r+   r   get_axesr.   r   r/   rC  assert_series_equal	get_yaxisget_ticks_positionget_visiblery   )r2   r   rz   rL   r5   axesr  r   s           r7   test_secondary_yTestTSPlot.test_secondary_y  s   RYY**1-==bAB$$&XX$X'r9%%%%2z****||~||~a DNN$dnn&67
s'||~002g===7$$&224444

r:   c                    [        [        R                  R                  S5      R	                  S5      5        [        [        R                  R                  S5      R	                  S5      5      n[
        R                  R                  5       u  p#UR                  US9  UR                  5       R                  5       S:X  d   e[
        R                  R                  UR                  5       5        g )Nr    r<   rx   left)r   r@   rA   rB   rC   rE   rF   rG   r+   r  r  ry   rf  )r2   ser2rL   ax2s       r7   test_secondary_y_yaxis!TestTSPlot.test_secondary_y_yaxis  s    ryy$$Q'77;<bii++A.>>rBC$$&		S	}}113v===

)*r:   c                     [        [        R                  R                  S5      R	                  S5      5      n[        [        R                  R                  S5      R	                  S5      5      nUR                  5       nUR                  SS9nUR                  5       R                  5       (       d   e[        US5      (       a   e[        US5      (       d   e[        US5      (       d   e[        US5      (       a   eg )Nr    r<   Tr  r  r  )	r   r@   rA   rB   rC   r+   r  r  r   )r2   r   r  r5   r  s        r7   test_secondary_bothTestTSPlot.test_secondary_both  s    RYY**1-==bABbii++A.>>rBCYY[hh4h(||~))++++2y))))r:&&&&sI&&&&3
+++++r:   c                    [        SSS9n[        [        R                  R	                  S5      R                  S5      U5      n[        R                  R                  5       u  p4UR                  SS9n[        US5      (       d   e[        US5      (       a   eUR                  5       nUR                  5       S	   n[        UR                  5       UR                  5       5      R                  5       n[         R"                  " X(5        UR%                  5       R'                  5       S
:X  d   eUS	   R%                  5       R)                  5       (       a   e[        R                  R+                  U5        g )Nrb  r<   r   r    Tr  r  r  r   r  )r   r   r@   rA   rB   rC   rE   rF   rG   r+   r   r  r.   r   r/   rB  rC  r  r  r  r  ry   )	r2   r]   r   rz   rL   r5   r  r  r   s	            r7   test_secondary_y_tsTestTSPlot.test_secondary_y_ts  s   R0RYY**1-==bA3G$$&XX$X'r9%%%%2z****||~||~a DNN$dnn&67DDF
s'||~002g===7$$&224444

r:   c                    [        SSS9n[        [        R                  R	                  S5      R                  S5      U5      n[        R                  R                  5       u  p4UR                  US9  UR                  5       R                  5       S:X  d   e[        R                  R                  UR                  5       5        g )Nrb  r<   r   r    rx   r  )r   r   r@   rA   rB   rC   rE   rF   rG   r+   r  r  ry   rf  )r2   r]   r  rL   r  s        r7   test_secondary_y_ts_yaxis$TestTSPlot.test_secondary_y_ts_yaxis  s    R0bii++A.>>rBCH$$&		S	}}113v===

)*r:   c                     [        SSS9n[        [        R                  R	                  S5      R                  S5      U5      nUR                  5       nUR                  5       R                  5       (       d   eg )Nrb  r<   r   r    )	r   r   r@   rA   rB   rC   r+   r  r  )r2   r]   r  r5   s       r7   test_secondary_y_ts_visible&TestTSPlot.test_secondary_y_ts_visible  sZ    R0bii++A.>>rBCHYY[||~))++++r:   c                    [         R                  " S5        [        [        R                  R                  S5      R                  S5      5      n[        R                  R                  5       u  p#UR                  SSUS9n[        US5      (       d   e[        US5      (       a   eUR                  5       nUS	   R                  5       R                  5       S
:X  d   eg )Nscipyr    r<   Tdensityr  kindr5   r  r  r)   r  )r   importorskipr   r@   rA   rB   rC   rE   rF   rG   r+   r   r  r  r  r2   r   rz   r5   r  s        r7   test_secondary_kdeTestTSPlot.test_secondary_kde  s    G$RYY**1-==bAB**%%'XX$Y2X>r9%%%%2z****||~Aw  "5577BBBr:   c                 B   [        [        R                  R                  S5      R	                  S5      5      n[
        R                  R                  5       u  p#UR                  SSUS9  UR                  5       nUS   R                  5       R                  5       S:X  d   eg )Nr    r<   Tbarr  r)   r  )r   r@   rA   rB   rC   rE   rF   rG   r+   r  r  r  r  s        r7   test_secondary_barTestTSPlot.test_secondary_bar  s{    RYY**1-==bAB**%%'T"5||~Aw  "5577BBBr:   c                    [        [        R                  R                  S5      R	                  S5      / SQS9nUR                  SS/SS9nUS	   R                  5       R                  5       S
:X  d   eUS   R                  5       R                  5       S:X  d   eUS   R                  5       R                  5       S
:X  d   eg )Nr    r   rV   rl   r`  cr   rl   r  T)r  rG   r   r  r)   r  r
   r@   rA   rB   rC   r+   r  r  r2   rK   r  s      r7   test_secondary_frameTestTSPlot.test_secondary_frame  s    II!!!$44V<o
 wwC:w=Aw  "5577BBBAw  "5576AAAAw  "5577BBBr:   c                    [        [        R                  R                  S5      R	                  S5      / SQS9nUR                  SSS/SS	9nUS
   R                  5       R                  5       S:X  d   eUS   R                  5       R                  5       S:X  d   eUS   R                  5       R                  5       S:X  d   eg )Nr    r  r  r  r  rl   r  T)r  r  rG   r   r  r)   r  r  r  s      r7   test_secondary_bar_frame#TestTSPlot.test_secondary_bar_frame  s    II!!!$44V<o
 wwESzDwIAw  "5577BBBAw  "5576AAAAw  "5577BBBr:   c           	      n   [        [        R                  " S[        R                  S9[	        SSSS9S9nUR
                  / SQ   n[        R                  R                  5       u  p4UR                  US9  UR                  S	US
9nUR                  5       nSn[        R                  " [        US9   [        US   R                  5       5      n[        US   R                  5       5      n	[        R                   " XR"                  R%                  S5      5        [        R                   " XR"                  R%                  S5      5        UR'                  5       u  pUR"                  R%                  5       nS S S 5        W
WS   R(                  ::  d   eWUS   R(                  :  d   eg ! , (       d  f       N9= fNr  r   r   rw   r   r%   r   r   r<   r	  r        r  rx   gr   r=  r~   r   r)   r(   )r   r@   r   r   r   r   rE   rF   rG   r+   r.   rC  rD  rE  r   r/   r[  r&   r   rc  r   r2   s1s2rL   r5   r  r  r   idx1idx2r  r  pidxs                r7   test_mixed_freq_regular_first(TestTSPlot.test_mixed_freq_regular_first  sW   IIb

+\2C@
 WW34 

##%
2ggCBg'/''SAuQx1134DuQx1134D!!$(:(:3(?@!!$(:(:3(?@,,.KD88%%'D B tAw&&&R((((( BAs   0CF&&
F4c                    [        [        R                  " S[        R                  S9[	        SSS9S9nUR
                  / SQ   n[        R                  R                  5       u  p4UR                  SUS9  UR                  US	9  [        US
5      (       a   eUR                  5       nUS   R                  5       n[        R                  " XbR                  R!                  ["        5      R$                  5        US   R                  5       n[        R                  " XqR                  R!                  ["        5      R$                  5        g Nr  r   r   r   r%   r  r  r   rx   r#   r   r)   )r   r@   r   r   r   r   rE   rF   rG   r+   r   r.   r/   rC  assert_numpy_array_equalr&   r3  r4  rZ   r2   r	  r
  rL   r5   r  x1x2s           r7   test_mixed_freq_irregular_first*TestTSPlot.test_mixed_freq_irregular_first!  s    IIb

+:lTV3W
 WW34

##%
cb!
22v&&&&1X!
##B(?(F(FG1X!
##B(?(F(FGr:   c           	         [        [        R                  " S[        R                  S9[	        SSSS9S9R                  5       nUR                  / SQS S 24   n[        R                  R                  5       u  p4UR                  US9  UR                  S	US
9nUR                  5       nSn[        R                  " [        US9   [        US   R!                  5       5      n[        US   R!                  5       5      n	UR#                  UR$                  R'                  S5      5      (       d   eU	R#                  UR$                  R'                  S5      5      (       d   eUR)                  5       u  pUR$                  R'                  5       nS S S 5        W
WS   R*                  ::  d   eWUS   R*                  :  d   eg ! , (       d  f       N9= fr  )r   r@   r   r   r   to_framer   rE   rF   rG   r+   r.   rC  rD  rE  r   r/   equalsr&   r   rc  r   r  s                r7    test_mixed_freq_regular_first_df+TestTSPlot.test_mixed_freq_regular_first_df0  st   IIb

+\2C@
 (* 	 WW3Q67

##%
2ggCBg'/''SAuQx1134DuQx1134D;;rxx11#67777;;rxx11#67777,,.KD88%%'D B tAw&&&R((((( BAs   CF<<
G
c                    [        [        R                  " S[        R                  S9[	        SSS9S9R                  5       nUR                  / SQS S 24   n[        R                  R                  5       u  p4UR                  SUS9  UR                  US	9  [        US
5      (       a   eUR                  5       nUS   R                  5       n[        R                  " XbR                   R#                  [$        5      R&                  5        US   R                  5       n[        R                  " XqR                   R#                  [$        5      R&                  5        g r  )r   r@   r   r   r   r  r   rE   rF   rG   r+   r   r.   r/   rC  r  r&   r3  r4  rZ   r  s           r7   "test_mixed_freq_irregular_first_df-TestTSPlot.test_mixed_freq_irregular_first_dfF  s    IIb

+:lTV3W

(* 	 WW3Q67

##%
cb!
22v&&&&1X!
##B(?(F(FG1X!
##B(?(F(FGr:   c                 ,   [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pVUR                  US9  UR                  US9  UR                  5        H*  n[        UR                  5       S	9R                  S:X  a  M*   e   g )
Nr  m  r   r   r  r   r    rx   r@  r   r   r@   rA   rB   rC   r[   rE   rF   rG   r+   r.   r   r/   r#   r2   r  idxlhighr  rL   r5   r  s           r7   test_mixed_freq_hf_first#TestTSPlot.test_mixed_freq_hf_firstV  s    *c<*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

##%		R	BLLNDDNN$45::cAAA #r:   c                    [        SSSS9n[        R                  R                  S5      R	                  S5      n[        X!S9nUR                  S5      R                  5       n[        R                  R                  5       u  pVUR                  US	9nUR                  S
US9  UR                  S   R                  5       S   UR                  S   R                  5       S   :X  d   eg )Nz2012-01-01 13:00
2012-01-02r!   rU   r    r  r%   r   rx   rr   r   r)   )r   r@   rA   rB   rC   r   r   interpolaterE   rF   rG   r+   r  r/   )r2   ts_indts_datar4   ts2rL   r5   s          r7   test_mixed_freq_alignment$TestTSPlot.test_mixed_freq_alignmenta  s    .3G))''*::2>G*ii**,

##%WWW^sr"xx{$$&q)RXXa[-B-B-DQ-GGGGr:   c                    [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pVUR                  SUS	9  UR                  SUS	9  UR                  5        H*  n[        UR                  5       S
9R                  S:X  a  M*   e   UR                  5       n[        UR                   5      S:X  d   e[        R                  R#                  UR%                  5       5        g )Nr  r!  r   r   r  r   r    T)legendr5   r@  )r   r   r@   rA   rB   rC   r[   rE   rF   rG   r+   r.   r   r/   r#   
get_legendtextsry   rf  )	r2   r  r$  r%  r  rL   r5   r  legs	            r7   test_mixed_freq_lf_first#TestTSPlot.test_mixed_freq_lf_firstn  s   *c<*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

##%$		"	%LLNDDNN$45::cAAA #mmo399~"""

)r:   c                 ,   [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pVUR                  US9  UR                  US9  UR                  5        H*  n[        UR                  5       S	9R                  S:X  a  M*   e   g )
Nr     r   r   r&  r!   r    rx   r@  r"  r#  s           r7   test_mixed_freq_lf_first_hourly*TestTSPlot.test_mixed_freq_lf_first_hourly|  s    *c>*ac:bii++A.>>s4yI4PRYY**1-==c$iH$O

##%B		R	LLNDDNN$45::eCCC #r:   c                 
   [        [        R                  " S[        R                  S9[	        SSS9S9nUR
                  / SQ   nSn[        R                  " [        US9   [        S	SS
S9nS S S 5        [        [        R                  R                  S5      R                  [        W5      5      U5      n[        R                  R!                  5       u  pgUR#                  US9  UR#                  US9  g ! , (       d  f       N= f)NrT  r   r   r   r%   )r   r)   r    rV   r&  r   r   r8     r=   r<   r              r=  r~   z1/3/2000rw   r   r    rx   )r   r@   r   r   r   r   rC  rD  rE  r   rA   rB   rC   r[   rE   rF   rG   r+   )r2   r4   r-  r   r   psrL   r5   s           r7   test_mixed_freq_irreg_period'TestTSPlot.test_mixed_freq_irreg_period  s    IIb

+:lTV3W
 NO/''SAz2C@C BBII))!,<<SXFL

##%

b

2 BAs    C44
Dc                    [        SSSS9nUS S R                  USS  5      n[        [        [	        U5      5      U5      n[        [        [	        U5      5      U5      n[
        R                  R                  SSS9u  nu  pgUR                  US	9  UR                  US	9  UR                  S
:X  d   eUR                  S
:X  d   eUR                  S   R                  5       S   UR                  S   R                  5       S   :X  d   eg )N
2015-01-01rV   r   r   r)   r    T)nrowssharexrx   r   r   r'   )r   r\   r   rD   r[   rE   rF   rG   r+   r#   r  r)  r2   r  r  r	  r
  rL   ax1r  s           r7   test_mixed_freq_shared_ax$TestTSPlot.test_mixed_freq_shared_ax  s    ,=BQx~~d12h'E#d)$d+E#d)$d+

++!D+A:C
3
3xx3xx3yy|&&(.#))A,2I2I2KD2QQQQr:   c                    [        SSSS9nUS S R                  USS  5      n[        [        [	        U5      5      U5      n[        [        [	        U5      5      U5      n[
        R                  R                  5       u  pVUR                  5       nUR                  US9  UR                  US9  UR                  S   R                  5       S	   UR                  S   R                  5       S	   :X  d   eg )
NrF  rV   r   r   r)   r    rx   r   r'   r   r\   r   rD   r[   rE   rF   rG   twinxr+   r  r)  rI  s           r7    test_mixed_freq_shared_ax_twin_x+TestTSPlot.test_mixed_freq_shared_ax_twin_x  s    ,=BQx~~d12h'E#d)$d+E#d)$d+$$&iik
3
3yy|&&(.#))A,2I2I2KD2QQQQr:   zTODO (GH14330, GH14322)c                    [        SSSS9nUS S R                  USS  5      n[        [        [	        U5      5      U5      n[        [        [	        U5      5      U5      n[
        R                  R                  5       u  pVUR                  5       nUR                  US9  UR                  US9  UR                  S   R                  5       S	   UR                  S   R                  5       S	   :X  d   eg )
NrF  rV   r   r   r)   r    rx   r   r'   rN  rI  s           r7   0test_mixed_freq_shared_ax_twin_x_irregular_first;TestTSPlot.test_mixed_freq_shared_ax_twin_x_irregular_first  s     ,<BQx~~d12h'E#d)$d+E#d)$d+$$&iik
3
3yy|&&(.#))A,2I2I2KD2QQQQr:   c                    [         R                  R                  5       u  p[        S[        S/5      n[        [        [        U5      5      U5      nUR                  US9  UR                  5       S   R                  5       nUR                  R                  5       [        U5      R                  5       ::  d   e[        U5      R                  5       UR                  R                  5       ::  d   eg )NrF  z
2015-01-03rx   r   )rE   rF   rG   r   r   r   rD   r[   r+   r.   r/   r&   r   max)r2   rL   r5   dtir   r6   s         r7   test_nat_handlingTestTSPlot.test_nat_handling  s    

##%\3=>5S?C(	"q!++-ww{{}u 1 1 3333e}  "aggkkm333r:   c                    [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pVUR                  US9  S	n[        R                  " [        US
9   UR                  USS9  S S S 5        g ! , (       d  f       g = f)Nr  4   r   r   r  r   r    rx   zz'how' is not a valid keyword for plotting functions. If plotting multiple objects on shared axes, resample manually first.r~   foo)r5   how)r   r   r@   rA   rB   rC   r[   rE   rF   rG   r+   r   r   r   )r2   r  r$  r%  r  rL   r5   r   s           r7   *test_to_weekly_resampling_disallow_how_kwd5TestTSPlot.test_to_weekly_resampling_disallow_how_kwd  s    *bs;*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

##%		R	H 	 ]]:S1HHH& 211s   #C==
Dc                 @   [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pVUR                  US9  UR                  US9  UR                  5        H4  n[        UR                  5       S	9R                  UR                  :X  a  M4   e   g )
Nr  r[  r   r   r  r   r    rx   r@  r"  r#  s           r7   test_to_weekly_resampling$TestTSPlot.test_to_weekly_resampling  s    *bs;*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

##%		R	BLLNDDNN$45::diiGGG #r:   c                    [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pVUR                  US9  UR                  US9  UR                  5       R                  R                  [        R                  5      n[        R                  " / S	Q[        R                  S
9nUR!                  5        H  n	[#        U	R%                  5       S9R&                  UR&                  :X  d   eU	R%                  SS9n
[        U
5      S:X  a  [(        R*                  " X5        Mj  [(        R*                  " X5        M     g )Nr  r[  r   r   r  r   r    rx   i  i  i  i  i  i   i  i  i  i  i  i  r   r@  Forig)r   r   r@   rA   rB   rC   r[   rE   rF   rG   r+   r   asi8r3  r   rj   r.   r   r/   r#   rC  r  )r2   r  r$  r%  r  rL   r5   
expected_h
expected_lr  r6   s              r7   test_from_weekly_resampling&TestTSPlot.test_from_weekly_resampling  sH   *bs;*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

##%B		R	^^%**11"**=
XXT**

 LLNDDNN$45::diiGGGNNN.E5zR++E>++E> #r:   zkind1, kind2)r  area)rl  r  c                    [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      S45      U/ S	QS
9n[        [        R                  R	                  S5      R                  [        U5      S45      U/ S	QS
9n[        R                  R                  5       u  pxUR                  USUS9  UR                  USUS9  [        R                  " / SQ[        R                  S9n	[        R                  " [        U	5      [        R                  S9n
[        S5       H  nUR                  U   n[        UR!                  5       5      R"                  UR"                  :X  d   e[$        R&                  " UR!                  SS9U	5        XU   R(                  -  n
[$        R&                  " UR+                  SS9U
5        M     UR-                  5       R.                  R1                  [        R                  5      n	[        R                  " [        U	5      [        R                  S9n
[        S5       H  nUR                  SU-      n[        UR!                  5       S9R"                  UR"                  :X  d   e[$        R&                  " UR!                  SS9U	5        XU   R(                  -  n
[$        R&                  " UR+                  SS9U
5        M     g )Nr  r[  r   r   r  r   r    rV   r   r)   r    r   Tr  stackedr5   rd  r   Fre  r@  )r   r
   r@   rA   rB   r[   rE   rF   rG   r+   rj   r   zerosrD   r  r   r/   r#   rC  r  rZ   r   r   rg  r3  )r2   kind1kind2r  r$  r%  r  rL   r5   
expected_x
expected_yrk   r  s                r7   $test_from_resampling_area_line_mixed/TestTSPlot.test_from_resampling_area_line_mixed  sE   *bs;*bt<II!!!$++SYN;

 II!!!$++SYN;
 

##%eTb1		udr	2 XX **

" XXc*oRZZ@
qA88A;Dt~~/055BBB''E(BJOa&--'J''E(BJO  ^^%**11"**=
XXc*oRZZ@
qA88AE?DDNN$45::diiGGG''E(BJOq'..(J''E(BJO r:   c                    [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      S45      U/ S	QS
9n[        [        R                  R	                  S5      R                  [        U5      S45      U/ S	QS
9n[        R                  R                  5       u  pxUR                  USUS9  UR                  USUS9  UR                  5       R                  R                  [        R                  5      n	[        R                  " [        U	5      [        R                  S9n
[        S5       H  nUR                   U   n[#        UR%                  5       S9R&                  UR&                  :X  d   e[(        R*                  " UR%                  SS9U	5        XU   R,                  -  n
[(        R*                  " UR/                  SS9U
5        M     [        R0                  " / SQ[        R                  S9n	[        R                  " [        U	5      [        R                  S9n
[        S5       H  nUR                   SU-      n[#        UR%                  5       S9R&                  UR&                  :X  d   e[(        R*                  " UR%                  SS9U	5        XU   R,                  -  n
[(        R*                  " UR/                  SS9U
5        M     g )Nr  r[  r   r   r  r   r    rV   rn  r   Tro  r   r@  Fre  rd  )r   r
   r@   rA   rB   r[   rE   rF   rG   r+   r   rg  r3  r   rq  rD   r  r   r/   r#   rC  r  rZ   r   rj   )r2   rr  rs  r  r$  r%  r  rL   r5   rt  ru  rk   r  r  s                 r7   0test_from_resampling_area_line_mixed_high_to_low;TestTSPlot.test_from_resampling_area_line_mixed_high_to_low2  sE   *bs;*bt<II!!!$++SYN;

 II!!!$++SYN;

 

##%		udr	2eTb1 ^^%**11"**=
XXc*oRZZ@
qA88A;DDNN$45::diiGGG''E(BJOq'..(J''E(BJO  XX **

" XXc*oRZZ@
qAHHQUOEEOO$56;;tyyHHH''U(CZPa&--'J''U(CZP r:   c                 j   [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pVUR                  US9  UR                  US9  [        UR                  5       5      S:X  d   eUR                  5        H*  n[        UR                  5       S	9R                  S
:X  a  M*   e   g Nz2014-07-01 09:00r   2   rT   100msr  r    rx   r@  r   r"  r#  s           r7   "test_mixed_freq_second_millisecond-TestTSPlot.test_mixed_freq_second_millisecondh  s    ,3C,7CHbii++A.>>s4yI4PRYY**1-==c$iH$O

##%		R	B2<<>"a'''LLNDDNN$45::dBBB #r:   c                 j   [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pVUR                  US9  UR                  US9  [        UR                  5       5      S:X  d   eUR                  5        H*  n[        UR                  5       S	9R                  S
:X  a  M*   e   g r|  r"  r#  s           r7   .test_mixed_freq_second_millisecond_low_to_high9TestTSPlot.test_mixed_freq_second_millisecond_low_to_highv  s    ,3C,7CHbii++A.>>s4yI4PRYY**1-==c$iH$O

##%B		R	2<<>"a'''LLNDDNN$45::dBBB #r:   c                    [        SSS5      [        SSS5      [        SSS5      /n[        [        R                  R	                  S5      R                  [        U5      S45      [        U[        S95      n[        UR                  5        g )Nr  r)   r   r  r    rV   r   )r   r
   r@   rA   rB   rC   r[   r   r4  r*   r+   rc   s      r7   test_irreg_dtypesTestTSPlot.test_irreg_dtypes  sp    D!QdAq!14a3DEII!!!$44c#h]C#V$
 	"''"r:   c                 :   [        SSS9nU/ SQ   R                  [        5      n[        [        R
                  R                  S5      R                  [        U5      S45      U5      n[        R                  R                  5       u  p4[        UR                  US9  g )Nrb  r<   r   )r   r    r   r=   r    rV   rx   )r   r3  r4  r
   r@   rA   rB   rC   r[   rE   rF   rG   r*   r+   )r2   r]   rK   rL   r5   s        r7   test_irreg_dtypes_dt64!TestTSPlot.test_irreg_dtypes_dt64  st    R0,&&v.ryy,,Q/??S1NPST

##%"''b)r:   c                    [        SSSSSS5      n[        R                  R                  S5      R	                  SSS5      R                  5       n[        R                  " U Vs/ s H%  o1[        [        U5      S9-   R                  5       PM'     sn5      n[        [        R                  R                  S5      R                  [        U5      5      [        R                  R                  S5      R                  [        U5      5      S.US	9n[        R                  R                  5       u  pgUR!                  US
9  UR#                  5       nUR%                  5       n	['        X5       H  u  p[)        [        U
5      S5      u  p[)        US5      u  pUR+                  5       n[        U5      S:  d  MK  US:w  a  [        XU5      R-                  S5      nO[        XU5      R-                  S5      nUU:X  a  M   e   g s  snf )Nr)   rV   rT  r   r    r  rU  r_  r%   rx   <   %H:%M:%S%H:%M)r   r@   rA   rB   integerscumsumrj   r   re  r   r
   rC   r[   rE   rF   rG   r+   
get_xticksrH   r  divmodr  r  r2   tdeltasrr   r4   rK   rL   r5   tickslabels_tick_labelmr   r!   r!  r   s                    r7   	test_timeTestTSPlot.test_time  s   Q1aQ'&&q)221b!<CCEXXvNv!Ic!f55;;=vNOYY**1-==c"gFYY**1-==c"gF 
 

##%
2 ##% /ME#e*b)DA!R=DA"B2w{6aA//
;BaA//8BRxx 0 Os   #,G<c                    [        SSSSSS5      n[        R                  R                  S5      R	                  SSS5      R                  5       n[        R                  " U Vs/ s H%  o1[        [        U5      S9-   R                  5       PM'     sn5      n[        [        R                  R                  S5      R                  [        U5      5      [        R                  R                  S5      R                  [        U5      5      S.US	9n[        R                  R                  5       u  pgUR!                  US
9  UR#                  5       nUR%                  5       n	['        X5       H  u  p[)        [        U
5      S5      u  p[)        US5      u  pUR+                  5       n[        U5      S:  d  MK  US:w  a  [        XU5      R-                  S5      nO[        XU5      R-                  S5      nUU:X  a  M   e   UR/                  SS5        UR#                  5       nUR%                  5       n	['        X5       H  u  p[)        [        U
5      S5      u  p[)        US5      u  pUR+                  5       n[        U5      S:  d  MK  US:w  a  [        XU5      R-                  S5      nO[        XU5      R-                  S5      nUU:X  a  M   e   g s  snf )Nr)   rV   rT  r   r    r  rU  r_  r%   rx   r  r  r  z1:30z5:00)r   r@   rA   rB   r  r  rj   r   re  r   r
   rC   r[   rE   rF   rG   r+   r  rH   r  r  r  r  rd  r  s                    r7   test_time_change_xlim TestTSPlot.test_time_change_xlim  sC   Q1aQ'&&q)221b!<CCEXXvNv!Ic!f55;;=vNOYY**1-==c"gFYY**1-==c"gF 
 

##%
2 ##% /ME#e*b)DA!R=DA"B2w{6aA//
;BaA//8BRxx 0 	FF# ##% /ME#e*b)DA!R=DA"B2w{6aA//
;BaA//8BRxx 0? Os   #,Kc                    [        SSSSSS5      n[        R                  R                  S5      R	                  SSS5      R                  5       n[        R                  " U Vs/ s H%  o1[        [        U5      S9-   R                  5       PM'     sn5      n[        [        R                  R                  S5      R                  [        U5      5      [        R                  R                  S5      R                  [        U5      5      S.US	9n[        R                  R                  5       u  pgUR!                  US
9nUR#                  5       nUR%                  5       n	['        X5       H  u  p[)        [        U
5      S5      u  p[+        U
[        U
5      -
  S-  5      n[)        US5      u  pUR-                  5       n[        U5      S:  d  Me  US-  S:w  a  [        XX5      R/                  S5      nOeUS-  S:w  a  [        XX5      R/                  S5      S S nO=US:w  a  [        XX5      R/                  S5      nO[        XX5      R/                  S5      nUU:X  a  M   e   g s  snf )Nr)   rV   rT  r   r    r  )microsecondsr_  r%   rx   r  g    .Ai  r  r  r  )r   r@   rA   rB   r  r  rj   r   re  r   r
   rC   r[   rE   rF   rG   r+   r  rH   r  r  roundr  r  )r2   r  r  rr   r4   rK   rL   r5   r  r  r  r  r  r   r   r!   r!  r   s                     r7   test_time_musecTestTSPlot.test_time_musec  s   Q1aQ'&&q)221b!<CCEXXFSFqI3q6::@@BFSTYY**1-==c"gFYY**1-==c"gF 
 

##%WWW^ ##% /ME#e*b)DAE
*c12B!R=DA"B2w{I!#aA*33MBBDjQ&aA*33MB3BGB!VaA*33J?BaA*33G<BRxx! 0 Ts   #,I#c                    [        SSSS9n[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  pVUR                  US9  UR                  S	US
9nUR                  5        H,  n[        UR                  5       5      R                  S:X  a  M,   e   [        US5      (       d   e[        US5      (       a   eUR                   R                  5        H,  n[        UR                  5       5      R                  S:X  a  M,   e   g )Nr  r!  r   r   r  r   r    rx   Tr  r5   r  r  )r   r   r@   rA   rB   rC   r[   rE   rF   rG   r+   r.   r   r/   r#   r   r  r#  s           r7   test_secondary_upsample"TestTSPlot.test_secondary_upsample  s2   *c<*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

##%BYY4BY/LLNDt~~/055<<< #r9%%%%2z****JJ((*Dt~~/055<<< +r:   c           
         [         R                  R                  5       nUR                  S5      n[	        [
        R                  R                  S5      R                  S5      [        [        S5      [        S9[        SSSS	9S
9nUR                  SS/US9  UR                  5       n[        UR!                  5       5      S:X  d   eUR#                  5       S   R%                  5       S:X  d   eUR#                  5       S   R%                  5       S:X  d   eUR#                  5       S   R%                  5       S:X  d   eUR#                  5       S   R%                  5       S:X  d   eUR&                  R                  5       b   e[)        5       nUR!                  5        H"  nUR+                  UR-                  5       5        M$     [        U5      S:X  d   e[         R                  R/                  U5        g )N   r    r<   r&  ABCDr   
2000-01-01r<   rw   r   r   r&   rv   r  r&  r   	A (right)r)   z	B (right)r   rV   r   )rE   rF   figureadd_subplotr
   r@   rA   rB   rC   r   listr4  r   r+   r3  r[   r.   	get_textsr  r  setaddr   ry   )r2   rz   r5   rK   r5  colorsr  s          r7   test_secondary_legend TestTSPlot.test_secondary_legend  s   jj!__S! II!!!$44W=$v,f5\2C@

 	S#J2.mmo3==?#q(((}}q!**,;;;}}q!**,;;;}}q!**,333}}q!**,333{{%%'///MMODJJt~~'( $ 6{a

r:   c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        R                  R                  5       nUR                  S
5      nUR                  SS/SUS9  UR                  5       n[        UR!                  5       5      S:X  d   eUR#                  5       S   R%                  5       S:X  d   eUR#                  5       S   R%                  5       S:X  d   eUR#                  5       S   R%                  5       S:X  d   eUR#                  5       S   R%                  5       S:X  d   e[        R                  R'                  U5        g )Nr    r  r  r   r  r<   rw   r   r  r  rv   r   F)r  
mark_rightr5   r&  r   r)   rV   r   )r
   r@   rA   rB   rC   r   r  r4  r   rE   rF   r  r  r+   r3  r[   r.   r  r  ry   r2   rK   rz   r5   r5  s        r7   test_secondary_legend_right&TestTSPlot.test_secondary_legend_right*  s9   II!!!$44W=$v,f5\2C@

 jj!__S!
S#J5R@mmo3==?#q(((}}q!**,333}}q!**,333}}q!**,333}}q!**,333

r:   c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        R                  R                  5       u  p#UR                  S
S/US9  UR                  5       nUR                  5       S   R                  5       S:X  d   eUR                  5       S   R                  5       S:X  d   e[        R                  R!                  U5        g )Nr    r  r  r   r  r<   rw   r   r  r  rv   )r  r  r5   r   r  r)   r
   r@   rA   rB   rC   r   r  r4  r   rE   rF   rG   r+   r3  r  r  ry   r  s        r7   test_secondary_legend_bar$TestTSPlot.test_secondary_legend_bar;  s    II!!!$44W=$v,f5\2C@

 **%%'
U"5mmo}}q!**,;;;}}q!**,333

r:   c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        R                  R                  5       u  p#UR                  S
S/SUS9  UR                  5       nUR                  5       S   R                  5       S:X  d   eUR                  5       S   R                  5       S:X  d   e[        R                  R!                  U5        g )Nr    r  r  r   r  r<   rw   r   r  r  rv   F)r  r  r  r5   r   r)   r  r  s        r7   test_secondary_legend_bar_right*TestTSPlot.test_secondary_legend_bar_rightH  s    II!!!$44W=$v,f5\2C@

 **%%'
U%BGmmo}}q!**,333}}q!**,333

r:   c           
      R   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        R                  R                  5       nUR                  S
5      n[        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9nUR                  SS/US9nUR                  5       n[        UR!                  5       5      S:X  d   eUR"                  R                  5       b   e[%        5       nUR!                  5        H"  nUR'                  UR)                  5       5        M$     [        U5      S:X  d   e[        R                  R+                  U5        g )Nr    r  r  r   r  r<   rw   r   r  r  r   r   r  r&  )r
   r@   rA   rB   rC   r   r  r4  r   rE   rF   r  r  r+   r3  r[   r.   r  r  r  r   ry   )r2   rK   rz   r5   r5  r  r  s          r7   test_secondary_legend_multi_col*TestTSPlot.test_secondary_legend_multi_colU  sK   II!!!$44W=$v,f5\2C@

 jj!__S!II!!!$44W=$v,f5\2C@

 WW#sW3mmo3==?#q((({{%%'///MMODJJt~~'( $ 6{a

r:   c                    [        S[        R                  " S5      R                  S5      -  [	        [        S5      [        S9[	        [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9n[        R                  R                  5       nUR                  S	5      nUR                  S
S/US9nUR                  5       n[        UR                  5       5      S:X  d   eUR                   R                  5       b   e[#        5       nUR                  5        H"  nUR%                  UR'                  5       5        M$     [        U5      S:X  d   e[        R                  R)                  5         g s  snf )N皙?x   rT  r&  r  r   rT  i-r  r  rv   rw   r  r&  )r
   r@   r   reshaper   r  r4  rD   rE   rF   r  r  r+   r3  r[   r.   r  r  r  r   ry   r2   rk   rK   rz   r5   r5  r  r  s           r7   test_secondary_legend_nonts&TestTSPlot.test_secondary_legend_nontsn  s    "))C.((11$v,f55959a2aS95VD

 jj!__S!WW#sW3mmo3==?#q((({{%%'///MMODJJt~~'( $ 6{a

 6s   E-c                    [        S[        R                  " S5      R                  S5      -  [	        [        S5      [        S9[	        [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9n[        R                  R                  5       nUR                  S	5      nUR                  S
S/US9nUR                  5       n[        UR                  5       5      S:X  d   eUR                   R                  5       b   e[#        5       nUR                  5        H"  nUR%                  UR'                  5       5        M$     [        U5      S:X  d   eg s  snf )Nr  r  r  r  r   rT  r  r  r  r   r   r  r&  )r
   r@   r   r  r   r  r4  rD   rE   rF   r  r  r+   r3  r[   r.   r  r  r  r   r  s           r7   %test_secondary_legend_nonts_multi_col0TestTSPlot.test_secondary_legend_nonts_multi_col  s   "))C.((11$v,f55959a2aS95VD

 jj!__S!WW#sW3mmo3==?#q((({{%%'///MMODJJt~~'( $ 6{a 6s   Ec                    [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      S45      U5      n[        R                  R                  5       u  p4UR                  US9nUR                  5       nUR                  5        H8  n[        UR                  5       5      S:  d  M"  UR                  5       S	:X  a  M8   e   g )
Nr   r  r   r   r    rV   rx   r   rT  )r   r
   r@   rA   rB   rC   r[   rE   rF   rG   r+   r  r  r  get_rotation)r2   r   rK   rL   r5   r  r  s          r7   test_format_date_axis TestTSPlot.test_format_date_axis  s    Rd;ryy,,Q/??S1NPST

##%WWW^((*D4==?#a'((*b000 +r:   c                    [        SSSS9n[        [        [        U5      5      5      n[        R
                  R                  5       u  p4UR                  XSS9n[        R                  " [        US   R                  5       5      U5        g )Nr)  r<   r   r>  r   )rM   r   )r   r  rD   r[   rE   rF   rG   r+   rC  r[  r   r/   )r2   rr   rs   rL   r5   r  s         r7   test_ax_plotTestTSPlot.test_ax_plot  sj    \2C@s1v

##%C(
mE!H,>,>,@A1Er:   c           
      \   [        SSS5      [        SSS5      /n[        R                  " SSS5      n[        R                  " SS	S5      n[        R                  R                  5       u  pEUR                  U Vs/ s H  ofR                  5       PM     snUS
U Vs/ s H  ofR                  5       PM     snUS
SS9u  nn[        R                  " U Vs/ s H  ofR                  5       PM     sn[        R                  S9n	[        R                  " UR                  5       S S 2S4   U	5        [        R                  " U Vs/ s H  ofR                  5       PM     sn[        R                  S9n	[        R                  " UR                  5       S S 2S4   U	5        g s  snf s  snf s  snf s  snf )N  r     i  r)   g      $@g      &@g      ?g      (@-r&  )	linewidthr   r   )r   r@   r   rE   rF   rG   r+   	toordinalrj   r   rC  r  r)  )
r2   datesvalues1values2rL   r5   rr   line1line2exps
             r7   test_mpl_nopandasTestTSPlot.test_mpl_nopandas  sU   dB#T$2%67))D$,))D$,

##% GG$)*Eq[[]E*$)*Eq[[]E*  
	
 hhu5u!u5RZZH
##E$4$4$6q!t$<cBhhu5u!u5RZZH
##E$4$4$6q!t$<cB + + 65s   :FFF$ F)c                    SSK Jn  [        [        R                  " S[        R
                  S9[        SSS9S9nUR                  / SQ   n[        R                  R                  5       u  pEUS S	 R                  US
9  US	S  R                  US
9  UR                  5       u  pgXaR                  UR                  R                  5       SU5      ::  d   eXqR                  UR                  R!                  5       SU5      :  d   eg )Nr   DatetimeConverterr  r   r   r   r%   r)   r&  r   r   r=  r=   r<   r  r  r  r  r?  r@  r   rx    r   r  r   r@   r   r   r   r   rE   rF   rG   r+   rc  convertr&   r   rV  r2   r  r4   ts_irregularrL   r5   r  r  s           r7    test_irregular_ts_shared_ax_xlim+TestTSPlot.test_irregular_ts_shared_ax_xlim  s    KIIb

+:lTV3W
 wwMN 

##%Ra$QR$ kkm001C1C1G1G1I2rRRRR11,2D2D2H2H2JBPRSSSSr:   c                    / SQn/ SQn[        SUS9n[        SUS9n[        R                  R                  5       u  pVUR	                  US9  UR                  5       u  pxUR	                  SUS9  UR                  5       u  pXy:  d   eX:  d   eg )	N)r)   r    rV   r&  )r   r   r8  r=  r)   r%   r    rx   Tr  )r   rE   rF   rG   r+   rc  r2   index_1index_2r	  r
  rL   r5   left_beforeright_before
left_afterright_afters              r7   test_secondary_y_non_ts_xlim'TestTSPlot.test_secondary_y_non_ts_xlim  s    AW%AW%

##%
2$&KKM!
DR("$++-
((()))r:   c                 :   [        SSSS9n[        SSSS9n[        SUS9n[        SUS9n[        R                  R	                  5       u  pVUR                  US	9  UR                  5       u  pxUR                  S
US9  UR                  5       u  pXy:  d   eX:  d   eg )Nr  r&  r   r>  z
2000-01-05r)   r%   r    rx   Tr  )r   r   rE   rF   rG   r+   rc  r  s              r7    test_secondary_y_regular_ts_xlim+TestTSPlot.test_secondary_y_regular_ts_xlim  s    <E<EAW%AW%

##%
2$&KKM!
DR("$++-
((()))r:   c                 J   [        SSSS9n[        SUS9n[        R                  R	                  5       u  p4UR                  US9  UR                  5       u  pVUR                  S5      R                  5       R                  S	US
9  UR                  5       u  pxXW:X  d   eXh:X  d   eg )Nr  rv  r   r   r)   r%   rx   r   Tr  )	r   r   rE   rF   rG   r+   rc  resamplemean)	r2   r   r4   rL   r5   r  r  r  r  s	            r7   #test_secondary_y_mixed_freq_ts_xlim.TestTSPlot.test_secondary_y_mixed_freq_ts_xlim  s    u5AAS!

##%
2$&KKM!
C$$"$="$++-
 (((***r:   c                 *   SSK Jn  [        [        R                  " S[        R
                  S9[        SSS9S9nUR                  / SQ   n[        R                  R                  5       u  pEUS S	 R                  US
9  US	S  R                  SUS9  US S	 R                  US
9  UR                  5       u  pgXaR                  UR                  R                  5       SU5      ::  d   eXqR                  UR                  R!                  5       SU5      :  d   eg )Nr   r  r  r   r   r   r%   r  r   rx   Tr  r  r  r  s           r7   "test_secondary_y_irregular_ts_xlim-TestTSPlot.test_secondary_y_irregular_ts_xlim  s    KIIb

+:lTV3W
 wwMN

##%Ra$QR$26Ra$kkm001C1C1G1G1I2rRRRR11,2D2D2H2H2JBPRSSSSr:   c                     [        SSS5      [        SSS5      /n[        R                  R                  5       u  p#UR	                  U5        [        SSSS5      [        SSSS5      /nUR	                  U5        g )Ni  r)   r    r  )r   rE   rF   rG   r+   r   )r2   rZ   rL   r5   s       r7   test_plot_outofbounds_datetime)TestTSPlot.test_plot_outofbounds_datetime  sh    tQ"Dq!$45

##%
4Ar*HT1a,DE
r:   c                 D   [         R                  " S5       Vs/ s H	  nSUS 3PM     nn[        SSSS9n[        [         R                  R                  S5      R                  [        U5      S45      U5      n[        R                  R                  5       u  pVUR                  SUS	9  [        R                  R                  5         UR                  5       nU Vs/ s H  oR                  5       PM     n	n[        U	5      [        U5      :X  d   eX:X  d   eg s  snf s  snf )
Nr<   z00:00:00.0000000z0>2d0nsr   r    rV   r>   )r@   r   r   r
   rA   rB   rC   r[   rE   rF   rG   r+   drawrH   r  )
r2   rk   expected_labelsr   rK   rL   r5   r  rr   result_labelss
             r7   "test_format_timedelta_ticks_narrow-TestTSPlot.test_format_timedelta_ticks_narrow   s    @B		"N1-aX6Nc2D9ryy,,Q/??S1NPST

##%
r"

##%/56v!v6=!S%9999/// O 7s   DDc                    / SQn[        SSSS9n[        [        R                  R	                  S5      R                  [        U5      S45      U5      n[        R                  R                  5       u  pEUR                  SUS9n[        R                  R                  5         UR                  5       nU Vs/ s H  owR                  5       PM     nn[        U5      [        U5      :X  d   eX:X  d   eg s  snf )	N)	z00:00:00z1 days 03:46:40z2 days 07:33:20z3 days 11:20:00z4 days 15:06:40z5 days 18:53:20z6 days 22:40:00z8 days 02:26:40z9 days 06:13:20r  r<   1 dr   r    rV   r>   )r   r
   r@   rA   rB   rC   r[   rE   rF   rG   r+   r  rH   r  )	r2   r  r   rK   rL   r5   r  rr   r  s	            r7    test_format_timedelta_ticks_wide+TestTSPlot.test_format_timedelta_ticks_wide.  s    

 c2E:ryy,,Q/??S1NPST

##%WWaBW'

##%/56v!v6=!S%9999/// 7s   5C2c                     [        [        S5      [        SSS95      n[        R                  R                  5       u  p#[        UR                  US9  g )Nr   1dayr   rx   )r   rD   r   rE   rF   rG   r*   r+   )r2   r   rL   r5   s       r7   test_timedelta_plotTestTSPlot.test_timedelta_plotF  s;    58_VQ?@

##%!&&R(r:   c                    [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  p4[        UR                  US9  g )N1 day 2 hr 30 min 10 sr<   r  r   r    rx   r   r   r@   rA   rB   rC   r[   rE   rF   rG   r*   r+   r2   r&   r   rL   r5   s        r7   test_timedelta_long_period%TestTSPlot.test_timedelta_long_periodL  s]     8"5Q299((+;;CJGO

##%!&&R(r:   c                    [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      U5      n[        R                  R                  5       u  p4[        UR                  US9  g )Nr  r<   z1 nsr   r    rx   r  r  s        r7   test_timedelta_short_period&TestTSPlot.test_timedelta_short_periodS  s]     8"6R299((+;;CJGO

##%!&&R(r:   c                     [        SSSS9nUn[        R                  " SSS5      n[        R                  " SSS5      S S S2   n[        R                  R                  5       u  pVUR                  X"/X4/S	9  g )
Nr   r<   r!   r   r   r)   g?r(   )weights)r   r@   r   rE   rF   rG   hist)r2   r   rr   w1w2rL   r5   s          r7   	test_histTestTSPlot.test_histZ  sj    Rc:YYq!S!YYq!S!$B$'

##%
)r:   c           
      ^   [        / SQ[        SSS5      [        SSS5      [        SSS5      /S9n[        / SQ[        SSS5      [        S	SS5      [        S
SS5      /S9n[        R                  R	                  5       u  p4UR                  US9  UR                  US9  UR                  US9  g )Nrg   r  r  r  r  i  r%   i  i  r  rx   )r   r   rE   rF   rG   r+   )r2   r	  r
  rL   r5   s        r7   test_overlapping_datetime$TestTSPlot.test_overlapping_datetimec  s    r2&r2&r2&
 r2&r2&r2&
 

##%
2
2
2r:   z1GH9053 matplotlib does not use ax.xaxis.converterc                    [        [        R                  R                  S5      R	                  S5      [        SSS9S9nUR                  5       n[        R                  " [        5         UR                  UR                  UR                  SS9  S S S 5        UR                  u  p4[        R                  " UR                  5       UR                  5       5        g ! , (       d  f       NP= f)Nr    r<   z
1970-01-02r   r%   r  )r   )r   r@   rA   rB   rC   r   r+   rC  rD  DeprecationWarningr&   rZ   r  r  r)  )r2   r   r5   l1l2s        r7   test_add_matplotlib_datetime64)TestTSPlot.test_add_matplotlib_datetime64}  s    
 II!!!$44R8\26
 VVX''(:;GGAGGQXXSG1 < 
##BMMOR]]_E	 <;s   )&C
C'c                    [        [        R                  R                  S5      R                  S5      SS/S9n[	        SSSS	9US
'   [
        R                  R                  5       u  p#UR                  S
SUS9  [
        R                  R                  5         UR                  5       S   nSnUR                  5       U:X  d   eg )Nr    )r<   r    rr   rs   r  z
2018-01-01r<   r   r   r   )rr   rs   rA  r   )r
   r@   rA   rB   r   rE   rF   rG   scatterr  rH   r  )r2   rK   rL   r5   rM   ri  s         r7   "test_matplotlib_scatter_datetime64-TestTSPlot.test_matplotlib_scatter_datetime64  s    ryy,,Q/66w?#sTbsC6


##%


Vs
,

""$Q'~~8+++r:   c                 r    [        / SQ5      n[        U/ SQS.5      nUR                  SSS9n[        USS9  g )N)
2020-05-01
2020-05-02z
2020-05-03rg   rr   rs   rr   rs   r   xrotr   r
   r+   r   r2   rr   rK   r  s       r7   test_check_xticks_rot TestTSPlot.test_check_xticks_rot  s:     BCQY/0www$4a(r:   c                 r    [        / SQ5      n[        U/ SQS.5      nUR                  SSS9n[        USS9  g )Nr:  r;  z
2020-05-04rg   r<  rr   rs   rT  r=  r?  r@  s       r7   test_check_xticks_rot_irregular*TestTSPlot.test_check_xticks_rot_irregular  s8    BCQY/0www$4b)r:   c                     [        / SQ5      n[        U/ SQS.5      nUR                  S5      R                  SSS9n[	        USS	9  UR                  S5      R                  SS
S9n[	        USS	9  g )NrD  rg   r<  rr   rs   T)rs   	use_indexrT  r=  Fr   )r   r
   	set_indexr+   r   r@  s       r7   test_check_xticks_rot_use_idx(TestTSPlot.test_check_xticks_rot_use_idx  sl    BCQY/0||C %%t%<4b)||C %%u%=4a(r:   c                     [        / SQ5      n[        U/ SQS.5      nUR                  SSSSS9n[        USS	9  UR                  SSSS
S9n[        USS	9  g )NrD  rg   r<  rr   rs   T)rr   rs   rG   rH  rT  r=  Fr   r?  r@  s       r7   test_check_xticks_rot_sharex'TestTSPlot.test_check_xticks_rot_sharex  s\    BCQY/0wwd4w@4b)wwd5wA4a(r:    N)__name__
__module____qualname____firstlineno__r   markfilterwarningsr8   rN   r_   rd   rm   r{   r   parametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r
  xfailr"  r0  r5  r:  rI  rM  rP  rX  r\  r   r@   r   r   r   r
   rj  rr  r  r  r  r  r  slowr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r&  r/  r6  r:  rC  rK  rP  rS  rX  r^  ra  rj  rv  ry  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  r   r#  r*  r-  r3  r7  rA  rE  rJ  rM  __static_attributes__rO  r:   r7   r   r   /   s   [[ 56
< 7
<-$"#* [[V%OP+ Q+ [[L++60  [[VdD\2+ 3+QH$ [[V%OP4 Q4
 [[E:: [[L>>
 [[V%RS2 T2 [[E)) [[ VW[[L	) X	) [[L$$'$$
$
 [[45  6 (G
78
4"+G [[B [[		"BJJ/ r: 		"BJJ7(rB  		"BJJ7(rB 	
	
,-22E0,, [[
 

*&**""#.+	,+,CCCC)6H),H 	BH*	D [[ VW XRR [[78
R 9
R	4'	H?, [[^.>@P-QR5P S5Pn [[^.>@P-QR3Q S3QjCC#* 8+ Z! F=4"2* ( [[451 61FC0T&* * +T(000)))*4 [[QRF SF	,)*))r:   r   c                 *   SS K Jn  UR                  5       n UR                  5         UR	                  S5      nUR                  SUR                  5       5      n[        USS 5      n	U " U0 UD6n
U
c   eUR                  SUR                  5       5      nUbL  UR                  R                  n[        U[        5      (       a  UR                  nU	c  UR                  U:X  d   eUb  [        UR                  SS9nUb  U	c  WU:X  d   eUR	                  S5      nXtS'   U " U0 UD6n
U
c   e[        R                  " SS9 n[         R"                  " Xm5        S S S 5        UR%                  U5        g ! , (       d  f       N = f! UR%                  U5        f = f)	Nr   r  r5   r#   T)	is_period   )return_filelike)matplotlib.pyplotrF   gcfclfr  popgcagetattrr&   r#   r  r   r   r   rC  ensure_cleanpickledumpry   )fr#   seriesargskwargspltrz   r5   orig_axorig_axfreqr9  dfreqax_freqpaths                 r7   r*   r*     sb   #
'')C	__S!**T3779-gvt4  ZZcggi(LL%%E%,,"ww%'''48G 3d?"?__S!t   __T2dKK" 3 			# 32 			#s$   D%E? =E.E? .
E<8E? ?F)NN)+__doc__r   r   r   r   re  numpyr@   r   pandas._libs.tslibsr   r   pandas._libs.tslibs.dtypesr	   pandasr
   r   r   r   r   r   r   pandas._testing_testingrC  pandas.core.indexes.datetimesr   r   r   pandas.core.indexes.periodr   r   r   pandas.core.indexes.timedeltasr   pandas.tests.plotting.commonr   pandas.tseries.offsetsr   r  rE   r   r*   rO  r:   r7   <module>r}     s|    B     >    
 
 ; ; .,'J) J)Z4$r:   