
    *g                       d Z ddlmZmZmZmZ ddlZddlZddlZddl	m
Z
mZ ddlmZ ddlmZmZmZmZmZmZmZ ddlmZ ddlmZmZmZ ddlmZmZm Z  dd	l!m"Z" dd
l#m$Z$ ddl%m&Z&  ejN                  d      Z( G d d      Z)ddZ*y)z< Test cases for time series specific (freq conversion, etc)     )datedatetimetime	timedeltaN)
BaseOffset	to_offset)freq_to_period_freqstr)	DataFrameIndexNaTSeriesconcatisnato_datetime)DatetimeIndexbdate_range
date_range)PeriodPeriodIndexperiod_range)timedelta_range)_check_ticks_props)WeekOfMonth
matplotlibc                   @	   e Zd Zej                  j                  d      d        Zd Zd Zd Z	d Z
d Zd Zej                  j                  d	g d
      d        Zej                  j                  d	g d      d        Zd Zd Zej                  j                  d	ddg      d        Zd Zd Zej                  j                  d	g d
      d        Zej                  j                  dg d      d        Zej                  j                  d	g d      d        Zej                  j                  d	g d      d        Zej                  j                  dg d      d        Zej                  j                  d      ej                  j                  d	g d      d               Zej                  j                  d	g d      d        Zd  Zd! Zd" Zd# Zej                  jA                  d$%      d&        Z!d' Z"d( Z#d) Z$d* Z%d+ Z&d, Z'd- Z(d. Z)ej                  j                  d/      ej                  j                  d0 e* e+jX                  d1e+jZ                  2       e.d3d14      5       e/ e* e+jX                  d1e+jZ                  2       e.d3d14      5       e* e+jX                  d1e+jZ                  2       e.d3d14      5      d6z   d7      g      d8               Z0d9 Z1d: Z2d; Z3d< Z4d= Z5d> Z6ej                  jn                  d?        Z8d@ Z9dA Z:dB Z;dC Z<dD Z=dE Z>dF Z?dG Z@dH ZAdI ZBdJ ZCdK ZDdL ZEdM ZFdN ZGdO ZHdP ZIdQ ZJdR ZKdS ZLdT ZMdU ZNdV ZOej                  j                  d      dW        ZPdX ZQdY ZRej                  jA                  dZ%      d[        ZSd\ ZTd] ZUd^ ZVd_ ZWej                  j                  d`dadbg      dc        ZXej                  j                  d`dadbg      dd        ZYde ZZdf Z[dg Z\dh Z]di Z^dj Z_dk Z`dl Zadm Zbdn Zcdo Zddp Zedq Zfdr Zgds Zhej                  jA                  d$%      dt        Zidu Zjdv Zkdw Zldx Zmdy Zndz Zod{ Zpd| Zqd} Zrd~ Zsd Ztd Zud Zvd Zwd Zxej                  jA                  d%      d        Zyd Zzd Z{d Z|d Z}d Z~y)
TestTSPlotzignore::UserWarningc                 z   |}t        ddd|      }t        ddg|      }t        |j                         |j                         }t	        t        |j                                     j                         }|d   j                  |d   j                  fd	k(  sJ |d
   j                  |d
   j                  fdk(  sJ y )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          q/var/www/html/articles-backend/trend/venv/lib/python3.12/site-packages/pandas/tests/plotting/test_datetimelike.pytest_ts_plot_with_tzzTestTSPlot.test_ts_plot_with_tz0   s     :qsrBUFO51"''"WWYT",,.)*446auQx/6999b	b	 0 01V;;;    c                 f   t        t        j                  j                  d      j	                  d      t        d            }t        j                  j                         \  }}|j                  d|       |j                         |j                         z   D ]  }|j                         dk(  rJ  y )Nr   )
   	   r:   r$   fontsizer4   )r
   nprandomdefault_rngstandard_normalrangemplpyplotsubplotsr*   get_xticklabelsget_yticklabelsget_fontsize)r1   df_r4   labels        r6   test_fontsize_set_correctlyz&TestTSPlot.test_fontsize_set_correctly=   s    II!!!$44W=U2Y
 

##%2
r"'')B,>,>,@@ 	-E%%'1,,,	-r8   c                    t        ddd      }t        |j                  d       }t        t        j
                  j                  d      j                  t        |      df      |      }t        |j                         |d	d
 j                  |dd       }t        t        j
                  j                  d      j                  t        |      df      |      }t        |j                         y )N1/1/1987MSd   r"   r!   r"   r      r$   r   (   -   c   )r   r   valuesr
   r>   r?   r@   rA   lenr)   r*   union)r1   idxrI   df2s       r6   test_frame_inferredzTestTSPlot.test_frame_inferredG   s    $<CJJT2II!!!$44c#h]C3
 	"''" !Biooc"Rj)II!!!$44c#h]C3
 	#((#r8   c                     t        ddd      }t        |j                  d       }t        t        j
                  j                  d      j                  t        |      df      |      }t        |j                         y )	Nz2008-1-1 00:15:0015minr:   rQ   rR   r   rS   r$   )r   r   rW   r
   r>   r?   r@   rA   rX   r)   r*   r1   rZ   rI   s      r6   test_frame_inferred_n_gt_1z%TestTSPlot.test_frame_inferred_n_gt_1X   s`    ,7BGCJJT2II!!!$44c#h]C3
 	"''"r8   c                     t        j                  g d      }t        ||      }t        |j                  |       t        |j                  |       y )Nr(   r   rS   r$   )xerr)yerr)r>   arrayr
   r)   r*   )r1   ias      r6   test_is_error_nozeroindexz$TestTSPlot.test_is_error_nozeroindexa   s8    HHYaq!!&&q)!&&q)r8   c                 &   t        ddd      }t        g dg dd|      }t        j                  j	                         \  }}|j                  |       t        |j                               d	k(  sJ t        j                  j                  |       y )
NrN   YErS   rQ   xyzrb   ABr4   r(   )	r   r
   rC   rD   rE   r*   rX   r-   close)r1   rZ   rI   figr4   s        r6   test_nonnumeric_excludez"TestTSPlot.test_nonnumeric_excludeh   so    $:_9=sC**%%'R
22<<>"a'''

r8   c                     t        ddd      }t        g dg dd|      }d}t        j                  t        |	      5  |d
   j                          d d d        y # 1 sw Y   y xY w)NrN   rj   rS   rQ   rk   rb   ro   zno numeric data to plotmatchrp   )r   r
   pytestraises	TypeErrorr*   )r1   rZ   rI   msgs       r6   test_nonnumeric_exclude_errorz(TestTSPlot.test_nonnumeric_exclude_errorq   sV    $:_9=sC']]9C0 	sGLLN	 	 	s   AA%r"   )sminr    DWMQYc                    t        d|d      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}t        |j                  |       y N
12/31/1999rP   rQ   r   rr   )r   r   r>   r?   r@   rA   rX   rC   rD   rE   r)   r*   r1   r"   rZ   serrJ   r4   s         r6   test_tsplot_periodzTestTSPlot.test_tsplot_periodx   s^    <dC@RYY**1-==c#hGM

##%2#((r*r8   )	r~   r   r    r   r   MEzQE-DECrj   1B30Minc                    t        d|d      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}t        |j                  |       y r   )r   r   r>   r?   r@   rA   rX   rC   rD   rE   r)   r*   r   s         r6   test_tsplot_datetimezTestTSPlot.test_tsplot_datetime   s`     D#>RYY**1-==c#hGM

##%2#((r*r8   c                 2   t        t        j                  dt        j                        t	        dd            }t
        j                  j                         \  }}|j                  d|       d}||j                         d	   j                         k(  sJ y )
Nr:   dtype
2020-01-01r!   r$   kstyler4   )        r   r   r(   r   )r   r>   arangefloat64r   rC   rD   rE   r*   r-   	get_color)r1   r3   rJ   r4   colors        r6   test_tsplotzTestTSPlot.test_tsplot   sw    IIb

+:lTV3W
 

##%2
cb!"q)335555r8   c                    t        t        j                  dt        j                        t	        dd            }d}t        j                  t        |      5  |j                  dd	
       d d d        |j                  d      }t        j                  t        |      5  |j                  dd	
       d d d        y # 1 sw Y   SxY w# 1 sw Y   y xY w)Nr:   r   r   r   r$   zCannot pass 'style' string with a color symbol and 'color' keyword argument. Please use one or the other or pass 'style' without a color symbolrw   zb-z#000099)r   r   T)drop)
r   r>   r   r   r   ry   rz   
ValueErrorr*   reset_index)r1   r3   r|   r~   s       r6   test_both_style_and_colorz$TestTSPlot.test_both_style_and_color   s    IIb

+:lTV3W
% 	
 ]]:S1 	1GG$iG0	1 NNN%]]:S1 	0FFYF/	0 	0		1 	1	0 	0s   B?"C?CCmsusc                    t         j                  j                         \  }}t        dd|      }t	        t
        j                  j                  d      j                  t        |            |      }t        |j                  |       y )N1/1/2012rP   r!   r"   r   rr   )rC   rD   rE   r   r   r>   r?   r@   rA   rX   r)   r*   )r1   r"   rJ   r4   rngr   s         r6   test_high_freqzTestTSPlot.test_high_freq   s^    

##%2St<RYY**1-==c#hGM#((r*r8   c                     ddl m}  |d d      J  |dd      dk(  sJ  |t        dd      d      t        dd      j                  k(  sJ  |dd      t        d	d      j                  k(  sJ y )
Nr   )get_datevaluer     r   r   z1987-12rN   z1987-1-1)%pandas.plotting._matplotlib.converterr   r   ordinal)r1   r   s     r6   test_get_datevaluezTestTSPlot.test_get_datevalue   sx    GT3'///T3'4///VD#.4y#8N8V8VVVVZ-
C1H1P1PPPPr8   c                    d }t        dt        ddd            }t        j                  j	                         \  }}|j                  |        ||d	       t        dt        ddd
            }|j                  |        ||d       y )Nc                     | j                         d   }|j                         d   j                  }|j                         d   }|| j	                  ||      k(  sJ y )Nr   )r-   r.   r   	get_ydataformat_coord)r4   expected_string
first_linefirst_xfirst_ys        r6   check_format_of_first_pointzITestTSPlot.test_ts_plot_format_coord.<locals>.check_format_of_first_point   sW    *J **,Q/77G **,Q/G"boogw&GGGGr8   r(   z
2014-01-01rS   zYE-DECr   r$   rr   zt = 2014  y = 1.000000r   zt = 2014-01-01  y = 1.000000)r   r   rC   rD   rE   r*   )r1   r   annualrJ   r4   dailys         r6   test_ts_plot_format_coordz$TestTSPlot.test_ts_plot_format_coord   s~    	H L!(!ST

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

b
#B(FGr8   c                     t        d|d      }t        t        j                  j	                  d      j                  t        |            |      }t        |j                  |j                  j                         y Nr   rP   rQ   r   )r   r   r>   r?   r@   rA   rX   r)   r*   r%   r"   r1   r"   rZ   r   s       r6   test_line_plot_period_seriesz'TestTSPlot.test_line_plot_period_series   sP    <dC@RYY**1-==c#hGM#((CIINN3r8   frqncy)1s3s5min7h4D8W11M3Yc                 
   t        d|d      }t        t        j                  j	                  d      j                  t        |            |      }t        |j                  |j                  j                  j                         y r   )r   r   r>   r?   r@   rA   rX   r)   r*   r%   r"   	rule_code)r1   r   rZ   r~   s       r6    test_line_plot_period_mlt_seriesz+TestTSPlot.test_line_plot_period_mlt_series   sX     <fcB299((+;;CHEsK!&&!'',,"8"89r8   c                 
   t        d|d      }t        t        j                  j	                  d      j                  t        |            |      }t        |j                  |j                  j                  j                         y r   )r   r   r>   r?   r@   rA   rX   r)   r*   r%   r"   r   r   s       r6   test_line_plot_datetime_seriesz)TestTSPlot.test_line_plot_datetime_series   sX     D#>RYY**1-==c#hGM#((CIINN$<$<=r8   )r~   r   r    r   r   r   QErj   c                    t        d|d      }t        t        j                  j	                  d      j                  t        |      df      |g d      }t        |j                  |j                  j                         y )Nr   rP   rQ   r   rS   rp   rq   Cr%   columns)r   r
   r>   r?   r@   rA   rX   r)   r*   r%   r"   r1   r"   rZ   rI   s       r6   test_line_plot_period_framez&TestTSPlot.test_line_plot_period_frame   s]    D#>II!!!$44c#h]C#

 	"''288==1r8   c                 x   t        d|d      }t        t        j                  j	                  d      j                  t        |      df      |g d      }t        d|j                  j                  j                        }|j                  j                  |      j                  }t        |j                  |       y 	Nr   rP   rQ   r   rS   r   r   r(   )r   r
   r>   r?   r@   rA   rX   r	   r%   r"   r   asfreqr)   r*   )r1   r   rZ   rI   r"   s        r6   test_line_plot_period_mlt_framez*TestTSPlot.test_line_plot_period_mlt_frame   s     <fcBII!!!$44c#h]C#

 &a)@)@Axxt$))"''4(r8   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 x   t        d|d      }t        t        j                  j	                  d      j                  t        |      df      |g d      }t        d|j                  j                  j                        }|j                  j                  |      j                  }t        |j                  |       y r   )r   r
   r>   r?   r@   rA   rX   r	   r%   r"   r   	to_periodr)   r*   r   s       r6   test_line_plot_datetime_framez(TestTSPlot.test_line_plot_datetime_frame   s    
 D#>II!!!$44c#h]C#

 &a)@)@Axx!!$',,"''4(r8   c                    t        d|d      }t        t        j                  j	                  d      j                  t        |            |      }t        |j                  t        t        j                  |j                                    }t        |j                  |j                  j                         |j                  g d   }t        |j                         y )Nr   rP   rQ   r   )r   rS         )r   r   r>   r?   r@   rA   rX   rW   r   asarrayr%   r)   r*   inferred_freqilocr   s       r6   test_line_plot_inferred_freqz'TestTSPlot.test_line_plot_inferred_freq  s     D#>RYY**1-==c#hGMSZZrzz#))'<!=>#((CII$;$;<hh|$#((#r8   c                    t         j                  j                         \  }}t        dd      }t	        t        t        |            |      }t        |d d |dd  g      }|j                  |       t        |d      rJ y )Nz2001-1-1z	2001-1-10r$   rS   r   rr   r"   )
rC   rD   rE   r   r   rB   rX   r   r*   hasattr)r1   rJ   r4   r   r3   s        r6   test_fake_inferred_businessz&TestTSPlot.test_fake_inferred_business  ss    

##%2[1E#c(O3/RVRV$%
22v&&&&r8   c                     t        t        j                  dt        j                        t	        dd            }t        |j                         y )Nr:   r   r   r   r$   )r   r>   r   r   r   r)   r*   )r1   r   s     r6   test_plot_offset_freqz TestTSPlot.test_plot_offset_freq  s6    IIb

+:lTV3W
 	#((#r8   c                     t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        |j                         y )Nz
2023-01-01BQSr:   rQ   r   r$   )	r   r   r>   r?   r@   rA   rX   r)   r*   r1   drr   s      r6   test_plot_offset_freq_businessz)TestTSPlot.test_plot_offset_freq_business  sF    5"=RYY**1-==c"gFbQ#((#r8   c           	         t        t        ddd      t        ddd      t        ddd      g      }t        t        j                  j                  d      j                  t        |            |      }t        |j                         y )N  r(   r      r   r$   )
r   r   r   r>   r?   r@   rA   rX   r)   r*   r   s      r6    test_plot_multiple_inferred_freqz+TestTSPlot.test_plot_multiple_inferred_freq#  se    HT1a((4A*>qRT@UVWRYY**1-==c"gFbQ#((#r8   zApi changed in 3.6.0)reasonc                 F   dd l mc mc m} t	        ddd      }t        t        j                  j                  d      j                  t        |      df      |      }t        j                  j                         \  }}|j                  |       |j                         }|j!                         }|j#                         }t%        ||      D ]Q  \  }	}
|j'                  |	      j)                  d	      }t+        |
j-                               }t        |      sK||k(  rQJ  y )
Nr   z2012-6-22 21:59:51.960928r     rQ   r   r$   rr   %H:%M:%S.%f)r   plotting_matplotlib	converterr   r
   r>   r?   r@   rA   rX   rC   rD   rE   r*   	get_xaxisget_ticklocsget_ticklabelszip_from_ordinalstrftimestrget_text)r1   convrZ   rI   rJ   r4   axistlocstlabelslocrK   xprss                r6   test_uhfzTestTSPlot.test_uhf(  s    <<44MII!!!$44c#h]C3
 

##%2
2||~!!#%%'eW- 	 JC##C(11-@BU^^%&B2wRxx		 r8   c                    t        ddd      }t        t        j                  j	                  d      j                  t        |      df      |      }|j                  g d   }t        j                  j                         \  }}|j                  |       t        |j                         d	   j                         d d d	f         j                         }d
}t        j                   |dd  ||dz  |gz
        dk  j#                         sJ y )N2012-6-22 21:59:51r~   r:   rQ   r   r$   )r   r(   rS      rr   r   )QΠE>r(   :0yE>)r   r
   r>   r?   r@   rA   rX   r   rC   rD   rE   r*   r   r-   
get_xydatadifffabsall)r1   rZ   rI   irregrJ   r4   diffssecs           r6   test_irreg_hfzTestTSPlot.test_irreg_hf=  s    -CDII!!!$44c#h]C3
 %

##%2

b
r||~a(335ad;<AAC ab	S#'3$7784?DDFFFr8   c                 4   t        ddd      }t        t        j                  j	                  d      j                  t        |      df      |      }t        j                  j                         \  }}|j                  j                  t              |_
        |j                  |       t        |j                         d   j!                         d d df         j#                         }d	}t        j$                  |d
d  |z
        dk  j'                         sJ y )Nr	  r~   r:   rQ   r   r$   rr   r   r  r(   r  )r   r
   r>   r?   r@   rA   rX   rC   rD   rE   r%   astypeobjectr*   r   r-   r  r  r  r  )r1   rZ   r[   rJ   r4   r  r  s          r6   test_irreg_hf_objectzTestTSPlot.test_irreg_hf_objectK  s    -CDII!!!$44c#h]C3
 

##%2II$$V,	Br||~a(335ad;<AAC ab	C(4/44666r8   c                    t        t        j                  dt        j                        t	        dd            }|j
                  g d   }t        j                  j                         \  }}|j                  |      }|J t        |j                         d   j                         |j                        D ]  \  }}||k(  rJ  y )	Nr:   r   r   r   r$   )r   r(   r      rr   r   )r   r>   r   r   r   r   rC   rD   rE   r*   r   r-   r.   r%   )r1   r   rJ   r4   retr  r  s          r6   "test_irregular_datetime64_repr_bugz-TestTSPlot.test_irregular_datetime64_repr_bugW  s    IIb

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

##%2hh"ho",,.+557C 	FB8O8	r8   c                    t        t        d      t        dd            }d}|j                  d   j	                         }t        j                  t        |      5  t        |t        |      d      |_        d d d        t        j                  j                         \  }}|j                  |	       |j                         d   j                         d
   |j                  d   j                  k(  sJ |j                         d   j!                         }t        j                  t        |      5  t#        |      j$                  dk(  sJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   r   PeriodDtype\[B\] is deprecatedr   rw   rq   startr!   r"   rr   r&   data)r   rB   r   r%   to_timestamptmassert_produces_warningFutureWarningrX   rC   rD   rE   r*   r-   r  r   r.   r   freqstr)r1   btsr|   dtrJ   r4   rZ   s          r6   test_business_freqzTestTSPlot.test_business_freqe  s%   U1X|L!DE/YYq\&&(''SA 	K$2s3xcJCI	K

##%2B||~a ++-d3syy|7K7KKKKllnQ))+''SA 	8C(00C777	8 	8	K 	K	8 	8s   E/E!E!E*c                    t        t        j                  dt        j                        t	        ddd            j                  d      }|j                  d      }t        j                  j                         \  }}|j                  |	       |j                         d
   j                         d   |j                  d
   j                  k(  sJ |j                         d
   j                         }t!        |      j"                  dk(  sJ y )Ni,  r   r   rq   r   r$   BMEr   rr   r   r&   r!  )r   r>   r   r   r   r   r   rC   rD   rE   r*   r-   r  r%   r   r.   r   r'  )r1   r(  r3   rJ   r4   rZ   s         r6   test_business_freq_convertz%TestTSPlot.test_business_freq_convertr  s    IIc,\3SA
 &- 	 ]]3

##%2B||~a ++-d3rxx{7J7JJJJllnQ))+$,,333r8   c                    t               }t        t        j                  dt        j                        t        dd            j                  |      }t        j                  j                         \  }}|j                  |       |j                         d   j                         }d}t        j                  t        |	      5  t!        |
       d d d        y # 1 sw Y   y xY w)Nr:   r   r   r   r$   rr   r   z)freq not specified and cannot be inferredrw   r!  )r   r   r>   r   r   r   r   rC   rD   rE   r*   r-   r.   ry   rz   r   r   )r1   r"   r(  rJ   r4   rZ   r|   s          r6   test_freq_with_no_period_aliasz)TestTSPlot.test_freq_with_no_period_alias~  s    }IIb

+:lTV3W

&, 	 

##%2BllnQ))+9]]:S1 	"S!	" 	" 	"s   CC%c                 P   t        ddd      t        d      z   }t        t        j                  d      |      }t
        j                  j                         \  }}|j                  |       |j                         d	   j                         }t        |      j                  rJ y )
Nz
2012-12-20   r    r      minutesr$   rr   r   )r   r   r
   r>   r   rC   rD   rE   r*   r-   r.   r   is_normalized)r1   rZ   rI   rJ   r4   r  s         r6   test_nonzero_basezTestTSPlot.test_nonzero_base  s    r<yQS?TTryy}C0

##%2
2\\^A((*9*****r8   c           
         t        dt        t        j                  dt        j                        t        dd            i      }t        j                  j                         \  }}|j                  |       |j                         d   j                         }t        j                  |j                  j                         t!        |             y )	Nrg   r:   r   r   r   r$   rr   r   )r
   r   r>   r   r   r   rC   rD   rE   r*   r-   r.   r$  assert_index_equalr%   r   r   )r1   r(  rJ   r4   rZ   s        r6   test_dataframezTestTSPlot.test_dataframe  s    VIIb

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

##%2BllnQ))+
cii113[5EFr8   z8ignore:Period with BDay freq is deprecated:FutureWarningobjr:   r   r   r   r$   r(   rg   bc                    t         j                  j                         \  }}|j                  |       |j	                         }|j                  |d   dz
  |d   dz          |j	                         }|d   |d   dz
  k(  sJ |d   |d   dz   k(  sJ t        d|j                        t        d|j                        f}|j                  dd       |j	                         }t        |d         |d   j                  k(  sJ t        |d         |d   j                  k(  sJ t        d|j                        t        d|j                        f}|j                  t        ddd      t        dd	d             |j	                         }t        |d         |d   j                  k(  sJ t        |d         |d   j                  k(  sJ |j                         }t         j                  j                  |       y )
Nrr   r   r   r(   r:   1/1/2000z4/1/2000r   r
  )rC   rD   rE   r*   get_xlimset_xlimr   r"   intr   r   
get_figurers   )r1   r:  rJ   r4   xlimresultexpectedrt   s           r6   test_axis_limitszTestTSPlot.test_axis_limits  s   4 

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

r8   c                    dd l mc mc m} |j	                  t        d            |j                  k(  sJ |j	                  t        d            |j                  k(  sJ |j	                  t        d            |j                  k(  sJ |j	                  t        d            |j                  k(  sJ |j	                  t        d            |j                  k(  sJ |j	                  t        d            |j                  k(  sJ y )Nr   rq   r   r   r   rj   r   )
r   r   r   r   
get_finderr   _daily_finder_monthly_finder_quarterly_finder_annual_finder)r1   r   s     r6   test_get_finderz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Dr8   c                 H   g d}d}t        j                  t        |      5  t        dd      j                  gt        |      z  x}}d d d        g }g }|D ]-  }t        d|      }t        t        j                  j                  d      j                  t        |            |      }	t        j                  j                         \  }
}|	j                  |	       |j!                         }|j#                  |j%                         d
          |j'                         \  }}|j)                  |dz   |       |j#                  |j%                         d
          t        j                  j+                  |j-                                0 |k(  sJ |k(  sJ y # 1 sw Y   PxY w)N)r:   rT      i  i  i
  '  z#Period with BDay freq is deprecatedrw   z1999-1-1rq   rR   r   r   rr   r   ?)r$  r%  r&  r   r   rX   r   r   r>   r?   r@   rA   rC   rD   rE   r*   r   appendget_majorticklocsr?  r@  rs   rB  )r1   day_lstr|   xpl1xpl2rs1rs2nr   r   rJ   r4   xaxisvminvmaxs                  r6   test_finder_dailyzTestTSPlot.test_finder_daily  s\   63''SA 	P!*37??@3w<OOD4	P 	.Aj!4C..q1AA#c(KSQCJJ'')EArHHHOLLNEJJu..034JD$KKs
D)JJu..034JJR]]_-	. d{{d{{%	P 	Ps   'FF!c                    ddg}t        d      j                  gt        |      z  x}}g }g }|D ]:  }t        dt	        |dz        d      }t        t        j                  j                  d      j                  t        |            |      }t        j                  j                         \  }	}
|j                  |
	       |
j                         }|j                  |j!                         d
          |
j#                         \  }}|
j%                  |dz   |       |j                  |j!                         d
          t        j                  j'                  |
j)                                = ||k(  sJ ||k(  sJ y )Ng      @r   1988Q11987Q2r
  r   r   r   rr   r   rQ  r   r   rX   r   rA  r   r>   r?   r@   rA   rC   rD   rE   r*   r   rR  rS  r?  r@  rs   rB  r1   yrsrU  rV  rW  rX  rY  r   r   rJ   r4   rZ  r[  r\  s                 r6   test_finder_quarterlyz TestTSPlot.test_finder_quarterly  s:   Bih'//03s8;;t 	.AxQU#FC..q1AA#c(KSQCJJ'')EArHHHOLLNEJJu..034;;=LT4KKs
D)JJu..034JJR]]_-	. d{{d{{r8   c                    g d}t        d      j                  gt        |      z  x}}g }g }|D ]:  }t        dt	        |dz        d      }t        t        j                  j                  d      j                  t        |            |      }t        j                  j                         \  }	}
|j                  |
       |
j                         }|j                  |j!                         d	          |
j#                         \  }}|
j%                  |d
z   |       |j                  |j!                         d	          t        j                  j'                  |
j)                                = ||k(  sJ ||k(  sJ y )N)gffffff?g      @r
  r   zJan 1988r`     r   r   r   rr   r   rQ  ra  rb  s                 r6   test_finder_monthlyzTestTSPlot.test_finder_monthly  s6    j)112SX==t 	.AxQV3GC..q1AA#c(KSQCJJ'')EArHHHOLLNEJJu..034JD$KKs
D)JJu..034JJR]]_-	. d{{d{{r8   c                    t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                         }|j                         d   }t        dd      j                  }||k(  sJ y )	Nr_  i   r   r   r   rr   r   1989Q1)r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r   rS  r   r   )r1   r   r   rJ   r4   rZ  r  r  s           r6   test_finder_monthly_longz#TestTSPlot.test_finder_monthly_long#  s    8W3?RYY**1-==c#hGM

##%2B$$&q)Hc"**Rxxr8   c                 @   g d}|D cg c]  }t        |d      j                   }}g }dD ]  }t        d|d      }t        t        j
                  j                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                         }	|j                  |	j                         d	          t        j                  j!                  |j#                                 ||k(  sJ y c c}w )
N)r   i    rl    i  i  iz  r   rR   )r   r:      1   rV      iW  i  1987r   r   rr   r   )r   r   r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r   rR  rS  rs   rB  )
r1   r  rl   r  nyearsr   r   rJ   r4   rZ  s
             r6   test_finder_annualzTestTSPlot.test_finder_annual-  s    =356afQS!))669 	.FvvC@C..q1AA#c(KSQCJJ'')EArHHHOLLNEIIe--/23JJR]]_-	. Rxx 7s   Dc                    d}t        dd|      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                         }|j                         d   }t        dd      j                  }||k(  sJ y )	Ni@ 1/1/1999MinrQ   r   rr   r   rR   r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r   rS  r   r   )	r1   nminutesr   r   rJ   r4   rZ  r  r  s	            r6   test_finder_minutelyzTestTSPlot.test_finder_minutely<  s    %BRYY**1-==c#hGM

##%2B$$&q)JU+33Rxxr8   c                    d}t        dd|      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                         }|j                         d   }t        dd      j                  }||k(  sJ y )	N   ru  r    rQ   r   rr   r   rR   rw  )	r1   nhoursr   r   rJ   r4   rZ  r  r  s	            r6   test_finder_hourlyzTestTSPlot.test_finder_hourlyI  s    #v>RYY**1-==c#hGM

##%2B$$&q)JS)11Rxxr8   c                    t        t        j                  dt        j                        t	        dd            }t        j
                  |j                  dd t        j                  j                         \  }}|j                  |       |j                         }t        |      d	k(  sJ |d
   }|j                         }t        j                  j                  |t!        |      t        j
                        }t#        |t        j                  j$                  j                        sJ |j&                  }|ddd	f   j)                         sJ t        j                  j+                  |j-                                y )Nr2  r   r   r   r$   r      rr   r(   r   mask
fill_value)r   r>   r   r   r   nanr   rC   rD   rE   r*   r-   rX   r  maMaskedArrayr   
isinstancecorer  r  rs   rB  r1   r3   rJ   r4   linesliner"  r  s           r6   	test_gapszTestTSPlot.test_gapsU  s   IIb

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

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

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

)r8   c                    t        t        j                  dt        j                        t	        dd            }|j
                  g d   }t        j                  |j
                  dd t        j                  j                         \  }}|j                  |	      }|j                         }t        |      d
k(  sJ |d   }|j                         }t        j                  j                  |t!        |      t        j                        }t#        |t        j                  j$                  j                        sJ |j&                  }|ddd
f   j)                         sJ t        j                  j+                  |j-                                y )Nr2  r   r   r   r$   	r   r(   r   r   r  r;   rf        r   r   rr   r(   r   r  )r   r>   r   r   r   r   r  rC   rD   rE   r*   r-   rX   r  r  r  r   r  r  r  r  rs   rB  r  s           r6   test_gaps_irregularzTestTSPlot.test_gaps_irregularh  s!   IIb

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

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

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

)r8   c                    g d}t        t        j                  j                  d      j	                  t        |            |      }t        j                  |j                  dd t        j                  j                         \  }}|j                  |       |j                         }t        |      dk(  sJ |d   }|j                         }t        j                  j                  |t!        |      t        j                        }t#        |t        j                  j$                  j                        sJ |j&                  }|dddf   j)                         sJ y )Nr  r   r   rr   r(   r   r  )r   r>   r?   r@   rA   rX   r  r   rC   rD   rE   r*   r-   r  r  r  r   r  r  r  r  )	r1   rZ   r   rJ   r4   r  r  r"  r  s	            r6   test_gaps_non_tszTestTSPlot.test_gaps_non_ts}  s    ,RYY**1-==c#hGM1

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

 6 6777yyAaCF|!!!r8   c                    t        t        j                  dt        j                        t	        dd            }t        j
                  |j                  dd t        j                  j                         \  }}|j                  |       t	        |j                  d	   |j                  d
   d      }t        t        j                  j                  d      j                  t        |            |      }|j                  d       |j!                         }t        |      dk(  sJ t        |j"                  j!                               dk(  sJ |d	   }|j%                         }t        j&                  j)                  |t+        |      t        j
                        }t-        |t        j&                  j.                  j(                        sJ |j0                  }	|	dddf   j3                         sJ y )Nr2  r   r   r   r$   r   r  rr   r   r'   12hrR   r   Tsecondary_yr(   r  )r   r>   r   r   r   r  r   rC   rD   rE   r*   r%   r?   r@   rA   rX   r-   right_axr  r  r  r   r  r  r  r  )
r1   lowrJ   r4   idxhr~   r  r  r"  r  s
             r6   test_gap_upsamplezTestTSPlot.test_gap_upsample  sn   IIb

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

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

 6 6777yyAbD!G}  """r8   c                    t        t        j                  j                  d      j	                  d            }t
        j                  j                         \  }}|j                  d      }t        |d      sJ t        |d      rJ |j                         }|j                         d   }t        |j                         |j                               }t        j                  ||       |j!                         j#                         dk(  sJ |d   j!                         j%                         rJ t
        j                  j'                  |       y )	Nr   r:   Tr  left_axr  r   right)r   r>   r?   r@   rA   rC   rD   rE   r*   r   get_axesr-   r   r.   r$  assert_series_equal	get_yaxisget_ticks_positionget_visiblers   )r1   r   rt   rJ   r4   axesr  r  s           r6   test_secondary_yzTestTSPlot.test_secondary_y  s    RYY**1-==bAB$$&QXX$X'r9%%%2z***||~||~a DNN$dnn&67
sB'||~002g===7$$&22444

r8   c                    t        t        j                  j                  d      j	                  d             t        t        j                  j                  d      j	                  d            }t
        j                  j                         \  }}|j                  |       |j                         j                         dk(  sJ t
        j                  j                  |j                                y )Nr   r:   rr   left)r   r>   r?   r@   rA   rC   rD   rE   r*   r  r  rs   rB  )r1   ser2rJ   ax2s       r6   test_secondary_y_yaxisz!TestTSPlot.test_secondary_y_yaxis  s    ryy$$Q'77;<bii++A.>>rBC$$&3		S	}}113v===

)*r8   c                    t        t        j                  j                  d      j	                  d            }t        t        j                  j                  d      j	                  d            }|j                         }|j                  d      }|j                         j                         sJ t        |d      rJ t        |d      sJ t        |d      sJ t        |d      rJ y )Nr   r:   Tr  r  r  )	r   r>   r?   r@   rA   r*   r  r  r   )r1   r   r  r4   r  s        r6   test_secondary_bothzTestTSPlot.test_secondary_both  s    RYY**1-==bABbii++A.>>rBCYY[hh4h(||~))+++2y)))r:&&&sI&&&3
++++r8   c                    t        dd      }t        t        j                  j	                  d      j                  d      |      }t        j                  j                         \  }}|j                  d      }t        |d      sJ t        |d      rJ |j                         }|j                         d	   }t        |j                         |j                               j                         }t!        j"                  ||       |j%                         j'                         d
k(  sJ |d	   j%                         j)                         rJ t        j                  j+                  |       y )Nr>  r:   r   r   Tr  r  r  r   r  )r   r   r>   r?   r@   rA   rC   rD   rE   r*   r   r  r-   r   r.   r#  r$  r  r  r  r  rs   )	r1   rZ   r   rt   rJ   r4   r  r  r  s	            r6   test_secondary_y_tszTestTSPlot.test_secondary_y_ts  s   R0RYY**1-==bA3G$$&QXX$X'r9%%%2z***||~||~a DNN$dnn&67DDF
sB'||~002g===7$$&22444

r8   c                    t        dd      }t        t        j                  j	                  d      j                  d      |      }t        j                  j                         \  }}|j                  |       |j                         j                         dk(  sJ t        j                  j                  |j                                y )Nr>  r:   r   r   rr   r  )r   r   r>   r?   r@   rA   rC   rD   rE   r*   r  r  rs   rB  )r1   rZ   r  rJ   r  s        r6   test_secondary_y_ts_yaxisz$TestTSPlot.test_secondary_y_ts_yaxis  s    R0bii++A.>>rBCH$$&3		S	}}113v===

)*r8   c                     t        dd      }t        t        j                  j	                  d      j                  d      |      }|j                         }|j                         j                         sJ y )Nr>  r:   r   r   )	r   r   r>   r?   r@   rA   r*   r  r  )r1   rZ   r  r4   s       r6   test_secondary_y_ts_visiblez&TestTSPlot.test_secondary_y_ts_visible  sW    R0bii++A.>>rBCHYY[||~))+++r8   c                    t        j                  d       t        t        j                  j                  d      j                  d            }t        j                  j                         \  }}|j                  dd|      }t        |d      sJ t        |d      rJ |j                         }|d	   j                         j                         d
k(  sJ y )Nscipyr   r:   Tdensityr  kindr4   r  r  r(   r  )ry   importorskipr   r>   r?   r@   rA   rC   rD   rE   r*   r   r  r  r  r1   r   rt   r4   r  s        r6   test_secondary_kdezTestTSPlot.test_secondary_kde  s    G$RYY**1-==bAB**%%'RXX$Y2X>r9%%%2z***||~Aw  "5577BBBr8   c                 H   t        t        j                  j                  d      j	                  d            }t
        j                  j                         \  }}|j                  dd|       |j                         }|d   j                         j                         dk(  sJ y )Nr   r:   Tbarr  r(   r  )r   r>   r?   r@   rA   rC   rD   rE   r*   r  r  r  r  s        r6   test_secondary_barzTestTSPlot.test_secondary_bar  s}    RYY**1-==bAB**%%'RT"5||~Aw  "5577BBBr8   c                    t        t        j                  j                  d      j	                  d      g d      }|j                  ddgd      }|d	   j                         j                         d
k(  sJ |d   j                         j                         dk(  sJ |d   j                         j                         d
k(  sJ y )Nr   r   rS   rg   r<  cr   rg   r  T)r  rE   r   r  r(   r  r
   r>   r?   r@   rA   r*   r  r  r1   rI   r  s      r6   test_secondary_framez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Br8   c                    t        t        j                  j                  d      j	                  d      g d      }|j                  dddgd	      }|d
   j                         j                         dk(  sJ |d   j                         j                         dk(  sJ |d   j                         j                         dk(  sJ y )Nr   r  r  r  r  rg   r  T)r  r  rE   r   r  r(   r  r  r  s      r6   test_secondary_bar_framez#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Br8   c                    t        t        j                  dt        j                        t	        ddd            }|j
                  g d   }t        j                  j                         \  }}|j                  |       |j                  d	|
      }|j                         }d}t        j                  t        |      5  t        |d   j                               }t        |d   j                               }	t        j                   ||j"                  j%                  d             t        j                   |	|j"                  j%                  d             |j'                         \  }
}|j"                  j%                         }d d d        
d   j(                  k  sJ |d   j(                  k\  sJ y # 1 sw Y   2xY wNr  r   r   rq   r   r$   r   r   r:   r   rf        r  rr   gr   r  rw   r   r(   r'   )r   r>   r   r   r   r   rC   rD   rE   r*   r-   r$  r%  r&  r   r.   r8  r%   r   r?  r   r1   s1s2rJ   r4   r  r  r|   idx1idx2r  r  pidxs                r6   test_mixed_freq_regular_firstz(TestTSPlot.test_mixed_freq_regular_first  sd   IIb

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

##%2
2ggCBg'/''SA 	(uQx1134DuQx1134D!!$(:(:3(?@!!$(:(:3(?@,,.KD%88%%'D	( tAw&&&R(((((	( 	(s   CF66F?c                    t        t        j                  dt        j                        t	        dd            }|j
                  g d   }t        j                  j                         \  }}|j                  d|       |j                  |	       t        |d
      rJ |j                         }|d   j                         }t        j                  ||j                  j!                  t"              j$                         |d   j                         }t        j                  ||j                  j!                  t"              j$                         y Nr  r   r   r   r$   r  r  r   rr   r"   r   r(   )r   r>   r   r   r   r   rC   rD   rE   r*   r   r-   r.   r$  assert_numpy_array_equalr%   r  r  rW   r1   r  r  rJ   r4   r  x1x2s           r6   test_mixed_freq_irregular_firstz*TestTSPlot.test_mixed_freq_irregular_first!  s    IIb

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

##%2
cb!
22v&&&1X!
##B(?(F(FG1X!
##B(?(F(FGr8   c                    t        t        j                  dt        j                        t	        ddd            j                         }|j                  g dd d f   }t        j                  j                         \  }}|j                  |       |j                  d	|
      }|j                         }d}t        j                  t        |      5  t        |d   j!                               }t        |d   j!                               }	|j#                  |j$                  j'                  d            sJ |	j#                  |j$                  j'                  d            sJ |j)                         \  }
}|j$                  j'                         }d d d        
d   j*                  k  sJ |d   j*                  k\  sJ y # 1 sw Y   2xY wr  )r   r>   r   r   r   to_framer   rC   rD   rE   r*   r-   r$  r%  r&  r   r.   equalsr%   r   r?  r   r  s                r6    test_mixed_freq_regular_first_dfz+TestTSPlot.test_mixed_freq_regular_first_df0  sw   IIb

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

##%2
2ggCBg'/''SA 	(uQx1134DuQx1134D;;rxx11#6777;;rxx11#6777,,.KD%88%%'D	( tAw&&&R(((((	( 	(s   B>GGc                    t        t        j                  dt        j                        t	        dd            j                         }|j                  g dd d f   }t        j                  j                         \  }}|j                  d|       |j                  |	       t        |d
      rJ |j                         }|d   j                         }t        j                  ||j                   j#                  t$              j&                         |d   j                         }t        j                  ||j                   j#                  t$              j&                         y r  )r   r>   r   r   r   r  r   rC   rD   rE   r*   r   r-   r.   r$  r  r%   r  r  rW   r  s           r6   "test_mixed_freq_irregular_first_dfz-TestTSPlot.test_mixed_freq_irregular_first_dfF  s    IIb

+:lTV3W

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

##%2
cb!
22v&&&1X!
##B(?(F(FG1X!
##B(?(F(FGr8   c                 F   t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                  |       |j                         D ]+  }t        |j                         	      j                  dk(  r+J  y )
Nru  m  r   r   rf  r   r   rr   r!  r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r-   r   r.   r"   r1   r  idxlhighr  rJ   r4   r  s           r6   test_mixed_freq_hf_firstz#TestTSPlot.test_mixed_freq_hf_firstV  s    *c<*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

##%2		R	BLLN 	BDDNN$45::cAAA	Br8   c                    t        ddd      }t        j                  j                  d      j	                  d      }t        ||      }|j                  d      j                         }t        j                  j                         \  }}|j                  |	      }|j                  d
|       |j                  d   j                         d   |j                  d   j                         d   k(  sJ y )Nz2012-01-01 13:00
2012-01-02r    rR   r   rf  r$   r   rr   rr   r   r(   )r   r>   r?   r@   rA   r   r   interpolaterC   rD   rE   r*   r  r.   )r1   ts_indts_datar3   ts2rJ   r4   s          r6   test_mixed_freq_alignmentz$TestTSPlot.test_mixed_freq_alignmenta  s    .3G))''*::2>G6*ii**,

##%2WWW^sr"xx{$$&q)RXXa[-B-B-DQ-GGGGr8   c                    t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  d|	       |j                  d|	       |j                         D ]+  }t        |j                         
      j                  dk(  r+J  |j                         }t        |j                         dk(  sJ t        j                  j#                  |j%                                y )Nru  r  r   r   rf  r   r   T)legendr4   r!  )r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r-   r   r.   r"   
get_legendtextsrs   rB  )	r1   r  r  r  r  rJ   r4   r  legs	            r6   test_mixed_freq_lf_firstz#TestTSPlot.test_mixed_freq_lf_firstn  s   *c<*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

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

)r8   c                 F   t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                  |       |j                         D ]+  }t        |j                         	      j                  dk(  r+J  y )
Nru     r   r   r
  r    r   rr   r!  r  r  s           r6   test_mixed_freq_lf_first_hourlyz*TestTSPlot.test_mixed_freq_lf_first_hourly|  s    *c>*ac:bii++A.>>s4yI4PRYY**1-==c$iH$O

##%2B		R	LLN 	DDDNN$45::eCCC	Dr8   c                 (   t        t        j                  dt        j                        t	        dd            }|j
                  g d   }d}t        j                  t        |      5  t        d	dd
      }d d d        t        t        j                  j                  d      j                  t                    |      }t        j                  j!                         \  }}|j#                  |       |j#                  |       y # 1 sw Y   xY w)Nr2  r   r   r   r$   )r   r(   r   rS   r
  r   r   r     r;   r:   r              r  rw   z1/3/2000rq   r   r   rr   )r   r>   r   r   r   r   r$  r%  r&  r   r?   r@   rA   rX   rC   rD   rE   r*   )r1   r3   r  r|   r   psrJ   r4   s           r6   test_mixed_freq_irreg_periodz'TestTSPlot.test_mixed_freq_irreg_period  s    IIb

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

##%2

b

2	A 	As   *DDc                 &   t        ddd      }|d d j                  |dd        }t        t        t	        |            |      }t        t        t	        |            |      }t
        j                  j                  dd      \  }\  }}|j                  |	       |j                  |	       |j                  d
k(  sJ |j                  d
k(  sJ |j                  d   j                         d   |j                  d   j                         d   k(  sJ y )N
2015-01-01rS   r   r   r(   r   T)nrowssharexrr   r   r   r&   )r   rY   r   rB   rX   rC   rD   rE   r*   r"   r  r  r1   r  r  r  r  rJ   ax1r  s           r6   test_mixed_freq_shared_axz$TestTSPlot.test_mixed_freq_shared_ax  s    ,=BQx~~d12h'E#d)$d+E#d)$d+

++!D+A:C
3
3xx3xx3yy|&&(.#))A,2I2I2KD2QQQQr8   c                    t        ddd      }|d d j                  |dd        }t        t        t	        |            |      }t        t        t	        |            |      }t
        j                  j                         \  }}|j                         }|j                  |       |j                  |       |j                  d   j                         d	   |j                  d   j                         d	   k(  sJ y )
Nr  rS   r   r   r(   r   rr   r   r&   r   rY   r   rB   rX   rC   rD   rE   twinxr*   r  r  r  s           r6    test_mixed_freq_shared_ax_twin_xz+TestTSPlot.test_mixed_freq_shared_ax_twin_x  s    ,=BQx~~d12h'E#d)$d+E#d)$d+$$&3iik
3
3yy|&&(.#))A,2I2I2KD2QQQQr8   zTODO (GH14330, GH14322)c                    t        ddd      }|d d j                  |dd        }t        t        t	        |            |      }t        t        t	        |            |      }t
        j                  j                         \  }}|j                         }|j                  |       |j                  |       |j                  d   j                         d	   |j                  d   j                         d	   k(  sJ y )
Nr  rS   r   r   r(   r   rr   r   r&   r	  r  s           r6   0test_mixed_freq_shared_ax_twin_x_irregular_firstz;TestTSPlot.test_mixed_freq_shared_ax_twin_x_irregular_first  s     ,<BQx~~d12h'E#d)$d+E#d)$d+$$&3iik
3
3yy|&&(.#))A,2I2I2KD2QQQQr8   c                    t         j                  j                         \  }}t        dt        dg      }t        t        t        |            |      }|j                  |       |j                         d   j                         }|j                  j                         t        |      j                         k  sJ t        |      j                         |j                  j                         k  sJ y )Nr  z
2015-01-03rr   r   )rC   rD   rE   r   r   r   rB   rX   r*   r-   r.   r%   r   max)r1   rJ   r4   dtir~   r5   s         r6   test_nat_handlingzTestTSPlot.test_nat_handling  s    

##%2\3=>5S?C(	"q!++-ww{{}u 1 1 3333e}  "aggkkm333r8   c                 0   t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       d	}t        j                  t        |
      5  |j                  |d       d d d        y # 1 sw Y   y xY w)Nru  4   r   r   rf  r   r   rr   zz'how' is not a valid keyword for plotting functions. If plotting multiple objects on shared axes, resample manually first.rw   foo)r4   how)r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   ry   rz   r   )r1   r  r  r  r  rJ   r4   r|   s           r6   *test_to_weekly_resampling_disallow_how_kwdz5TestTSPlot.test_to_weekly_resampling_disallow_how_kwd  s    *bs;*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

##%2		R	H 	 ]]:S1 	'HHH&	' 	' 	's   /DDc                 Z   t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                  |       |j                         D ]5  }t        |j                         	      j                  |j                  k(  r5J  y )
Nru  r  r   r   rf  r   r   rr   r!  r  r  s           r6   test_to_weekly_resamplingz$TestTSPlot.test_to_weekly_resampling  s    *bs;*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

##%2		R	BLLN 	HDDNN$45::diiGGG	Hr8   c                    t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                  |       |j                         j                  j                  t        j                        }t        j                  g d	t        j                  
      }|j!                         D ]  }	t#        |	j%                               j&                  |j&                  k(  sJ |	j%                  d      }
t        |
      dk(  rt)        j*                  |
|       mt)        j*                  |
|        y )Nru  r  r   r   rf  r   r   rr   i  i  i  i  i  i   i  i  i  i  i  i  r   r!  Forig)r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r   asi8r  r   re   r-   r   r.   r"   r$  r  )r1   r  r  r  r  rJ   r4   
expected_h
expected_lr  r5   s              r6   test_from_weekly_resamplingz&TestTSPlot.test_from_weekly_resampling  sS   *bs;*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

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

 LLN 	?DDNN$45::diiGGGNNN.E5zR++E:>++E:>	?r8   zkind1, kind2)r  area)r!  r  c                 "   t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |      df      |g d	
      }t        t        j                  j	                  d      j                  t        |      df      |g d	
      }t        j                  j                         \  }}|j                  |d|       |j                  |d|       t        j                  g dt        j                        }	t        j                  t        |	      t        j                        }
t        d      D ]  }|j                  |   }t        |j!                               j"                  |j"                  k(  sJ t%        j&                  |j!                  d      |	       |
||   j(                  z  }
t%        j&                  |j+                  d      |
        |j-                         j.                  j1                  t        j                        }	t        j                  t        |	      t        j                        }
t        d      D ]  }|j                  d|z      }t        |j!                               j"                  |j"                  k(  sJ t%        j&                  |j!                  d      |	       |
||   j(                  z  }
t%        j&                  |j+                  d      |
        y )Nru  r  r   r   rf  r   r   rS   r   r(   r   r   Tr  stackedr4   r  r   Fr  r!  )r   r
   r>   r?   r@   rX   rC   rD   rE   r*   re   r   zerosrB   r  r   r.   r"   r$  r  rW   r   r   r  r  )r1   kind1kind2r  r  r  r  rJ   r4   
expected_x
expected_yrf   r  s                r6   $test_from_resampling_area_line_mixedz/TestTSPlot.test_from_resampling_area_line_mixed  sY   *bs;*bt<II!!!$++SYN;

 II!!!$++SYN;
 

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

" XXc*oRZZ@
q 	PA88A;Dt~~/055BBB''E(BJO#a&--'J''E(BJO	P ^^%**11"**=
XXc*oRZZ@
q 	PA88AE?DDNN$45::diiGGG''E(BJO$q'..(J''E(BJO	Pr8   c                 $   t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |      df      |g d	
      }t        t        j                  j	                  d      j                  t        |      df      |g d	
      }t        j                  j                         \  }}|j                  |d|       |j                  |d|       |j                         j                  j                  t        j                        }	t        j                  t        |	      t        j                        }
t        d      D ]  }|j                   |   }t#        |j%                               j&                  |j&                  k(  sJ t)        j*                  |j%                  d      |	       |
||   j,                  z  }
t)        j*                  |j/                  d      |
        t        j0                  g dt        j                        }	t        j                  t        |	      t        j                        }
t        d      D ]  }|j                   d|z      }t#        |j%                               j&                  |j&                  k(  sJ t)        j*                  |j%                  d      |	       |
||   j,                  z  }
t)        j*                  |j/                  d      |
        y )Nru  r  r   r   rf  r   r   rS   r#  r   Tr$  r   r!  Fr  r  )r   r
   r>   r?   r@   rX   rC   rD   rE   r*   r   r  r  r   r&  rB   r  r   r.   r"   r$  r  rW   r   re   )r1   r'  r(  r  r  r  r  rJ   r4   r)  r*  rf   r  r  s                 r6   0test_from_resampling_area_line_mixed_high_to_lowz;TestTSPlot.test_from_resampling_area_line_mixed_high_to_low2  sY   *bs;*bt<II!!!$++SYN;

 II!!!$++SYN;

 

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

" XXc*oRZZ@
q 	QAHHQUOEEOO$56;;tyyHHH''U(CZP#a&--'J''U(CZP	Qr8   c                    t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                  |       t        |j                               dk(  sJ |j                         D ]+  }t        |j                         	      j                  d
k(  r+J  y Nz2014-07-01 09:00r~   2   rQ   100msr   r   rr   r!  r   r  r  s           r6   "test_mixed_freq_second_millisecondz-TestTSPlot.test_mixed_freq_second_millisecondh  s    ,3C,7CHbii++A.>>s4yI4PRYY**1-==c$iH$O

##%2		R	B2<<>"a'''LLN 	CDDNN$45::dBBB	Cr8   c                    t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                  |       t        |j                               dk(  sJ |j                         D ]+  }t        |j                         	      j                  d
k(  r+J  y r/  r  r  s           r6   .test_mixed_freq_second_millisecond_low_to_highz9TestTSPlot.test_mixed_freq_second_millisecond_low_to_highv  s    ,3C,7CHbii++A.>>s4yI4PRYY**1-==c$iH$O

##%2B		R	2<<>"a'''LLN 	CDDNN$45::dBBB	Cr8   c                    t        ddd      t        ddd      t        ddd      g}t        t        j                  j	                  d      j                  t        |      df      t        |t                    }t        |j                         y )Nr   r(   r   r  r   rS   r   )r   r
   r>   r?   r@   rA   rX   r   r  r)   r*   r_   s      r6   test_irreg_dtypeszTestTSPlot.test_irreg_dtypes  sp    D!QdAq!14a3DEII!!!$44c#h]C#V$
 	"''"r8   c                 H   t        dd      }|g d   j                  t              }t        t        j
                  j                  d      j                  t        |      df      |      }t        j                  j                         \  }}t        |j                  |       y )Nr>  r:   r   )r   r   r   r;   r   rS   rr   )r   r  r  r
   r>   r?   r@   rA   rX   rC   rD   rE   r)   r*   )r1   rZ   rI   rJ   r4   s        r6   test_irreg_dtypes_dt64z!TestTSPlot.test_irreg_dtypes_dt64  sv    R0,&&v.ryy,,Q/??S1NPST

##%2"''b)r8   c                    t        dddddd      }t        j                  j                  d      j	                  ddd      j                         }t        j                  |D cg c](  }|t        t        |            z   j                         * c}      }t        t        j                  j                  d      j                  t        |            t        j                  j                  d      j                  t        |            d|	      }t        j                  j                         \  }}|j!                  |
       |j#                         }|j%                         }	t'        ||	      D ]  \  }
}t)        t        |
      d      \  }}t)        |d      \  }}|j+                         }t        |      dkD  sL|dk7  rt        |||      j-                  d      }nt        |||      j-                  d      }||k(  rJ  y c c}w )Nr(   rS   r2  r   r   r  r3  r;  r$   rr   <   %H:%M:%S%H:%M)r   r>   r?   r@   integerscumsumre   r   rA  r   r
   rA   rX   rC   rD   rE   r*   
get_xticksrF   r   divmodr   r   r1   tdeltasrl   r3   rI   rJ   r4   tickslabels_tick_labelmr~   r    r  r  s                    r6   	test_timezTestTSPlot.test_time  s   Q1aQ'&&q)221b!<CCEXXvN!Ic!f55;;=NOYY**1-==c"gFYY**1-==c"gF 
 

##%2
2 ##% / 		 ME6#e*b)DAq!R=DAq"B2w{6aA//
;BaA//8BRxx		  Os   "-Hc                    t        dddddd      }t        j                  j                  d      j	                  ddd      j                         }t        j                  |D cg c](  }|t        t        |            z   j                         * c}      }t        t        j                  j                  d      j                  t        |            t        j                  j                  d      j                  t        |            d|	      }t        j                  j                         \  }}|j!                  |
       |j#                         }|j%                         }	t'        ||	      D ]  \  }
}t)        t        |
      d      \  }}t)        |d      \  }}|j+                         }t        |      dkD  sL|dk7  rt        |||      j-                  d      }nt        |||      j-                  d      }||k(  rJ  |j/                  dd       |j#                         }|j%                         }	t'        ||	      D ]  \  }
}t)        t        |
      d      \  }}t)        |d      \  }}|j+                         }t        |      dkD  sL|dk7  rt        |||      j-                  d      }nt        |||      j-                  d      }||k(  rJ  y c c}w )Nr(   rS   r2  r   r   r  r3  r;  r$   rr   r:  r;  r<  z1:30z5:00)r   r>   r?   r@   r=  r>  re   r   rA  r   r
   rA   rX   rC   rD   rE   r*   r?  rF   r   r@  r   r   r@  rA  s                    r6   test_time_change_xlimz TestTSPlot.test_time_change_xlim  se   Q1aQ'&&q)221b!<CCEXXvN!Ic!f55;;=NOYY**1-==c"gFYY**1-==c"gF 
 

##%2
2 ##% / 		 ME6#e*b)DAq!R=DAq"B2w{6aA//
;BaA//8BRxx		  	FF# ##% / 		 ME6#e*b)DAq!R=DAq"B2w{6aA//
;BaA//8BRxx		 ? Os   "-Kc                    t        dddddd      }t        j                  j                  d      j	                  ddd      j                         }t        j                  |D cg c](  }|t        t        |            z   j                         * c}      }t        t        j                  j                  d      j                  t        |            t        j                  j                  d      j                  t        |            d|	      }t        j                  j                         \  }}|j!                  |
      }|j#                         }|j%                         }	t'        ||	      D ]  \  }
}t)        t        |
      d      \  }}t+        |
t        |
      z
  dz        }t)        |d      \  }}|j-                         }t        |      dkD  sf|dz  dk7  rt        ||||      j/                  d      }ni|dz  dk7  r!t        ||||      j/                  d      d d }n@|dk7  rt        ||||      j/                  d      }nt        ||||      j/                  d      }||k(  rJ  y c c}w )Nr(   rS   r2  r   r   r  )microsecondsr;  r$   rr   r:  g    .Ai  r   r;  r<  )r   r>   r?   r@   r=  r>  re   r   rA  r   r
   rA   rX   rC   rD   rE   r*   r?  rF   r   r@  roundr   r   )r1   rB  rC  rl   r3   rI   rJ   r4   rD  rE  rF  rG  rH  r~   r   r    r  r  s                     r6   test_time_museczTestTSPlot.test_time_musec  s   Q1aQ'&&q)221b!<CCEXXFSqI3q6::@@BSTYY**1-==c"gFYY**1-==c"gF 
 

##%2WWW^ ##% / 	 ME6#e*b)DAqE
*c12B!R=DAq"B2w{I!#aAr*33MBBDjQ&aAr*33MB3BGB!VaAr*33J?BaAr*33G<BRxx!	  Ts   "-I.c                    t        ddd      }t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |       |j                  d	|
      }|j                         D ]*  }t        |j                               j                  dk(  r*J  t        |d      sJ t        |d      rJ |j                   j                         D ]*  }t        |j                               j                  dk(  r*J  y )Nru  r  r   r   rf  r   r   rr   Tr  r4   r  r  )r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r-   r   r.   r"   r   r  r  s           r6   test_secondary_upsamplez"TestTSPlot.test_secondary_upsample  s8   *c<*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O

##%2BYY4BY/LLN 	=Dt~~/055<<<	=r9%%%2z***JJ((* 	=Dt~~/055<<<	=r8   c           	         t         j                  j                         }|j                  d      }t	        t
        j                  j                  d      j                  d      t        t        d      t              t        ddd	      
      }|j                  ddg|       |j                         }t        |j!                               dk(  sJ |j#                         d   j%                         dk(  sJ |j#                         d   j%                         dk(  sJ |j#                         d   j%                         dk(  sJ |j#                         d   j%                         dk(  sJ |j&                  j                         J t)               }|j!                         D ]!  }|j+                  |j-                                # t        |      dk(  sJ t         j                  j/                  |       y )N   r   r:   r
  ABCDr   
2000-01-01r:   rq   r   r   r%   rp   rR  r
  r   	A (right)r(   z	B (right)r   rS   r   )rC   rD   figureadd_subplotr
   r>   r?   r@   rA   r   listr  r   r*   r  rX   r-   	get_textsr   r  setaddr   rs   )r1   rt   r4   rI   r  colorsr  s          r6   test_secondary_legendz 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{{%%'///MMO 	)DJJt~~'(	) 6{a

r8   c           	         t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }t        j                  j                         }|j                  d
      }|j                  ddgd|       |j                         }t        |j!                               dk(  sJ |j#                         d   j%                         dk(  sJ |j#                         d   j%                         dk(  sJ |j#                         d   j%                         dk(  sJ |j#                         d   j%                         dk(  sJ t        j                  j'                  |       y )Nr   rV  rW  r   rX  r:   rq   r   rY  rU  rp   r   F)r  
mark_rightr4   r
  r   r(   rS   r   )r
   r>   r?   r@   rA   r   r]  r  r   rC   rD   r[  r\  r*   r  rX   r-   r^  r   rs   r1   rI   rt   r4   r  s        r6   test_secondary_legend_rightz&TestTSPlot.test_secondary_legend_right*  s9   II!!!$44W=$v,f5\2C@

 jj!__S!
S#J5R@mmo3==?#q(((}}q!**,333}}q!**,333}}q!**,333}}q!**,333

r8   c           	      "   t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }t        j                  j                         \  }}|j                  d
dg|       |j                         }|j                         d   j                         dk(  sJ |j                         d   j                         dk(  sJ t        j                  j!                  |       y )Nr   rV  rW  r   rX  r:   rq   r   rY  r  rp   )r  r  r4   r   rZ  r(   r
   r>   r?   r@   rA   r   r]  r  r   rC   rD   rE   r*   r  r^  r   rs   re  s        r6   test_secondary_legend_barz$TestTSPlot.test_secondary_legend_bar;  s    II!!!$44W=$v,f5\2C@

 **%%'R
U"5mmo}}q!**,;;;}}q!**,333

r8   c           	      $   t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }t        j                  j                         \  }}|j                  d
dgd|       |j                         }|j                         d   j                         dk(  sJ |j                         d   j                         dk(  sJ t        j                  j!                  |       y )Nr   rV  rW  r   rX  r:   rq   r   rY  r  rp   F)r  r  rd  r4   r   r(   rh  re  s        r6   test_secondary_legend_bar_rightz*TestTSPlot.test_secondary_legend_bar_rightH  s    II!!!$44W=$v,f5\2C@

 **%%'R
U%BGmmo}}q!**,333}}q!**,333

r8   c           	      r   t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }t        j                  j                         }|j                  d
      }t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }|j                  ddg|      }|j                         }t        |j!                               dk(  sJ |j"                  j                         J t%               }|j!                         D ]!  }|j'                  |j)                                # t        |      dk(  sJ t        j                  j+                  |       y )Nr   rV  rW  r   rX  r:   rq   r   rY  rU  r   r   rR  r
  )r
   r>   r?   r@   rA   r   r]  r  r   rC   rD   r[  r\  r*   r  rX   r-   r  r_  r`  r   rs   )r1   rI   rt   r4   r  ra  r  s          r6   test_secondary_legend_multi_colz*TestTSPlot.test_secondary_legend_multi_colU  sP   II!!!$44W=$v,f5\2C@

 jj!__S!II!!!$44W=$v,f5\2C@

 WW#sW3mmo3==?#q((({{%%'///MMO 	)DJJt~~'(	) 6{a

r8   c                    t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }t        j                  j                         }|j                  d	      }|j                  d
dg|      }|j                         }t        |j                               dk(  sJ |j                   j                         J t#               }|j                         D ]!  }|j%                  |j'                                # t        |      dk(  sJ t        j                  j)                          y c c}w )N皙?x   r2  r
  rW  r   r2  i-rY  rU  rp   rq   rR  r
  )r
   r>   r   reshaper   r]  r  rB   rC   rD   r[  r\  r*   r  rX   r-   r  r_  r`  r   rs   r1   rf   rI   rt   r4   r  ra  r  s           r6   test_secondary_legend_nontsz&TestTSPlot.test_secondary_legend_nontsn  s!   "))C.((11$v,f5595a2aS5VD

 jj!__S!WW#sW3mmo3==?#q((({{%%'///MMO 	)DJJt~~'(	) 6{a

 6s   E0c                    t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }t        j                  j                         }|j                  d	      }|j                  d
dg|      }|j                         }t        |j                               dk(  sJ |j                   j                         J t#               }|j                         D ]!  }|j%                  |j'                                # t        |      dk(  sJ y c c}w )Nro  rp  rq  rW  r   r2  rr  rY  rU  r   r   rR  r
  )r
   r>   r   rs  r   r]  r  rB   rC   rD   r[  r\  r*   r  rX   r-   r  r_  r`  r   rt  s           r6   %test_secondary_legend_nonts_multi_colz0TestTSPlot.test_secondary_legend_nonts_multi_col  s   "))C.((11$v,f5595a2aS5VD

 jj!__S!WW#sW3mmo3==?#q((({{%%'///MMO 	)DJJt~~'(	) 6{a 6s   Ec                    t        ddd      }t        t        j                  j	                  d      j                  t        |      df      |      }t        j                  j                         \  }}|j                  |      }|j                         }|j                         D ]4  }t        |j                               dkD  s |j                         d	k(  r4J  y )
Nr   rf  r   r   r   rS   rr   r   r2  )r   r
   r>   r?   r@   rA   rX   rC   rD   rE   r*   r   r   r   get_rotation)r1   r   rI   rJ   r4   rZ  r  s          r6   test_format_date_axisz TestTSPlot.test_format_date_axis  s    Rd;ryy,,Q/??S1NPST

##%2WWW^((* 	1D4==?#a'((*b000	1r8   c                 $   t        ddd      }t        t        t        |                  }t        j
                  j                         \  }}|j                  ||d      }t        j                  t        |d   j                               |       y )Nr  r:   r   r  r   )rK   r   )r   r]  rB   rX   rC   rD   rE   r*   r$  r8  r   r.   )r1   rl   rm   rJ   r4   r  s         r6   test_ax_plotzTestTSPlot.test_ax_plot  sn    \2C@s1v

##%21C(
mE!H,>,>,@A1Er8   c           
      T   t        ddd      t        ddd      g}t        j                  ddd      }t        j                  dd	d      }t        j                  j                         \  }}|j                  |D cg c]  }|j                          c}|d
|D cg c]  }|j                          c}|d
d      \  }}t        j                  |D cg c]  }|j                          c}t        j                        }	t        j                  |j                         d d df   |	       t        j                  |D cg c]  }|j                          c}t        j                        }	t        j                  |j                         d d df   |	       y c c}w c c}w c c}w c c}w )N  rf     i  r(   g      $@g      &@g      ?g      (@-r
  )	linewidthr   r   )r   r>   r   rC   rD   rE   r*   	toordinalre   r   r$  r  r  )
r1   datesvalues1values2rJ   r4   rl   line1line2exps
             r6   test_mpl_nopandaszTestTSPlot.test_mpl_nopandas  sO   dB#T$2%67))D$,))D$,

##%2 GG$)*qQ[[]*$)*qQ[[]*  
	
 hhu5!5RZZH
##E$4$4$6q!t$<cBhhu5!5RZZH
##E$4$4$6q!t$<cB + + 65s   9FFF <F%c                 $   ddl m} t        t        j                  dt        j
                        t        dd            }|j                  g d   }t        j                  j                         \  }}|d d	 j                  |
       |d	d  j                  |
       |j                         \  }}||j                  |j                  j                         d|      k  sJ ||j                  |j                  j!                         d|      k\  sJ y )Nr   DatetimeConverterr  r   r   r   r$   r(   r
  r   r   r  r;   r:   rf  r  r  r  r  r  r   rr    r   r  r   r>   r   r   r   r   rC   rD   rE   r*   r?  convertr%   r   r  r1   r  r3   ts_irregularrJ   r4   r  r  s           r6    test_irregular_ts_shared_ax_xlimz+TestTSPlot.test_irregular_ts_shared_ax_xlim  s    KIIb

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

##%2Ra$QR$ kkme(001C1C1G1G1I2rRRRR)11,2D2D2H2H2JBPRSSSSr8   c                 <   g d}g d}t        d|      }t        d|      }t        j                  j                         \  }}|j	                  |       |j                         \  }}|j	                  d|       |j                         \  }	}
||	k\  sJ ||
k  sJ y )	N)r(   r   rS   r
  )r   r   r  r  r(   r$   r   rr   TrR  )r   rC   rD   rE   r*   r?  r1   index_1index_2r  r  rJ   r4   left_beforeright_before
left_afterright_afters              r6   test_secondary_y_non_ts_xlimz'TestTSPlot.test_secondary_y_non_ts_xlim  s    AW%AW%

##%2
2$&KKM!\
DR("$++-
Kj(((k)))r8   c                 d   t        ddd      }t        ddd      }t        d|      }t        d|      }t        j                  j	                         \  }}|j                  |	       |j                         \  }}|j                  d
|       |j                         \  }	}
||	k\  sJ ||
k  sJ y )NrX  r
  r   r  z
2000-01-05r(   r$   r   rr   TrR  )r   r   rC   rD   rE   r*   r?  r  s              r6    test_secondary_y_regular_ts_xlimz+TestTSPlot.test_secondary_y_regular_ts_xlim  s    <E<EAW%AW%

##%2
2$&KKM!\
DR("$++-
Kj(((k)))r8   c                 h   t        ddd      }t        d|      }t        j                  j	                         \  }}|j                  |       |j                         \  }}|j                  d      j                         j                  d	|
       |j                         \  }}||k(  sJ ||k(  sJ y )NrX  rP  r   r   r(   r$   rr   r   TrR  )	r   r   rC   rD   rE   r*   r?  resamplemean)	r1   r   r3   rJ   r4   r  r  r  r  s	            r6   #test_secondary_y_mixed_freq_ts_xlimz.TestTSPlot.test_secondary_y_mixed_freq_ts_xlim  s    u5AAS!

##%2
2$&KKM!\
C$$"$="$++-
K j((({***r8   c                 P   ddl m} t        t        j                  dt        j
                        t        dd            }|j                  g d   }t        j                  j                         \  }}|d d	 j                  |
       |d	d  j                  d|       |d d	 j                  |
       |j                         \  }}||j                  |j                  j                         d|      k  sJ ||j                  |j                  j!                         d|      k\  sJ y )Nr   r  r  r   r   r   r$   r  r   rr   TrR  r  r  r  s           r6   "test_secondary_y_irregular_ts_xlimz-TestTSPlot.test_secondary_y_irregular_ts_xlim  s   KIIb

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

##%2Ra$QR$26Ra$kkme(001C1C1G1G1I2rRRRR)11,2D2D2H2H2JBPRSSSSr8   c                     t        ddd      t        ddd      g}t        j                  j                         \  }}|j	                  |       t        dddd      t        dddd      g}|j	                  |       y )Ni  r(   r   rf  )r   rC   rD   rE   r*   r   )r1   rW   rJ   r4   s       r6   test_plot_outofbounds_datetimez)TestTSPlot.test_plot_outofbounds_datetime  sj    tQ"Dq!$45

##%2
4Ar*HT1a,DE
r8   c                 D   t        j                  d      D cg c]  }d|d
 }}t        ddd      }t        t         j                  j                  d      j                  t        |      df      |      }t        j                  j                         \  }}|j                  d|	       t        j                  j                          |j                         }|D cg c]  }|j                          }	}t        |	      t        |      k(  sJ |	|k(  sJ y c c}w c c}w )
Nr:   z00:00:00.0000000z0>2d0nsr   r   rS   r<   )r>   r   r   r
   r?   r@   rA   rX   rC   rD   rE   r*   drawrF   r   )
r1   rf   expected_labelsr   rI   rJ   r4   rE  rl   result_labelss
             r6   "test_format_timedelta_ticks_narrowz-TestTSPlot.test_format_timedelta_ticks_narrow   s    @B		"N1-aX6NNc2D9ryy,,Q/??S1NPST

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

##%/56!66=!S%9999/// O 7s   DDc                    g d}t        ddd      }t        t        j                  j	                  d      j                  t        |      df      |      }t        j                  j                         \  }}|j                  d|      }t        j                  j                          |j                         }|D cg c]  }|j                          }}t        |      t        |      k(  sJ ||k(  sJ y c c}w )	N)	z00:00:00z1 days 03:46:40z2 days 07:33:20z3 days 11:20:00z4 days 15:06:40z5 days 18:53:20z6 days 22:40:00z8 days 02:26:40z9 days 06:13:20r  r:   1 dr   r   rS   r<   )r   r
   r>   r?   r@   rA   rX   rC   rD   rE   r*   r  rF   r   )	r1   r  r   rI   rJ   r4   rE  rl   r  s	            r6    test_format_timedelta_ticks_widez+TestTSPlot.test_format_timedelta_ticks_wide.  s    

 c2E:ryy,,Q/??S1NPST

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

##%/56!66=!S%9999/// 7s   <C6c                     t        t        d      t        dd            }t        j                  j                         \  }}t        |j                  |       y )Nr   1dayr   rr   )r   rB   r   rC   rD   rE   r)   r*   )r1   r~   rJ   r4   s       r6   test_timedelta_plotzTestTSPlot.test_timedelta_plotF  s=    58_VQ?@

##%2!&&R(r8   c                    t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}t        |j                  |       y )N1 day 2 hr 30 min 10 sr:   r  r   r   rr   r   r   r>   r?   r@   rA   rX   rC   rD   rE   r)   r*   r1   r%   r~   rJ   r4   s        r6   test_timedelta_long_periodz%TestTSPlot.test_timedelta_long_periodL  s_     8"5Q299((+;;CJGO

##%2!&&R(r8   c                    t        ddd      }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}t        |j                  |       y )Nr  r:   z1 nsr   r   rr   r  r  s        r6   test_timedelta_short_periodz&TestTSPlot.test_timedelta_short_periodS  s_     8"6R299((+;;CJGO

##%2!&&R(r8   c                     t        ddd      }|}t        j                  ddd      }t        j                  ddd      d d d   }t        j                  j                         \  }}|j                  ||g||g	       y )
Nr   r:   r    r   r   r(   g?r'   )weights)r   r>   r   rC   rD   rE   hist)r1   r   rl   w1w2rJ   r4   s          r6   	test_histzTestTSPlot.test_histZ  sp    Rc:YYq!S!YYq!S!$B$'

##%2
AR)r8   c           
      ~   t        g dt        ddd      t        ddd      t        ddd      g      }t        g dt        ddd      t        d	dd      t        d
dd      g      }t        j                  j	                         \  }}|j                  |       |j                  |       |j                  |       y )Nrb   rm  rf  r  r   i  r$   i  i  r~  rr   )r   r   rC   rD   rE   r*   )r1   r  r  rJ   r4   s        r6   test_overlapping_datetimez$TestTSPlot.test_overlapping_datetimec  s    r2&r2&r2&
 r2&r2&r2&
 

##%2
2
2
2r8   z1GH9053 matplotlib does not use ax.xaxis.converterc                    t        t        j                  j                  d      j	                  d      t        dd            }|j                         }t        j                  t              5  |j                  |j                  |j                  d       d d d        |j                  \  }}t        j                  |j                         |j                                y # 1 sw Y   KxY w)Nr   r:   z
1970-01-02r   r$   r  )r   )r   r>   r?   r@   rA   r   r*   r$  r%  DeprecationWarningr%   rW   r  r  r  )r1   r~   r4   l1l2s        r6   test_add_matplotlib_datetime64z)TestTSPlot.test_add_matplotlib_datetime64}  s    
 II!!!$44R8\26
 VVX''(:; 	2GGAGGQXXSG1	2 B
##BMMOR]]_E		2 	2s   .)C!!C*c                    t        t        j                  j                  d      j                  d      ddg      }t	        ddd	      |d
<   t
        j                  j                         \  }}|j                  d
d|       t
        j                  j                          |j                         d   }d}|j                         |k(  sJ y )Nr   )r:   r   rl   rm   r  z
2018-01-01r:   r   r   r   )rl   rm   r"  r   )r
   r>   r?   r@   r   rC   rD   rE   scatterr  rF   r   )r1   rI   rJ   r4   rK   rE  s         r6   "test_matplotlib_scatter_datetime64z-TestTSPlot.test_matplotlib_scatter_datetime64  s    ryy,,Q/66w?#sTbsC6


##%2


Vs
,

""$Q'~~8+++r8   c                 ~    t        g d      }t        |g dd      }|j                  dd      }t        |d       y )N)
2020-05-01
2020-05-02z
2020-05-03rb   rl   rm   rl   rm   r   xrotr   r
   r*   r   r1   rl   rI   r  s       r6   test_check_xticks_rotz TestTSPlot.test_check_xticks_rot  s:     BCQY/0www$4a(r8   c                 ~    t        g d      }t        |g dd      }|j                  dd      }t        |d       y )Nr  r  z
2020-05-04rb   r  rl   rm   r2  r  r  r  s       r6   test_check_xticks_rot_irregularz*TestTSPlot.test_check_xticks_rot_irregular  s8    BCQY/0www$4b)r8   c                     t        g d      }t        |g dd      }|j                  d      j                  dd      }t	        |d	       |j                  d      j                  dd
      }t	        |d	       y )Nr  rb   r  rl   rm   T)rm   	use_indexr2  r  Fr   )r   r
   	set_indexr*   r   r  s       r6   test_check_xticks_rot_use_idxz(TestTSPlot.test_check_xticks_rot_use_idx  sl    BCQY/0||C %%t%<4b)||C %%u%=4a(r8   c                     t        g d      }t        |g dd      }|j                  dddd      }t        |d	       |j                  dddd
      }t        |d	       y )Nr  rb   r  rl   rm   T)rl   rm   rE   r  r2  r  Fr   r  r  s       r6   test_check_xticks_rot_sharexz'TestTSPlot.test_check_xticks_rot_sharex  s\    BCQY/0wwd4w@4b)wwd5wA4a(r8   N)__name__
__module____qualname__ry   markfilterwarningsr7   rL   r\   r`   rh   ru   r}   parametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   xfailr  r  r  r  r*  r-  r/  r6  r9  r   r>   r   r   r   r
   rF  rM  r]  rd  rg  rj  rs  slowry  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   r+  r-  r2  r4  r6  r8  rI  rK  rP  rS  rb  rf  ri  rk  rm  ru  rw  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r8   r6   r   r   /   s   [[ 56
< 7
<-$"#* [[V%OP+ Q+ [[L++60  [[VdD\2+ 3+QH$ [[V%OP4 Q4
 [[E:: [[L>>
 [[V%RS2 T2 [[E)) [[ VW[[L	) X	) [[L$$'$$
$
 [[45  6 (G
78
4"+G [[B [[		"BJJ/ r: !		"BJJ7(rB  !		"BJJ7(rB 	
	
,-22E0,, [[
 

*&**""#.+	,+,CCCC)6H),H 	BH*	D [[ VW XRR [[78
R 9
R	4'	H?, [[^.>@P-QR5P S5Pn [[^.>@P-QR3Q S3QjCC#* 8+ Z! F=4"2* ( [[451 61FC0T&* * +T(000)))*4 [[QRF SF	,)*))r8   r   c                    dd l m} |j                         }	 |j                          |j	                  d      }|j                  d|j                               }t        |dd       }	 | |i |}
|
J |j                  d|j                               }|E|j                  j                  }t        |t              r|j                  }|	|j                  |k(  sJ |t        |j                  d      }|	|	|k(  sJ |j	                  d      }||d<    | |i |}
|
J t        j                  d      5 }t!        j"                  ||       d d d        |j%                  |       y # 1 sw Y   xY w# |j%                  |       w xY w)	Nr   rU  r4   r"   T)	is_period   )return_filelike)matplotlib.pyplotrD   gcfclfr\  popgcagetattrr%   r"   r  r   r   r   r$  ensure_cleanpickledumprs   )fr"   seriesargskwargspltrt   r4   orig_axorig_axfreqr  dfreqax_freqpaths                 r6   r)   r)     sj   #
'')C	__S!**T3779-gvt4  ZZcggi(LL%%E%,"ww%'''48G 3d?"?__S!t   __T2 	#dKKT"	# 			#	# 	# 			#s$   DE2 5E&E2 &E/+E2 2F)NN)+__doc__r   r   r   r   r  numpyr>   ry   pandas._libs.tslibsr   r   pandas._libs.tslibs.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  rC   r   r)   r  r8   r6   <module>r	     s~    B     >    
 
 ; ; .f,'J) J)Z4$r8   