
    4i                     N   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(\RN                  " S5      r)SSK*J+s  J,s  J-r.   " S S5      r/SS jr0g)z:Test cases for time series specific (freq conversion, etc)    )datedatetimetime	timedeltaN)
BaseOffset	to_offset)PeriodDtype)	DataFrameIndexNaTSeriesconcatisnato_datetime)DatetimeIndexbdate_range
date_range)PeriodPeriodIndexperiod_range)timedelta_range)_check_ticks_props)WeekOfMonth
matplotlibzmatplotlib.pyplotc                   6
   \ 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\R
                  R                  SS\" SSS9/5      S 5       r\R
                  R                  S
SS/5      S 5       rS r\R
                  R                  SSS/SS//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!/ 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!S/ r"S0 r#S1 r$S2 r%S3 r&S4 r'S5 r(S6 r)\R
                  R                  S75      \R
                  R                  S8\*" \+RX                  " S\+RZ                  S99\" SSS9S:9\." \*" \+RX                  " S\+RZ                  S99\" SSS9S:9\*" \+RX                  " S\+RZ                  S99\" SSS9S:9S;-   S<.5      /5      S= 5       5       r/S> r0S? r1S@ r2SA r3SB r4SC r5\R
                  Rl                  SD 5       r7SE r8SF r9SG r:SH r;SI r<SJ r=SK r>SL r?SM r@SN rASO rBSP rCSQ rDSR rESS rFST rGSU rHSV rISW rJSX rKSY rLSZ rMS[ rN\R
                  R                  S(5      S\ 5       rOS] rPS^ rQ\R
                  R                  S_S`9Sa 5       rSSb rTSc rUSd rVSe rW\R
                  R                  SfSgSh/5      Si 5       rX\R
                  R                  SfSgSh/5      Sj 5       rYSk rZSl r[Sm r\Sn r]So r^Sp r_Sq r`Sr raSs rbSt rcSu rdSv reSw rfSx rgSy rh\R
                  R                  SzS`9S{ 5       riS| rjS} rkS~ rlS rmS rnS roS rpS rqS rrS rsS rtS ruS rvS rwS rx\R
                  R                  SS`9S 5       ryS rzS r{S r|S r}S r~\R
                  R                  S\" SSS9\" SSSS9\" SSSS9\" SSSS9\" S V VVs/ s H  nG[        SS;U5      PM     snnn \S99\" S5      /5      S 5       rSrgs  snnn f )
TestTSPlot4   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          i/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/tests/plotting/test_datetimelike.pytest_ts_plot_with_tzTestTSPlot.test_ts_plot_with_tz5   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_correctlyB   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MSr<   r#   r"   r#   r       r%   r         )r   r   valuesr
   r@   rA   rB   rC   lenr*   r+   union)r2   idxrK   df2s       r7   test_frame_inferredTestTSPlot.test_frame_inferredL   s    $;CJJT2II!!!$44c#h]C3
 	"''" !AhnnSW%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<   rS   rT   r    rU   r%   )r   r   rX   r
   r@   rA   rB   rC   rY   r*   r+   r2   r[   rK   s      r7   test_frame_inferred_n_gt_1%TestTSPlot.test_frame_inferred_n_gt_1]   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    rU   r%   )xerr)yerr)r@   arrayr
   r*   r+   )r2   ias      r7   test_is_error_nozeroindex$TestTSPlot.test_is_error_nozeroindexf   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g )
NrQ   YErU   rS   xyzre   ABr5   r)   )r   r
   rE   rF   rG   r+   rY   r.   )r2   r[   rK   figr5   s        r7   test_nonnumeric_exclude"TestTSPlot.test_nonnumeric_excludem   s[    $:_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   rn   rU   rS   ro   re   rs   zno numeric data to plotmatchrt   )r   r
   pytestraises	TypeErrorr+   )r2   r[   rK   msgs       r7   test_nonnumeric_exclude_error(TestTSPlot.test_nonnumeric_exclude_erroru   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/1999r<   rS   r    rv   )r   r   r@   rA   rB   rC   rY   rE   rF   rG   r*   r+   r2   r#   r[   serrL   r5   s         r7   test_tsplot_periodTestTSPlot.test_tsplot_period|   s\    <dB?RYY**1-==c#hGM

##%#((r*r:   )	r   r   r!   r   r   MEzQE-DECrn   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   rY   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:   r&   Nr   r<   r   c                     [        [        R                  " S[        R                  S9US9nSn[        R
                  " [        US9   UR                  SSS9  S S S 5        g ! , (       d  f       g = f)	Nr<   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   )r   r@   r   r   r}   r~   
ValueErrorr+   )r2   r&   r4   r   s       r7   test_both_style_and_color$TestTSPlot.test_both_style_and_color   sS    BIIb

35A% 	
 ]]:S1GG$iG0 211s   A!!
A/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/2012r<   r"   r#   r    rv   )rE   rF   rG   r   r   r@   rA   rB   rC   rY   r*   r+   )r2   r#   rL   r5   rngr   s         r7   test_high_freqTestTSPlot.test_high_freq   s\    

##%Rd;RYY**1-==c#hGM#((r*r:   c                 J   [         R                  " S S5      b   e[         R                  " SS5      S:X  d   e[         R                  " [        SS5      S5      [        SS5      R                  :X  d   e[         R                  " SS5      [        SS5      R                  :X  d   eg )Nr     r   r   z1987-12rQ   z1987-1-1)conv_get_datevaluer   ordinalr2   s    r7   test_get_datevalueTestTSPlot.test_get_datevalue   s    ""4-555""4-555tS 137i%--.	
. "":s3vj#7N7V7VVVVr:   zfreq, expected_stringzYE-DECzt = 2014  y = 1.000000r   zt = 2014-01-01  y = 1.000000c           	      :   [        S[        SSUS9S9n[        R                  R	                  5       u  pEUR                  US9  UR                  5       S   nUR                  5       S   R                  nUR                  5       S   nX%R                  Xx5      :X  d   eg )Nr)   z
2014-01-01rU   r   r%   rv   r   )r   r   rE   rF   rG   r+   r.   r/   r   	get_ydataformat_coord)	r2   r#   expected_stringr   rL   r5   
first_linefirst_xfirst_ys	            r7   test_ts_plot_format_coord$TestTSPlot.test_ts_plot_format_coord   s    
 QjqtLM

##%B\\^A&
&&(+33&&(+//'"CCCCr:   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   r<   rS   r    )r   r   r@   rA   rB   rC   rY   r*   r+   r&   r#   r2   r#   r[   r   s       r7   test_line_plot_period_series'TestTSPlot.test_line_plot_period_series   sP    <dB?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   rY   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     <fbA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   rY   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   QErn   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   r<   rS   r    rU   )rt   ru   Cr&   columns)r   r
   r@   rA   rB   rC   rY   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                    [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      S45      U/ SQS9nUR                  R                  R                  n[        UR                  U5        g r   )r   r
   r@   rA   rB   rC   rY   r&   r#   r   r*   r+   )r2   r   r[   rK   r#   s        r7   test_line_plot_period_mlt_frame*TestTSPlot.test_line_plot_period_mlt_frame   sj     <fbAII!!!$44c#h]C#

 xx}}&&"''4(r:   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 j   [        SUSS9n[        [        R                  R	                  S5      R                  [        U5      S45      U/ SQS9n[        UR                  R                  5      R                  nUR                  R                  U5      R                  n[        UR                  U5        g r   )r   r
   r@   rA   rB   rC   rY   r	   r&   r#   _freqstr	to_periodr*   r+   r   s       r7   test_line_plot_datetime_frame(TestTSPlot.test_line_plot_datetime_frame   s    
 D"=II!!!$44c#h]C#

 288==)22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   r<   rS   r    )r   rU      rW   )r   r   r@   rA   rB   rC   rY   rX   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%   rU   r   rv   r#   )
rE   rF   rG   r   r   rD   rY   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<   rS   r    r%   )	r   r   r@   rA   rB   rC   rY   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)   rW      r    r%   )
r   r   r   r@   rA   rB   rC   rY   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:   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<   rS   r    r%   )r   r)   rU   rV   rv   r   )QΠE>r)   :0yE>)r   r
   r@   rA   rB   rC   rY   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<   rS   r    r%   rv   r   r  r)   r  )r   r
   r@   rA   rB   rC   rY   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_object0  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                  S	S
9 H  u  pVXV:X  a  M   e   g )Nr<   r   r   r   r%   )r   r)   r       rv   r   Tstrict)r   r@   r   r   r   r   rE   rF   rG   r+   zipr.   r/   r&   )r2   r   rL   r5   retrsxps          r7   "test_irregular_datetime64_repr_bug-TestTSPlot.test_irregular_datetime64_repr_bug<  s    IIb

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

##%hh"ho",,.+5574PFB8O8 Q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{   ru   startr"   r#   rv   r'   data)r   rD   r   r&   to_timestamptmassert_produces_warningFutureWarningrY   rE   rF   rG   r+   r.   r  r   r/   r   freqstr)r2   btsr   dtrL   r5   r[   s          r7   test_business_freqTestTSPlot.test_business_freqJ  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 )N2   r   r   ru   r   r%   BMEr   rv   r   r'   r!  )r   r@   r   r   r   asfreqr   rE   rF   rG   r+   r.   r  r&   r   r/   r   r'  )r2   r(  r4   rL   r5   r[   s         r7   test_business_freq_convert%TestTSPlot.test_business_freq_convertW  s    IIb

+\2C@
 &- 	 ]]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%   rv   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#   r(  rL   r5   r[   r   s          r7   test_freq_with_no_period_alias)TestTSPlot.test_freq_with_no_period_aliasc  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%   rv   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_baseq  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 )	Nrj   r<   r   r   r   r%   rv   r   )r
   r   r@   r   r   r   rE   rF   rG   r+   r.   r/   r$  assert_index_equalr&   r   r   )r2   r(  rL   r5   r[   s        r7   test_dataframeTestTSPlot.test_dataframez  s    VIIb

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

##%BllnQ))+
cii113[5EFr:   z8ignore:Period with BDay freq is deprecated:FutureWarningobjr   r%   r)   rj   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g )
Nrv   r   r   r)   r<   1/1/2000z4/1/2000r   rV   )rE   rF   rG   r+   get_xlimset_xlimr   r#   intr   r   )r2   rA  rL   r5   xlimresultexpecteds          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4r:   c                 h   [         R                  " [        S5      5      [         R                  :X  d   e[         R                  " [        S5      5      [         R                  :X  d   e[         R                  " [        S5      5      [         R                  :X  d   e[         R                  " [        S5      5      [         R
                  :X  d   e[         R                  " [        S5      5      [         R                  :X  d   e[         R                  " [        S5      5      [         R                  :X  d   eg )Nru   r   r   r   rn   r   )r   
get_finderr   _daily_finder_monthly_finder_quarterly_finder_annual_finderr   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<   (      i  i  i
  i'  z#Period with BDay freq is deprecatedr{   z1999-1-1ru   rT   r   r    rv   r   ?)r$  r%  r&  r   r   rY   r   r   r@   rA   rB   rC   rE   rF   rG   r+   	get_xaxisappendget_majorticklocsrF  rG  close
get_figure)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1987Q2rV   r   r   r    rv   r   rY  r   r   rY   r   rH  r   r@   rA   rB   rC   rE   rF   rG   r+   rZ  r[  r\  rF  rG  r]  r^  r2   yrsr`  ra  rb  rc  rd  r   r   rL   r5   re  rf  rg  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      @rV   r   zJan 1988rl     r   r   r    rv   r   rY  rm  rn  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 )	Nrk  i   r   r   r    rv   r   1989Q1)r   r   r@   rA   rB   rC   rY   rE   rF   rG   r+   rZ  r\  r   r   )r2   r   r   rL   r5   re  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   rT   )r   r<      1   c      iW  i  1987r   r    rv   r   )r   r   r   r   r@   rA   rB   rC   rY   rE   rF   rG   r+   rZ  r[  r\  r]  r^  )
r2   r  rp   r  nyearsr   r   rL   r5   re  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MinrS   r    rv   r   rT   r   r   r@   rA   rB   rC   rY   rE   rF   rG   r+   rZ  r\  r   r   )	r2   nminutesr   r   rL   r5   re  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!   rS   r    rv   r   rT   r  )	r2   nhoursr   r   rL   r5   re  r  r  s	            r7   test_finder_hourlyTestTSPlot.test_finder_hourly*  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g )Nr<   r   r   r   r%   r   r  rv   r)   r   mask
fill_value)r   r@   r   r   r   nanr   rE   rF   rG   r+   r.   rY   r  maMaskedArrayr   
isinstancecorer  r  r2   r4   rL   r5   linesliner"  r  s           r7   	test_gapsTestTSPlot.test_gaps6  s    IIb

+:lTV3W
 vv!

##%
2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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g )Nr7  r   r   r   r%   	r   r)   r    r   r  r=   rs        r    r   rv   r)   r   r  )r   r@   r   r   r   r   r  rE   rF   rG   r+   r.   rY   r  r  r  r   r  r  r  r  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   rv   r)   r   r  )r   r@   rA   rB   rC   rY   r  r   rE   rF   rG   r+   r.   r  r  r  r   r  r  r  r  )	r2   r[   r   rL   r5   r  r  r"  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 )Nr<   r   r   r   r%   r   r  rv   r   r(   12hrT   r    Tsecondary_yr)   r  )r   r@   r   r   r   r  r   rE   rF   rG   r+   r&   rA   rB   rC   rY   r.   right_axr  r  r  r   r  r  r  r  )
r2   lowrL   r5   idxhr   r  r  r"  r  s
             r7   test_gap_upsampleTestTSPlot.test_gap_upsamplem  sr   IIb

+:lTV3W
 1

##%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AaCF|!!!!r:   c                 v   [        [        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g )	Nr    r<   Tr  left_axr  r   right)r   r@   rA   rB   rC   rE   rF   rG   r+   r   get_axesr.   r   r/   r$  assert_series_equal	get_yaxisget_ticks_positionget_visible)r2   r   rw   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4r:   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g )Nr    r<   rv   left)r   r@   rA   rB   rC   rE   rF   rG   r+   r  r  )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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UR                   R#                  S5      Ul        [$        R&                  " X(5        UR)                  5       R+                  5       S:X  d   eUS
   R)                  5       R-                  5       (       a   eg )NrE  r<   ns)r"   unitr    Tr  r  r  r   r  )r   r   r@   rA   rB   rC   rE   rF   rG   r+   r   r  r.   r   r/   r#  r&   as_unitr$  r  r  r  r  )	r2   r[   r   rw   rL   r5   r  r  r  s	            r7   test_secondary_y_tsTestTSPlot.test_secondary_y_ts  s$   Rd;RYY**1-==bA3G$$&XX$X'r9%%%%2z****||~||~a DNN$dnn&67DDF88##D)
s'||~002g===7$$&2244444r:   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g )NrE  r<   r   r    rv   r  )r   r   r@   rA   rB   rC   rE   rF   rG   r+   r  r  )r2   r[   r  rL   r  s        r7   test_secondary_y_ts_yaxis$TestTSPlot.test_secondary_y_ts_yaxis  ss    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 )NrE  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   rw   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   rU   rj   rC  cr   rj   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  rj   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   ru   r   r%   r   r   r<   r   rs        r  rv   gr   r  r{   r   r)   r(   )r   r@   r   r   r   r   rE   rF   rG   r+   r.   r$  r%  r&  r   r/   r>  r&   r   rF  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   rv   r#   r   r)   )r   r@   r   r   r   r   rE   rF   rG   r+   r   r.   r/   r$  assert_numpy_array_equalr&   r  r  rX   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.   r$  r%  r&  r   r/   equalsr&   r   rF  r   r  s                r7    test_mixed_freq_regular_first_df+TestTSPlot.test_mixed_freq_regular_first_df  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/   r$  r  r&   r  r  rX   r  s           r7   "test_mixed_freq_irregular_first_df-TestTSPlot.test_mixed_freq_irregular_first_df"  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   rs  r   r    rv   r!  r   r   r@   rA   rB   rC   rY   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_first2  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!   rT   r    rs  r%   r   rv   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_alignment=  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   rs  r   r    T)legendr5   r!  )r   r   r@   rA   rB   rC   rY   rE   rF   rG   r+   r.   r   r/   r#   
get_legendtextsr]  r^  )	r2   r  r  r  r  rL   r5   r  legs	            r7   test_mixed_freq_lf_first#TestTSPlot.test_mixed_freq_lf_firstJ  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   rV   r!   r    rv   r!  r
  r  s           r7   test_mixed_freq_lf_first_hourly*TestTSPlot.test_mixed_freq_lf_first_hourlyX  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)Nr7  r   r   r   r%   )r   r)   r    rU   rV   r   rW   r     r=   r<   r              r  r{   z1/3/2000ru   r   r    rv   )r   r@   r   r   r   r   r$  r%  r&  r   rA   rB   rC   rY   rE   rF   rG   r+   )r2   r4   r	  r   r   psrL   r5   s           r7   test_mixed_freq_irreg_period'TestTSPlot.test_mixed_freq_irreg_periodc  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-01rU   r   r   r)   r    T)nrowssharexrv   r   r   r'   )r   rZ   r   rD   rY   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_axq  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 
Nr.  rU   r   r   r)   r    rv   r   r'   r   rZ   r   rD   rY   rE   rF   rG   twinxr+   r  r  r1  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))reasonc                    [        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 r6  r7  r1  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 )Nr.  z
2015-01-03rv   r   )rE   rF   rG   r   r   r   rD   rY   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  r   r   r   rs  r   r    rv   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   rY   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   rs  r   r    rv   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   rs  r   r    rv   i  i  i  i  i  i   i  i  i  i  i  i  r   r!  Forig)r   r   r@   rA   rB   rC   rY   rE   rF   rG   r+   r   asi8r  r   rh   r.   r   r/   r#   r$  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)rU  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   rs  r   r    rU   r   r)   r    r   Tr  stackedr5   rM  r   FrN  r!  )r   r
   r@   rA   rB   rY   rE   rF   rG   r+   rh   r   zerosrD   r  r   r/   r#   r$  r  rX   r   r   rP  r  )r2   kind1kind2r  r  r  r  rL   r5   
expected_x
expected_yri   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   rs  r   r    rU   rW  r   TrX  r   r!  FrN  rM  )r   r
   r@   rA   rB   rY   rE   rF   rG   r+   r   rP  r  r   rZ  rD   r  r   r/   r#   r$  r  rX   r   rh   )r2   r[  r\  r  r  r  r  rL   r5   r]  r^  ri   r  r  s                 r7   0test_from_resampling_area_line_mixed_high_to_low;TestTSPlot.test_from_resampling_area_line_mixed_high_to_low  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   r   rS   100msr-  r    rv   r!  r   r
  r  s           r7   "test_mixed_freq_second_millisecond-TestTSPlot.test_mixed_freq_second_millisecondD  s    ,3B,7BG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 re  r
  r  s           r7   .test_mixed_freq_second_millisecond_low_to_high9TestTSPlot.test_mixed_freq_second_millisecond_low_to_highR  s    ,3B,7BG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    rU   r   )r   r
   r@   rA   rB   rC   rY   r   r  r*   r+   ra   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 )NrE  r<   r   )r   r    r   r=   r    rU   rv   )r   r  r  r
   r@   rA   rB   rC   rY   rE   rF   rG   r*   r+   )r2   r[   rK   rL   r5   s        r7   test_irreg_dtypes_dt64!TestTSPlot.test_irreg_dtypes_dt64i  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	['        XSS9 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)   rU   r7  r   r    r  r8  rB  r%   rv   Tr  <   %H:%M:%S%H:%M)r   r@   rA   rB   integerscumsumrh   r   rH  r   r
   rC   rY   rE   rF   rG   r+   
get_xticksrH   r  divmodget_textstrftimer2   tdeltasrp   r4   rK   rL   r5   tickslabels_tick_labelmr   r!   r  r  s                    r7   	test_timeTestTSPlot.test_timeq  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 ##% t<ME#e*b)DA!R=DA"B2w{6aA//
;BaA//8BRxx = 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	['        XSS9 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	['        XSS9 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)   rU   r7  r   r    r  r8  rB  r%   rv   Tr  rs  rt  ru  z1:30z5:00)r   r@   rA   rB   rv  rw  rh   r   rH  r   r
   rC   rY   rE   rF   rG   r+   rx  rH   r  ry  rz  r{  rG  r|  s                    r7   test_time_change_xlim TestTSPlot.test_time_change_xlim  sG   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 ##% t<ME#e*b)DA!R=DA"B2w{6aA//
;BaA//8BRxx = 	FF# ##% t<ME#e*b)DA!R=DA"B2w{6aA//
;BaA//8BRxx =? 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	['        XSS9 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)   rU   r7  r   r    r  )microsecondsrB  r%   rv   Tr  rs  g    .Ai  z%H:%M:%S.%frt  ru  )r   r@   rA   rB   rv  rw  rh   r   rH  r   r
   rC   rY   rE   rF   rG   r+   rx  rH   r  ry  roundrz  r{  )r2   r}  r~  rp   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^ ##% t<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! = 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   rs  r   r    rv   Tr  r5   r  r  )r   r   r@   rA   rB   rC   rY   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g )N   r    r<   rV   ABCDr   
2000-01-01r<   ru   r   r   r&   rt   r  rV   r   	A (right)r)   z	B (right)r   rU   r   )rE   rF   figureadd_subplotr
   r@   rA   rB   rC   r   listr  r   r+   r  rY   r.   	get_textsrz  r  setaddr   )r2   rw   r5   rK   r  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g )Nr    r  r  r   r  r<   ru   r   r  r  rt   r   F)r  
mark_rightr5   rV   r   r)   rU   r   )r
   r@   rA   rB   rC   r   r  r  r   rE   rF   r  r  r+   r  rY   r.   r  rz  r2   rK   rw   r5   r  s        r7   test_secondary_legend_right&TestTSPlot.test_secondary_legend_right  s'   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3r:   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g )Nr    r  r  r   r  r<   ru   r   r  r  rt   )r  r  r5   r   r  r)   r
   r@   rA   rB   rC   r   r  r  r   rE   rF   rG   r+   r  r  rz  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3r:   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g )Nr    r  r  r   r  r<   ru   r   r  r  rt   F)r  r  r  r5   r   r)   r  r  s        r7   test_secondary_legend_bar_right*TestTSPlot.test_secondary_legend_bar_right!  s    II!!!$44W=$v,f5\2C@

 **%%'
U%BGmmo}}q!**,333}}q!**,333r:   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[        [        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g )Nr    r  r  r   r  r<   ru   r   r  r  r   r   r  rV   )r
   r@   rA   rB   rC   r   r  r  r   rE   rF   r  r  r+   r  rY   r.   r  r  r  r   )r2   rK   rw   r5   r  r  r  s          r7   test_secondary_legend_multi_col*TestTSPlot.test_secondary_legend_multi_col-  s9   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g s  snf )N皙?rW  r  r  r   r<   i-r  r  rt   ru   r  rV   r
   r@   r   reshaper   r  r  rD   rE   rF   r  r  r+   r  rY   r.   r  r  r  r   r2   ri   rK   rw   r5   r  r  r  s           r7   test_secondary_legend_nonts&TestTSPlot.test_secondary_legend_nontsE     "))B-''00$v,f55959a2aS95VD

 jj!__S!WW#sW3mmo3==?#q((({{%%'///MMODJJt~~'( $ 6{a 6   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  rW  r  r  r   r<   r  r  r  r   r   r  rV   r  r  s           r7   %test_secondary_legend_nonts_multi_col0TestTSPlot.test_secondary_legend_nonts_multi_colY  r  r  zApi changed in 3.6.0c                    [        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   rs  r   r   r    rU   rv   r   r7  )r   r
   r@   rA   rB   rC   rY   rE   rF   rG   r+   rZ  get_ticklabelsrz  get_rotation)r2   r   rK   rL   r5   re  r  s          r7   test_format_date_axis TestTSPlot.test_format_date_axism  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   rY   rE   rF   rG   r+   r$  r>  r   r/   )r2   rp   rq   rL   r5   r  s         r7   test_ax_plotTestTSPlot.test_ax_plotx  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R                  5       S S 2S4   U	5        g s  snf s  snf s  snf )N  rs     i  r)   g      $@g      &@g      ?g      (@-rV   )	linewidthr   r   )r   r@   r   rE   rF   rG   r+   	toordinalrh   r   r$  r  r  )
r2   datesvalues1values2rL   r5   rp   line1line2exps
             r7   test_mpl_nopandasTestTSPlot.test_mpl_nopandas  s+   dB#T$2%67))D$,))D$,

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

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

##%Ra$QR$ kkmt--55l6H6H6L6L6NPRTVWWWW..66|7I7I7M7M7OQSUWXXXXr:   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    rU   rV   )r   rW   r  r%  r)   r%   r    rv   Tr  )r   rE   rF   rG   r+   rF  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  rV   r   r  z
2000-01-05r)   r%   r    rv   Tr  )r   r   rE   rF   rG   r+   rF  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  r<   r   r   r)   r%   rv   r   Tr  )	r   r   rE   rF   rG   r+   rF  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    r>AS!

##%
2$&KKM!
C$$"$="$++-
 (((***r:   c                 Z   [        [        R                  " S[        R                  S9[	        SSS9S9nUR
                  / SQ   n[        R                  R                  5       u  p4U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  pVU[        R                  R                  UR                  R                  5       SU5      ::  d   eU[        R                  R                  UR                  R!                  5       SU5      :  d   eg )Nr  r   r   r   r%   r  r   rv   Tr  r  r  r  s          r7   "test_secondary_y_irregular_ts_xlim-TestTSPlot.test_secondary_y_irregular_ts_xlim  s   IIb

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

##%Ra$QR$26Ra$kkmt--55l6H6H6L6L6NPRTVWWWW..66|7I7I7M7M7OQSUWXXXXr:   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    rs  )r   rE   rF   rG   r+   r   )r2   rX   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0r  r   r    rU   r>   )r@   r   r   r
   rA   rB   rC   rY   rE   rF   rG   r+   drawrH   rz  )
r2   ri   expected_labelsr   rK   rL   r5   r  rp   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U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n[        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 )	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 D)r"   r#   r  r    rU   r>   )r   r
   r@   rA   rB   rC   rY   rE   rF   rG   r+   r  rH   rz  )
r2   r  r  r   rK   rL   r5   r  rp   r  s
             r7    test_format_timedelta_ticks_wide+TestTSPlot.test_format_timedelta_ticks_wide  s    

 c2EEryy,,Q/??S1NPST

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

##%/56v!v6=!S%9999/// 7s   6C3c                     [        [        S5      [        SSS95      n[        R                  R                  5       u  p#[        UR                  US9  g )Nr   1dayr   rv   )r   rD   r   rE   rF   rG   r*   r+   )r2   r   rL   r5   s       r7   test_timedelta_plotTestTSPlot.test_timedelta_plot  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    rv   r   r   r@   rA   rB   rC   rY   rE   rF   rG   r*   r+   r2   r&   r   rL   r5   s        r7   test_timedelta_long_period%TestTSPlot.test_timedelta_long_period  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    rv   r  r	  s        r7   test_timedelta_short_period&TestTSPlot.test_timedelta_short_period$  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   rp   w1w2rL   r5   s          r7   	test_histTestTSPlot.test_hist+  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 )Nre   r|  rs  r  r   i  r%   i  i  r  rv   )r   r   rE   rF   rG   r+   )r2   r  r  rL   r5   s        r7   test_overlapping_datetime$TestTSPlot.test_overlapping_datetime4  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+   r$  r%  DeprecationWarningr&   rX   r  r  r  )r2   r   r5   l1l2s        r7   test_add_matplotlib_datetime64)TestTSPlot.test_add_matplotlib_datetime64N  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    rp   rq   r  z
2018-01-01r<   r   r   r   )rp   rq   r"  r   )r
   r@   rA   rB   r   rE   rF   rG   scatterr  rH   rz  )r2   rK   rL   r5   rM   rK  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-03re   rp   rq   rp   rq   r   xrotr   r
   r+   r   r2   rp   rK   r  s       r7   test_check_xticks_rot TestTSPlot.test_check_xticks_roti  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-04re   r&  rp   rq   r7  r'  r)  r*  s       r7   test_check_xticks_rot_irregular*TestTSPlot.test_check_xticks_rot_irregularq  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 )Nr.  re   r&  rp   rq   T)rq   	use_indexr7  r'  Fr   )r   r
   	set_indexr+   r   r*  s       r7   test_check_xticks_rot_use_idx(TestTSPlot.test_check_xticks_rot_use_idxx  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 )Nr.  re   r&  rp   rq   T)rp   rq   rG   r0  r7  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:   r[   r   UTC)r"   r$   z1 dayr   )r)   rU   rW   r     r   c                     U" [        S5      US9n[        R                  SS5      u  pVUR                  US9  UR	                  SS9 n[
        R                  " XW5        S S S 5        g ! , (       d  f       g = f)Nr   r%   r)   rv   wb)mode)rD   pltrG   r+   openpickledump)r2   	temp_fileframe_or_seriesr[   rK   rw   r5   paths           r7   test_pickle_figTestTSPlot.test_pickle_fig  s[     U1XS1,,q!$
2^^^&$KK" '&&s   A''
A5 )__name__
__module____qualname____firstlineno__r}   markfilterwarningsr8   rN   r]   rb   rk   rx   r   parametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r*  r0  r3  r;  r?  r   r@   r   r   r
   rL  rT  rh  rp  rt  rx  r  slowr  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  r9  xfailr=  rB  rG  rJ  rS  r_  rb  rg  rj  rm  rp  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r
  r  r  r  r  r!  r+  r/  r4  r7  r   r   r   r   r  rD   rE  __static_attributes__).0ri   r   s   000r7   r   r   4   s   [[ 56
< 7
<-$"#*( [[V%OP+ Q+ [[L++6 [[WtZb-Q&RS1 T1 [[VdD\2+ 3+W [[
,	-5S/TUD	D [[V%OP4 Q4
 [[E:: [[L>>
 [[V%RS2 T2 [[E)) [[ VW[[L	) X	) [[L$$'$$
$
G
78
4"+G [[B [[		"BJJ/ r: 		"BJJ7(rB  		"BJJ7(rB 	
	
,5-25.E0,, [[
 

"$"(""".5>	,5>,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= 24 
4
4 0 ( ( [[451 61FC.Y"* * +Y$000)))*4 [[QRF SF	,)*)) [[|Q/|Q59GQS9qs;->?->4a#->?vN!H	

#
#	 @s   Tr   c                 T   [         R                  5       nUR                  5         UR                  S5      nUR	                  S[         R                  5       5      n[        USS 5      nU " U0 UD6n	U	c   eUR	                  S[         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c  [        UR                  SS9U:X  d   eUR                  S5      nXdS'   U " U0 UD6n	U	c   eg )Nr  r5   r#   T)	is_period   )r>  gcfclfr  popgcagetattrr&   r#   r  r   r   r   )fr#   seriesargskwargsrw   r5   orig_axorig_axfreqr  dfreqs              r7   r*   r*     s   
'')CGGI		Bjjswwy)G'640K
T
V
C??	D#'')	$B!!eZ((OOE77e###K/D1T999		B4L
T
V
C??r:   )NN)1__doc__r   r   r   r   r@  numpyr@   r}   pandas._libs.tslibsr   r   pandas.core.dtypes.dtypesr	   pandasr
   r   r   r   r   r   r   pandas._testing_testingr$  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>  %pandas.plotting._matplotlib.converterplotting_matplotlib	converterr   r   r*   rG  r:   r7   <module>rr     s    @    
 2    
 
 ; ; .,'-. 4 4i# i#X3r:   