
    Pi                     L   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j'        d          Z( ej'        d          Z)ddl*m+c m,c m-Z.  G d d          Z/ddZ0dS )z:Test cases for time series specific (freq conversion, etc)    )datedatetimetime	timedeltaN)
BaseOffset	to_offset)PeriodDtype)	DataFrameIndexNaTSeriesconcatisnato_datetime)DatetimeIndexbdate_range
date_range)PeriodPeriodIndexperiod_range)timedelta_range)_check_ticks_props)WeekOfMonth
matplotlibzmatplotlib.pyplotc                   
   e Zd Zej                            d          d             Zd Zd Zd Z	d Z
d Zd Zej                            d	g d
          d             Zej                            d	g d          d             Zd Zej                            dd edd          g          d             Zej                            d	ddg          d             Zd Zej                            dddgddgg          d             Zej                            d	g d
          d             Zej                            d g d!          d"             Zej                            d	g d          d#             Zej                            d	g d$          d%             Zej                            d g d!          d&             Zej                            d'          ej                            d	g d          d(                         Zej                            d	g d          d)             Zd* Zd+ Zd, Zd- Z d. Z!d/ Z"d0 Z#d1 Z$d2 Z%d3 Z&d4 Z'd5 Z(ej                            d6          ej                            d7 e) e*j+        de*j,        8           edd          9           e- e) e*j+        de*j,        8           edd          9           e) e*j+        de*j,        8           edd          9          d:z   d;          g          d<                         Z.d= Z/d> Z0d? Z1d@ Z2dA Z3dB Z4ej        j5        dC             Z6dD Z7dE Z8dF Z9dG Z:dH Z;dI Z<dJ Z=dK Z>dL Z?dM Z@dN ZAdO ZBdP ZCdQ ZDdR ZEdS ZFdT ZGdU ZHdV ZIdW ZJdX ZKdY ZLdZ ZMej                            d'          d[             ZNd\ ZOd] ZPej        Q                    d^_          d`             ZRda ZSdb ZTdc ZUdd ZVej                            dedfdgg          dh             ZWej                            dedfdgg          di             ZXdj ZYdk ZZdl Z[dm Z\dn Z]do Z^dp Z_dq Z`dr Zads Zbdt Zcdu Zddv Zedw Zfdx Zgej        Q                    dy_          dz             Zhd{ Zid| Zjd} Zkd~ Zld Zmd Znd Zod Zpd Zqd Zrd Zsd Ztd Zud Zvd Zwej        Q                    d_          d             Zxd Zyd Zzd Z{d Z|d Z}ej                            d edd           eddd           e~ddd           eddd           ed dD             e8           ed          g          d             ZdS )
TestTSPlotzignore::UserWarningc                    |}t          ddd|          }t          ddg|          }t          |j                   |                                }t	          t          |                                                                                    }|d         j        |d         j	        fd	k    sJ |d
         j        |d
         j	        fdk    sJ d S )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          {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/plotting/test_datetimelike.pytest_ts_plot_with_tzzTestTSPlot.test_ts_plot_with_tz5   s     :qsrBBBUFO5111"'"""WWYYT",,..))**4466auQx/69999b	b	 01V;;;;;;    c                    t          t          j                            d                              d          t          d                    }t          j                                        \  }}|	                    d|           |
                                |                                z   D ]}|                                dk    sJ d S )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_correctlyB   s    I!!!$$44W==U2YY
 
 
 
##%%2
r"""''))B,>,>,@,@@ 	- 	-E%%''1,,,,,	- 	-r8   c                 0   t          ddd          }t          |j        d           }t          t          j                            d                              t          |          df          |          }t          |j
                   |d	d
                             |dd                    }t          t          j                            d                              t          |          df          |          }t          |j
                   d S )N1/1/1987MSr:   r"   r!   r"   r      r$   r         )r   r   valuesr
   r>   r?   r@   rA   lenr)   r*   union)r1   idxrI   df2s       r6   test_frame_inferredzTestTSPlot.test_frame_inferredL   s    $;;;CJT222I!!!$$44c#hh]CC3
 
 
 	"'""" !A#hnnSW%%I!!!$$44c#hh]CC3
 
 
 	#(#####r8   c                    t          ddd          }t          |j        d           }t          t          j                            d                              t          |          df          |          }t          |j
                   d S )	Nz2008-1-1 00:15:0015minr:   rP   rQ   r   rR   r$   )r   r   rU   r
   r>   r?   r@   rA   rV   r)   r*   r1   rX   rI   s      r6   test_frame_inferred_n_gt_1z%TestTSPlot.test_frame_inferred_n_gt_1]   s    ,7BGGGCJT222I!!!$$44c#hh]CC3
 
 
 	"'"""""r8   c                     t          j        g d          }t          ||          }t          |j        |           t          |j        |           d S )Nr(   r   rR   r$   )xerr)yerr)r>   arrayr
   r)   r*   )r1   ias      r6   test_is_error_nozeroindexz$TestTSPlot.test_is_error_nozeroindexf   sW    HYYYaq!!!!&q))))!&q))))))r8   c                    t          ddd          }t          g dg dd|          }t          j                                        \  }}|                    |           t          |                                          d	k    sJ d S )
NrN   YErR   rP   xyzr`   ABr4   r(   )r   r
   rC   rD   rE   r*   rV   r-   )r1   rX   rI   figr4   s        r6   test_nonnumeric_excludez"TestTSPlot.test_nonnumeric_excludem   s    $:::___999==sCC*%%''R
22<<>>""a''''''r8   c                     t          ddd          }t          g dg dd|          }d}t          j        t          |	          5  |d
                                          d d d            d S # 1 swxY w Y   d S )NrN   rh   rR   rP   ri   r`   rm   zno numeric data to plotmatchrn   )r   r
   pytestraises	TypeErrorr*   )r1   rX   rI   msgs       r6   test_nonnumeric_exclude_errorz(TestTSPlot.test_nonnumeric_exclude_erroru   s    $:::___999==sCC']9C000 	 	sGLLNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A//A36A3r"   )sminr    DWMQYc                 2   t          d|d          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}t          |j        |           d S N
12/31/1999r:   rP   r   rp   )r   r   r>   r?   r@   rA   rV   rC   rD   rE   r)   r*   r1   r"   rX   serrJ   r4   s         r6   test_tsplot_periodzTestTSPlot.test_tsplot_period|   s{    <dB???RY**1--==c#hhGGMM
##%%2#(r******r8   )	r{   r|   r    r}   r~   MEzQE-DECrh   1B30Minc                 2   t          d|d          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}t          |j        |           d S r   )r   r   r>   r?   r@   rA   rV   rC   rD   rE   r)   r*   r   s         r6   test_tsplot_datetimezTestTSPlot.test_tsplot_datetime   s}     D"===RY**1--==c#hhGGMM
##%%2#(r******r8   c                 Z   t          t          j        dt          j                  t	          dd                    }t
          j                                        \  }}|                    d|           d}||	                                d	         
                                k    sJ d S )
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   s    Ib
+++:lTV3W3W3W
 
 
 
##%%2
cb!!!"q)3355555555r8   r%   Nr   r:   r   c                     t          t          j        dt          j                  |          }d}t	          j        t          |          5  |                    dd           d d d            d S # 1 swxY w Y   d S )	Nr:   r   r$   zCannot pass 'style' string with a color symbol and 'color' keyword argument. Please use one or the other or pass 'style' without a color symbolrt   zb-z#000099)r   r   )r   r>   r   r   rv   rw   
ValueErrorr*   )r1   r%   r3   ry   s       r6   test_both_style_and_colorz$TestTSPlot.test_both_style_and_color   s    BIb
3335AAA% 	
 ]:S111 	1 	1GG$iG000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   A22A69A6msusc                 2   t           j                                        \  }}t          dd|          }t	          t
          j                            d                              t          |                    |          }t          |j        |           d S )N1/1/2012r:   r!   r"   r   rp   )rC   rD   rE   r   r   r>   r?   r@   rA   rV   r)   r*   )r1   r"   rJ   r4   rngr   s         r6   test_high_freqzTestTSPlot.test_high_freq   s{    
##%%2Rd;;;RY**1--==c#hhGGMM#(r******r8   c                 >   t          j        d d          J t          j        dd          dk    sJ t          j        t          dd          d          t          dd          j        k    sJ t          j        dd          t          dd          j        k    sJ d S )Nr}     r   r   z1987-12rN   z1987-1-1)conv_get_datevaluer   ordinalr1   s    r6   test_get_datevaluezTestTSPlot.test_get_datevalue   s    "4--555"4--5555tS 1 1377i%%-. . . . ":s33vj#7N7N7VVVVVVVr8   zfreq, expected_stringzYE-DECzt = 2014  y = 1.000000r}   zt = 2014-01-01  y = 1.000000c                    t          dt          dd|                    }t          j                                        \  }}|                    |           |                                d         }|                                d         j        }|	                                d         }||
                    ||          k    sJ d S )Nr(   z
2014-01-01rR   r   r$   rp   r   )r   r   rC   rD   rE   r*   r-   r.   r   	get_ydataformat_coord)	r1   r"   expected_stringr   rJ   r4   
first_linefirst_xfirst_ys	            r6   test_ts_plot_format_coordz$TestTSPlot.test_ts_plot_format_coord   s    
 QjqtLLLMMM
##%%2B\\^^A&
&&((+3&&((+"//'7"C"CCCCCCCr8   c                    t          d|d          }t          t          j                            d                              t          |                    |          }t          |j        |j	        j
                   d S Nr   r:   rP   r   )r   r   r>   r?   r@   rA   rV   r)   r*   r%   r"   r1   r"   rX   r   s       r6   test_line_plot_period_seriesz'TestTSPlot.test_line_plot_period_series   se    <dB???RY**1--==c#hhGGMM#(CIN33333r8   frqncy)1s3s5min7h4D8W11M3Yc                    t          d|d          }t          t          j                            d                              t          |                    |          }t          |j        |j	        j
        j                   d S r   )r   r   r>   r?   r@   rA   rV   r)   r*   r%   r"   	rule_code)r1   r   rX   r{   s       r6    test_line_plot_period_mlt_seriesz+TestTSPlot.test_line_plot_period_mlt_series   sj     <fbAAA29((++;;CHHEEsKK!&!',"899999r8   c                    t          d|d          }t          t          j                            d                              t          |                    |          }t          |j        |j	        j
        j                   d S r   )r   r   r>   r?   r@   rA   rV   r)   r*   r%   r"   r   r   s       r6   test_line_plot_datetime_seriesz)TestTSPlot.test_line_plot_datetime_series   sj     D"===RY**1--==c#hhGGMM#(CIN$<=====r8   )r{   r|   r    r}   r~   r   QErh   c                    t          d|d          }t          t          j                            d                              t          |          df          |g d          }t          |j        |j	        j
                   d S Nr   r:   rP   r   rR   )rn   ro   Cr%   columns)r   r
   r>   r?   r@   rA   rV   r)   r*   r%   r"   r1   r"   rX   rI   s       r6   test_line_plot_period_framez&TestTSPlot.test_line_plot_period_frame   s}    D"===I!!!$$44c#hh]CC#OO
 
 

 	"'28=11111r8   c                    t          d|d          }t          t          j                            d                              t          |          df          |g d          }|j        j        j	        }t          |j        |           d S r   )r   r
   r>   r?   r@   rA   rV   r%   r"   r   r)   r*   )r1   r   rX   rI   r"   s        r6   test_line_plot_period_mlt_framez*TestTSPlot.test_line_plot_period_mlt_frame   s     <fbAAAI!!!$$44c#hh]CC#OO
 
 

 x}&"'4(((((r8   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 t   t          d|d          }t          t          j                            d                              t          |          df          |g d          }t          |j        j	                  j
        }|j                            |          j	        }t          |j        |           d S r   )r   r
   r>   r?   r@   rA   rV   r	   r%   r"   _freqstr	to_periodr)   r*   r   s       r6   test_line_plot_datetime_framez(TestTSPlot.test_line_plot_datetime_frame   s    
 D"===I!!!$$44c#hh]CC#OO
 
 

 28=))2x!!$'',"'4(((((r8   c                    t          d|d          }t          t          j                            d                              t          |                    |          }t          |j        t          t          j	        |j
                                      }t          |j        |j
        j                   |j        g d         }t          |j                   d S )Nr   r:   rP   r   )r   rR      rT   )r   r   r>   r?   r@   rA   rV   rU   r   asarrayr%   r)   r*   inferred_freqilocr   s       r6   test_line_plot_inferred_freqz'TestTSPlot.test_line_plot_inferred_freq   s     D"===RY**1--==c#hhGGMMSZrz#)'<'<!=!=>>#(CI$;<<<h|||$#(#####r8   c                 P   t           j                                        \  }}t          dd          }t	          t          t          |                    |          }t          |d d         |dd          g          }|                    |           t          |d          rJ d S )Nz2001-1-1z	2001-1-10r$   rR   r   rp   r"   )
rC   rD   rE   r   r   rB   rV   r   r*   hasattr)r1   rJ   r4   r   r3   s        r6   test_fake_inferred_businessz&TestTSPlot.test_fake_inferred_business
  s    
##%%2[11E#c((OO3///RVRV$%%
22v&&&&&&&r8   c                     t          t          j        dt          j                  t	          dd                    }t          |j                   d S )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  sR    Ib
+++:lTV3W3W3W
 
 
 	#(#####r8   c                     t          ddd          }t          t          j                            d                              t          |                    |          }t          |j                   d S )Nz
2023-01-01BQSr:   rP   r   r$   )	r   r   r>   r?   r@   rA   rV   r)   r*   r1   drr   s      r6   test_plot_offset_freq_businessz)TestTSPlot.test_plot_offset_freq_business  sb    5"===RY**1--==c"ggFFbQQQ#(#####r8   c           	      H   t          t          ddd          t          ddd          t          ddd          g          }t          t          j                            d                              t          |                    |          }t          |j	                   d S )N  r(   rT      r   r$   )
r   r   r   r>   r?   r@   rA   rV   r)   r*   r   s      r6    test_plot_multiple_inferred_freqz+TestTSPlot.test_plot_multiple_inferred_freq  s    HT1a(((4A*>*>qRT@U@UVWWRY**1--==c"ggFFbQQQ#(#####r8   c                 ~   t          ddd          }t          t          j                            d                              t          |          df          |          }|j        g d         }t          j	        
                                \  }}|                    |           t          |                                d	                                         d d d	f                                                   }d
}t          j        |dd          ||dz  |gz
            dk                                     sJ d S )N2012-6-22 21:59:51r{   r:   rP   r   r$   )r   r(   rR   rS   rp   r   )QΠE>r(   :0yE>)r   r
   r>   r?   r@   rA   rV   r   rC   rD   rE   r*   r   r-   
get_xydatadifffabsall)r1   rX   rI   irregrJ   r4   diffssecs           r6   test_irreg_hfzTestTSPlot.test_irreg_hf"  s   -CDDDI!!!$$44c#hh]CC3
 
 
 %
##%%2

b
r||~~a(3355aaad;<<AACC abb	S#'3$77884?DDFFFFFFFr8   c                    t          ddd          }t          t          j                            d                              t          |          df          |          }t          j        	                                \  }}|j
                            t                    |_
        |                    |           t          |                                d                                         d d df                                                   }d	}t          j        |d
d          |z
            dk                                     sJ d S )Nr   r{   r:   rP   r   r$   rp   r   r   r(   r   )r   r
   r>   r?   r@   rA   rV   rC   rD   rE   r%   astypeobjectr*   r   r-   r   r   r   r   )r1   rX   rY   rJ   r4   r   r   s          r6   test_irreg_hf_objectzTestTSPlot.test_irreg_hf_object0  s   -CDDDI!!!$$44c#hh]CC3
 
 
 
##%%2I$$V,,	Br||~~a(3355aaad;<<AACC abb	C((4/446666666r8   c                    t          t          j        dt          j                  t	          dd                    }|j        g d         }t          j                                        \  }}|	                    |          }|J t          |                                d                                         |j        d	
          D ]\  }}||k    sJ d S )Nr:   r   r   r   r$   )r   r(   r      rp   r   Tstrict)r   r>   r   r   r   r   rC   rD   rE   r*   zipr-   r.   r%   )r1   r   rJ   r4   retrsxps          r6   "test_irregular_datetime64_repr_bugz-TestTSPlot.test_irregular_datetime64_repr_bug<  s    Ib
+++:lTV3W3W3W
 
 
 h|||$
##%%2hh"hoo",,..+55774PPP 	 	FB88888	 	r8   c                 D   t          t          d          t          dd                    }d}|j        d                                         }t          j        t          |          5  t          |t          |          d          |_        d d d            n# 1 swxY w Y   t          j
                                        \  }}|                    |	           |                                d                                         d
         |j        d         j        k    sJ |                                d                                         }t          j        t          |          5  t#          |          j        dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   r   r   PeriodDtype\[B\] is deprecatedr   rt   ro   startr!   r"   rp   r&   data)r   rB   r   r%   to_timestamptmassert_produces_warningFutureWarningrV   rC   rD   rE   r*   r-   r   r   r.   r   freqstr)r1   btsry   dtrJ   r4   rX   s          r6   test_business_freqzTestTSPlot.test_business_freqJ  s   U1XX|L!DDDEE/Yq\&&(('SAAA 	K 	K$2s3xxcJJJCI	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K
##%%2B||~~a ++--d3sy|7KKKKKllnnQ))++'SAAA 	8 	8C(((0C77777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s$   )%BB!B+FFFc                 `   t          t          j        dt          j                  t	          ddd                                        d          }|                    d          }t          j        	                                \  }}|
                    |	           |                                d
                                         d         |j        d
         j        k    sJ |                                d
                                         }t!          |          j        dk    sJ d S )N2   r   r   ro   r   r$   BMEr   rp   r   r&   r  )r   r>   r   r   r   asfreqr   rC   rD   rE   r*   r-   r   r%   r   r.   r   r
  )r1   r  r3   rJ   r4   rX   s         r6   test_business_freq_convertz%TestTSPlot.test_business_freq_convertW  s   Ib
+++\2C@@@
 
 
 &-- 	 ]]3
##%%2B||~~a ++--d3rx{7JJJJJllnnQ))++$$$,333333r8   c                    t                      }t          t          j        dt          j                  t          dd                                        |          }t          j        	                                \  }}|
                    |           |                                d                                         }d}t          j        t          |	          5  t!          |
           d d d            d S # 1 swxY w Y   d S )Nr:   r   r   r   r$   rp   r   z)freq not specified and cannot be inferredrt   r  )r   r   r>   r   r   r   r  rC   rD   rE   r*   r-   r.   rv   rw   r   r   )r1   r"   r  rJ   r4   rX   ry   s          r6   test_freq_with_no_period_aliasz)TestTSPlot.test_freq_with_no_period_aliasc  s(   }}Ib
+++:lTV3W3W3W
 
 

&,, 	 
##%%2BllnnQ))++9]:S111 	" 	"S!!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s    C>>DDc                    t          ddd          t          d          z   }t          t          j        d          |          }t
          j                                        \  }}|                    |           |	                                d	         
                                }t          |          j        rJ d S )
Nz
2012-12-20   r    r      minutesr$   rp   r   )r   r   r
   r>   r   rC   rD   rE   r*   r-   r.   r   is_normalized)r1   rX   rI   rJ   r4   r   s         r6   test_nonzero_basezTestTSPlot.test_nonzero_baseq  s    r<<<yQS?T?T?TTry}}C000
##%%2
2\\^^A((**99******r8   c           
         t          dt          t          j        dt          j                  t          dd                    i          }t          j                                        \  }}|	                    |           |
                                d                                         }t          j        |j                                        t!          |                     d S )	Nre   r:   r   r   r   r$   rp   r   )r
   r   r>   r   r   r   rC   rD   rE   r*   r-   r.   r  assert_index_equalr%   r   r   )r1   r  rJ   r4   rX   s        r6   test_dataframezTestTSPlot.test_dataframez  s    VIb
333$\2>>>  
 
 
##%%2BllnnQ))++
ci1133[5E5EFFFFFr8   z8ignore:Period with BDay freq is deprecated:FutureWarningobjr   r$   r(   re   bc                 ,   t           j                                        \  }}|                    |           |                                }|                    |d         dz
  |d         dz              |                                }|d         |d         dz
  k    sJ |d         |d         dz   k    sJ t          d|j                  t          d|j                  f}|                    dd           |                                }t          |d                   |d         j	        k    sJ t          |d                   |d         j	        k    sJ t          d|j                  t          d|j                  f}|                    t          ddd          t          dd	d                     |                                }t          |d                   |d         j	        k    sJ t          |d                   |d         j	        k    sJ d S )
Nrp   r   r   r(   r:   1/1/2000z4/1/2000r   rS   )rC   rD   rE   r*   get_xlimset_xlimr   r"   intr   r   )r1   r  rJ   r4   xlimresultexpecteds          r6   test_axis_limitszTestTSPlot.test_axis_limits  s   4 
##%%2B{{}}
DGaKa2...ayDGaK''''ayDGbL(((( :rw//
BG1L1LM
J
+++6!9~~!!444446!9~~!!44444 :rw//
BG1L1LM
HT1a(((4A*>*>???6!9~~!!444446!9~~!!4444444r8   c                 R   t          j        t          d                    t           j        k    sJ t          j        t          d                    t           j        k    sJ t          j        t          d                    t           j        k    sJ t          j        t          d                    t           j        k    sJ t          j        t          d                    t           j        k    sJ t          j        t          d                    t           j        k    sJ d S )Nro   r}   r   r   rh   r~   )r   
get_finderr   _daily_finder_monthly_finder_quarterly_finder_annual_finderr   s    r6   test_get_finderzTestTSPlot.test_get_finder  s    y~~..$2DDDDDy~~..$2DDDDDy//43GGGGGy//43IIIIIy//43FFFFFy~~..$2DDDDDDDr8   c                    g d}d}t          j        t          |          5  t          dd          j        gt          |          z  x}}d d d            n# 1 swxY w Y   g }g }|D ]g}t          d|          }t          t          j	        
                    d                              t          |                    |          }	t          j                                        \  }
}|	                    |	           |                                }|                    |                                d
                    |                                \  }}|                    |dz   |           |                    |                                d
                    t          j                            |                                           i||k    sJ ||k    sJ d S )N)r:   (      i  i  i
  i'  z#Period with BDay freq is deprecatedrt   z1999-1-1ro   rQ   r   r   rp   r   ?)r  r  r	  r   r   rV   r   r   r>   r?   r@   rA   rC   rD   rE   r*   	get_xaxisappendget_majorticklocsr$  r%  close
get_figure)r1   day_lstry   xpl1xpl2rs1rs2nr   r   rJ   r4   xaxisvminvmaxs                  r6   test_finder_dailyzTestTSPlot.test_finder_daily  s   6663'SAAA 	P 	P!*3777?@3w<<OOD4	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	. 	.Aj!444C..q11AA#c((KKSQQCJ''))EArHHHOOOLLNNEJJu..003444JD$KKs
D)))JJu..003444JR]]__----d{{{{d{{{{{{s   *AAAc                 |   ddg}t          d          j        gt          |          z  x}}g }g }|D ]x}t          dt	          |dz            d          }t          t          j                            d          	                    t          |                    |          }t          j                                        \  }	}
|                    |
	           |
                                }|                    |                                d
                    |
                                \  }}|
                    |dz   |           |                    |                                d
                    t          j                            |
                                           z||k    sJ ||k    sJ d S )Ng      @r   1988Q11987Q2rS   r   r   r   rp   r   r5  r   r   rV   r   r&  r   r>   r?   r@   rA   rC   rD   rE   r*   r6  r7  r8  r$  r%  r9  r:  r1   yrsr<  r=  r>  r?  r@  r   r   rJ   r4   rA  rB  rC  s                 r6   test_finder_quarterlyz TestTSPlot.test_finder_quarterly  s{   Bih''/03s88;;t 	. 	.AxQU#FFFC..q11AA#c((KKSQQCJ''))EArHHHOOOLLNNEJJu..003444;;==LT4KKs
D)))JJu..003444JR]]__----d{{{{d{{{{{{r8   c                 |   g d}t          d          j        gt          |          z  x}}g }g }|D ]x}t          dt	          |dz            d          }t          t          j                            d          	                    t          |                    |          }t          j                                        \  }	}
|                    |
           |
                                }|                    |                                d	                    |
                                \  }}|
                    |d
z   |           |                    |                                d	                    t          j                            |
                                           z||k    sJ ||k    sJ d S )N)gffffff?g      @rS   r   zJan 1988rG     r   r   r   rp   r   r5  rH  rI  s                 r6   test_finder_monthlyzTestTSPlot.test_finder_monthly  s}      j))12SXX==t 	. 	.AxQV3GGGC..q11AA#c((KKSQQCJ''))EArHHHOOOLLNNEJJu..003444JD$KKs
D)))JJu..003444JR]]__----d{{{{d{{{{{{r8   c                    t          ddd          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |                                }|                                d         }t          dd          j        }||k    sJ d S )	NrF  i   r   r   r   rp   r   1989Q1)r   r   r>   r?   r@   rA   rV   rC   rD   rE   r*   r6  r8  r   r   )r1   r   r   rJ   r4   rA  r   r   s           r6   test_finder_monthly_longz#TestTSPlot.test_finder_monthly_long  s    8W3???RY**1--==c#hhGGMM
##%%2B$$&&q)Hc""*Rxxxxxxr8   c                 X   g d}d |D             }g }dD ]}t          d|d          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |                                }|                    |                                d	                    t          j                            |                                           ||k    sJ d S )
N)r   i    rS    i  i  iz  c                 :    g | ]}t          |d           j        S )r   rQ   )r   r   .0rj   s     r6   
<listcomp>z1TestTSPlot.test_finder_annual.<locals>.<listcomp>  s(    666afQS!!!)666r8   )r   r:      1   c      iW  i  1987r   r   r   rp   r   )r   r   r>   r?   r@   rA   rV   rC   rD   rE   r*   r6  r7  r8  r9  r:  )	r1   r   r   nyearsr   r   rJ   r4   rA  s	            r6   test_finder_annualzTestTSPlot.test_finder_annual  s   ===6626669 	. 	.FvvC@@@C..q11AA#c((KKSQQCJ''))EArHHHOOOLLNNEIIe--//2333JR]]__----Rxxxxxxr8   c                    d}t          dd|          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |                                }|                                d         }t          dd          j        }||k    sJ d S )	Ni  1/1/1999MinrP   r   rp   r   rQ   r   r   r>   r?   r@   rA   rV   rC   rD   rE   r*   r6  r8  r   r   )	r1   nminutesr   r   rJ   r4   rA  r   r   s	            r6   test_finder_minutelyzTestTSPlot.test_finder_minutely  s    %BBBRY**1--==c#hhGGMM
##%%2B$$&&q)JU+++3Rxxxxxxr8   c                    d}t          dd|          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |                                }|                                d         }t          dd          j        }||k    sJ d S )	N   ra  r    rP   r   rp   r   rQ   rc  )	r1   nhoursr   r   rJ   r4   rA  r   r   s	            r6   test_finder_hourlyzTestTSPlot.test_finder_hourly*  s    #v>>>RY**1--==c#hhGGMM
##%%2B$$&&q)JS)))1Rxxxxxxr8   c                    t          t          j        dt          j                  t	          dd                    }t          j        |j        dd<   t          j        	                                \  }}|
                    |           |                                }t          |          d	k    sJ |d
         }|                                }t          j                            |t!          |          t          j                  }t#          |t          j        j        j                  sJ |j        }|ddd	f                                         sJ d S )Nr:   r   r   r   r$   r   r   rp   r(   r   mask
fill_value)r   r>   r   r   r   nanr   rC   rD   rE   r*   r-   rV   r   maMaskedArrayr   
isinstancecorerl  r   r1   r3   rJ   r4   linesliner  rl  s           r6   	test_gapszTestTSPlot.test_gaps6  s   Ib
+++:lTV3W3W3W
 
 
 v!
##%%2
25zzQQx  u  DJJ26 JJ$
 677777yAaCF|!!!!!!!r8   c                    t          t          j        dt          j                  t	          dd                    }|j        g d         }t          j        |j        dd<   t          j        	                                \  }}|
                    |	          }|                                }t          |          d
k    sJ |d         }|                                }t          j                            |t!          |          t          j                  }t#          |t          j        j        j                  sJ |j        }|ddd
f                                         sJ d S )Nr  r   r   r   r$   	r   r(   r   r   r   r;   rM        r   r   rp   r(   r   rk  )r   r>   r   r   r   r   rn  rC   rD   rE   r*   r-   rV   r   ro  rp  r   rq  rr  rl  r   rs  s           r6   test_gaps_irregularzTestTSPlot.test_gaps_irregularH  s2   Ib
+++:lTV3W3W3W
 
 
 W3334v!
##%%2WWW^^5zzQQx  u  DJJ26 JJ$
 677777yAaCF|!!!!!!!r8   c                    g d}t          t          j                            d                              t          |                    |          }t          j        |j        dd<   t          j	        
                                \  }}|                    |           |                                }t          |          dk    sJ |d         }|                                }t          j                            |t!          |          t          j                  }t#          |t          j        j        j                  sJ |j        }|dddf                                         sJ d S )Nrx  r   r   rp   r(   r   rk  )r   r>   r?   r@   rA   rV   rn  r   rC   rD   rE   r*   r-   r   ro  rp  r   rq  rr  rl  r   )	r1   rX   r   rJ   r4   rt  ru  r  rl  s	            r6   test_gaps_non_tszTestTSPlot.test_gaps_non_ts\  s#   ,,,RY**1--==c#hhGGMM1
##%%2B5zzQQx  u  DJJ26 JJ$
 677777yAaCF|!!!!!!!r8   c                     t          t          j        dt          j                  t	          dd                    }t          j        |j        dd<   t          j        	                                \  }}|
                    |           t	          |j        d	         |j        d
         d          }t          t          j                            d                              t          |                    |          }|
                    d           |                                }t          |          dk    sJ t          |j                                                  dk    sJ |d	         }|                                }t          j                            |t+          |          t          j                  }t-          |t          j        j        j                  sJ |j        }	|	dddf                                         sJ d S )Nr:   r   r   r   r$   r   r   rp   r   r'   12hrQ   r   Tsecondary_yr(   rk  )r   r>   r   r   r   rn  r   rC   rD   rE   r*   r%   r?   r@   rA   rV   r-   right_axr   ro  rp  r   rq  rr  rl  r   )
r1   lowrJ   r4   idxhr{   rt  ru  r  rl  s
             r6   test_gap_upsamplezTestTSPlot.test_gap_upsamplem  s   Ib
+++:lTV3W3W3W
 
 
 1
##%%2B#)A,	"EBBB29((++;;CIIFFMM	4   5zzQ2;((**++q0000Qx  u  DJJ26 JJ$
 677777yAaCF|!!!!!!!r8   c                    t          t          j                            d                              d                    }t
          j                                        \  }}|                    d          }t          |d          sJ t          |d          rJ |
                                }|                                d         }t          |                                |                                          }t          j        ||           |                                                                dk    sJ |d                                                                         rJ d S )	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_visible)r1   r   rq   rJ   r4   axesru  r   s           r6   test_secondary_yzTestTSPlot.test_secondary_y  s+   RY**1--==bAABB$$&&QXX$X''r9%%%%%2z*****||~~||~~a DNN$$dnn&6&677
sB'''||~~0022g====7$$&&224444444r8   c                    t          t          j                            d                              d                     t          t          j                            d                              d                    }t
          j                                        \  }}|                    |           |	                                
                                dk    sJ d S )Nr   r:   rp   left)r   r>   r?   r@   rA   rC   rD   rE   r*   r  r  )r1   ser2rJ   ax2s       r6   test_secondary_y_yaxisz!TestTSPlot.test_secondary_y_yaxis  s    ry$$Q''77;;<<<bi++A..>>rBBCC$$&&3		S	}}1133v======r8   c                 6   t          t          j                            d                              d                    }t          t          j                            d                              d                    }|                                }|                    d          }|                                                                sJ t          |d          rJ t          |d          sJ t          |d          sJ t          |d          rJ d S )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    RY**1--==bAABBbi++A..>>rBBCCYY[[hh4h((||~~))+++++2y)))))r:&&&&&sI&&&&&3
+++++++r8   c                 d   t          ddd          }t          t          j                            d                              d          |          }t          j                                        \  }}|	                    d          }t          |d          sJ t          |d	          rJ |                                }|                                d
         }t          |                                |                                                                          }|j                            d          |_        t%          j        ||           |                                                                dk    sJ |d
                                                                         rJ d S )Nr#  r:   ns)r!   unitr   Tr  r  r  r   r  )r   r   r>   r?   r@   rA   rC   rD   rE   r*   r   r  r-   r   r.   r  r%   as_unitr  r  r  r  r  )	r1   rX   r   rq   rJ   r4   r  ru  r   s	            r6   test_secondary_y_tszTestTSPlot.test_secondary_y_ts  sd   Rd;;;RY**1--==bAA3GG$$&&QXX$X''r9%%%%%2z*****||~~||~~a DNN$$dnn&6&677DDFF8##D))
sB'''||~~0022g====7$$&&224444444r8   c                 n   t          dd          }t          t          j                            d                              d          |          }t          j                                        \  }}|	                    |           |
                                                                dk    sJ d S )Nr#  r:   r   r   rp   r  )r   r   r>   r?   r@   rA   rC   rD   rE   r*   r  r  )r1   rX   r  rJ   r  s        r6   test_secondary_y_ts_yaxisz$TestTSPlot.test_secondary_y_ts_yaxis  s    R000bi++A..>>rBBCHH$$&&3		S	}}1133v======r8   c                     t          dd          }t          t          j                            d                              d          |          }|                                }|                                                                sJ d S )Nr#  r:   r   r   )	r   r   r>   r?   r@   rA   r*   r  r  )r1   rX   r  r4   s       r6   test_secondary_y_ts_visiblez&TestTSPlot.test_secondary_y_ts_visible  st    R000bi++A..>>rBBCHHYY[[||~~))+++++++r8   c                    t          j        d           t          t          j                            d                              d                    }t          j        	                                \  }}|
                    dd|          }t          |d          sJ t          |d          rJ |                                }|d	                                                                         d
k    sJ d S )Nscipyr   r:   Tdensityr  kindr4   r  r  r(   r  )rv   importorskipr   r>   r?   r@   rA   rC   rD   rE   r*   r   r  r  r  r1   r   rq   r4   r  s        r6   test_secondary_kdezTestTSPlot.test_secondary_kde  s    G$$$RY**1--==bAABB*%%''RXX$Y2X>>r9%%%%%2z*****||~~Aw  ""55777BBBBBBr8   c                    t          t          j                            d                              d                    }t
          j                                        \  }}|                    dd|           |	                                }|d         
                                                                dk    sJ d S )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    RY**1--==bAABB*%%''RT"555||~~Aw  ""55777BBBBBBr8   c                    t          t          j                            d                              d          g d          }|                    ddgd          }|d	                                                                         d
k    sJ |d                                                                         dk    sJ |d                                                                         d
k    sJ d S )Nr   r   rR   re   r!  cr   re   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    I!!!$$44V<<ooo
 
 
 wwC:w==Aw  ""55777BBBBAw  ""55776AAAAAw  ""55777BBBBBBr8   c                    t          t          j                            d                              d          g d          }|                    dddgd	          }|d
                                                                         dk    sJ |d                                                                         dk    sJ |d                                                                         dk    sJ d S )Nr   r  r  r  r  re   r  T)r  r  rE   r   r  r(   r  r  r  s      r6   test_secondary_bar_framez#TestTSPlot.test_secondary_bar_frame  s    I!!!$$44V<<ooo
 
 
 wwESzDwIIAw  ""55777BBBBAw  ""55776AAAAAw  ""55777BBBBBBr8   c                    t          t          j        dt          j                  t	          ddd                    }|j        g d         }t          j                                        \  }}|	                    |           |	                    d	|
          }|
                                }d}t          j        t          |          5  t          |d                                                   }t          |d                                                   }	t          j        ||j                            d                     t          j        |	|j                            d                     |                                \  }
}|j                                        }d d d            n# 1 swxY w Y   |
|d         j        k    sJ ||d         j        k    sJ d S Nrz  r   r   ro   r   r$   r   r   r:   r   rM        ry  rp   gr   r  rt   r   r(   r'   )r   r>   r   r   r   r   rC   rD   rE   r*   r-   r  r  r	  r   r.   r  r%   r   r$  r   r1   s1s2rJ   r4   r  rt  ry   idx1idx2r  r  pidxs                r6   test_mixed_freq_regular_firstz(TestTSPlot.test_mixed_freq_regular_first  s   Ib
+++\2C@@@
 
 
 W3334 
##%%2
2ggCBg''/'SAAA 	( 	(uQx113344DuQx113344D!$(:(:3(?(?@@@!$(:(:3(?(?@@@,,..KD%8%%''D	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( tAw&&&&R(((((((s   CF33F7:F7c                    t          t          j        dt          j                  t	          dd                    }|j        g d         }t          j                                        \  }}|	                    d|           |	                    |	           t          |d
          rJ |                                }|d                                         }t          j        ||j                            t"                    j                   |d                                         }t          j        ||j                            t"                    j                   d S Nrz  r   r   r   r$   r  r  r   rp   r"   r   r(   )r   r>   r   r   r   r   rC   rD   rE   r*   r   r-   r.   r  assert_numpy_array_equalr%   r   r   rU   r1   r  r  rJ   r4   rt  x1x2s           r6   test_mixed_freq_irregular_firstz*TestTSPlot.test_mixed_freq_irregular_first  s(   Ib
+++:lTV3W3W3W
 
 
 W3334
##%%2
cb!!!
22v&&&&&1X!!
#B(?(?(FGGG1X!!
#B(?(?(FGGGGGr8   c                     t          t          j        dt          j                  t	          ddd                                                    }|j        g dd d f         }t          j        	                                \  }}|
                    |           |
                    d	|
          }|                                }d}t          j        t          |          5  t          |d                                                   }t          |d                                                   }	|                    |j                            d                    sJ |	                    |j                            d                    sJ |                                \  }
}|j                                        }d d d            n# 1 swxY w Y   |
|d         j        k    sJ ||d         j        k    sJ d S 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_df  s   Ib
+++\2C@@@
 
 
 (** 	 W333QQQ67
##%%2
2ggCBg''/'SAAA 	( 	(uQx113344DuQx113344D;;rx11#6677777;;rx11#6677777,,..KD%8%%''D	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( tAw&&&&R(((((((s   $CGGGc                    t          t          j        dt          j                  t	          dd                                                    }|j        g dd d f         }t          j        	                                \  }}|
                    d|           |
                    |	           t          |d
          rJ |                                }|d                                         }t          j        ||j                            t$                    j                   |d                                         }t          j        ||j                            t$                    j                   d S r  )r   r>   r   r   r   r  r   rC   rD   rE   r*   r   r-   r.   r  r  r%   r   r   rU   r  s           r6   "test_mixed_freq_irregular_first_dfz-TestTSPlot.test_mixed_freq_irregular_first_df"  s=   Ib
+++:lTV3W3W3W
 
 

(** 	 W333QQQ67
##%%2
cb!!!
22v&&&&&1X!!
#B(?(?(FGGG1X!!
#B(?(?(FGGGGGr8   c                    t          ddd          }t          ddd          }t          t          j                            d                              t          |                    |          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |
                    |           |                                D ]/}t          |                                	          j        dk    sJ 0d S )
Nra  m  r}   r   rM  r   r   rp   r  r   r   r>   r?   r@   rA   rV   rC   rD   rE   r*   r-   r   r.   r"   r1   r  idxlhighr  rJ   r4   ru  s           r6   test_mixed_freq_hf_firstz#TestTSPlot.test_mixed_freq_hf_first2  s   *c<<<*bt<<<bi++A..>>s4yyII4PPRY**1--==c$iiHH$OO
##%%2		R	BLLNN 	B 	BDDNN$4$4555:cAAAAA	B 	Br8   c                 6   t          ddd          }t          j                            d                              d          }t          ||          }|                    d                                          }t          j	        
                                \  }}|                    |	          }|                    d
|           |j        d                                         d         |j        d                                         d         k    sJ d S )Nz2012-01-01 13:00
2012-01-02r    rQ   r   rM  r$   r|   rp   rr   r   r(   )r   r>   r?   r@   rA   r   r  interpolaterC   rD   rE   r*   rt  r.   )r1   ts_indts_datar3   ts2rJ   r4   s          r6   test_mixed_freq_alignmentz$TestTSPlot.test_mixed_freq_alignment=  s    .3GGG)''**::2>>G6***ii**,,
##%%2WWW^^sr"""x{$$&&q)RXa[-B-B-D-DQ-GGGGGGGr8   c                 f   t          ddd          }t          ddd          }t          t          j                            d                              t          |                    |          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    d|	           |
                    d|	           |                                D ]/}t          |                                
          j        dk    sJ 0|                                }t          |j                  dk    sJ t          j                            |                                           d S )Nra  r  r}   r   rM  r   r   T)legendr4   r  )r   r   r>   r?   r@   rA   rV   rC   rD   rE   r*   r-   r   r.   r"   
get_legendtextsr9  r:  )	r1   r  r  r  r  rJ   r4   ru  legs	            r6   test_mixed_freq_lf_firstz#TestTSPlot.test_mixed_freq_lf_firstJ  sb   *c<<<*bt<<<bi++A..>>s4yyII4PPRY**1--==c$iiHH$OO
##%%2$$$		"	%%%LLNN 	B 	BDDNN$4$4555:cAAAAAmmoo39~~""""
)))))r8   c                    t          ddd          }t          ddd          }t          t          j                            d                              t          |                    |          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |
                    |           |                                D ]/}t          |                                	          j        dk    sJ 0d S )
Nra     r|   r   rS   r    r   rp   r  r  r  s           r6   test_mixed_freq_lf_first_hourlyz*TestTSPlot.test_mixed_freq_lf_first_hourlyX  s   *c>>>*ac:::bi++A..>>s4yyII4PPRY**1--==c$iiHH$OO
##%%2B		R	LLNN 	D 	DDDNN$4$4555:eCCCCC	D 	Dr8   c                 b   t          t          j        dt          j                  t	          dd                    }|j        g d         }d}t          j        t          |          5  t          d	dd
          }d d d            n# 1 swxY w Y   t          t          j
                            d                              t          |                    |          }t          j                                        \  }}|                    |           |                    |           d S )Nr  r   r   r   r$   )r   r(   r   rR   rS   r   rT   r      r;   r:   ry              r  rt   z1/3/2000ro   r   r   rp   )r   r>   r   r   r   r   r  r  r	  r   r?   r@   rA   rV   rC   rD   rE   r*   )r1   r3   r   ry   r   psrJ   r4   s           r6   test_mixed_freq_irreg_periodz'TestTSPlot.test_mixed_freq_irreg_periodc  sW   Ib
+++:lTV3W3W3W
 
 
 NNNO/'SAAA 	A 	Az2C@@@C	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	ABI))!,,<<SXXFFLL
##%%2

b

2s   +B

BBc                    t          ddd          }|d d                             |dd                    }t          t          t	          |                    |          }t          t          t	          |                    |          }t
          j                            dd          \  }\  }}|                    |	           |                    |	           |j	        d
k    sJ |j	        d
k    sJ |j
        d                                         d         |j
        d                                         d         k    sJ d S )N
2015-01-01rR   r   r   r(   r   T)nrowssharexrp   r   r   r&   )r   rW   r   rB   rV   rC   rD   rE   r*   r"   rt  r   r1   r  r  r  r  rJ   ax1r  s           r6   test_mixed_freq_shared_axz$TestTSPlot.test_mixed_freq_shared_axq  s   ,===BQBx~~d122h''E#d))$$d++E#d))$$d++
++!D+AA:C
3
3x3x3y|&&((.#)A,2I2I2K2KD2QQQQQQQr8   c                 z   t          ddd          }|d d                             |dd                    }t          t          t	          |                    |          }t          t          t	          |                    |          }t
          j                                        \  }}|                                }|	                    |           |	                    |           |j
        d                                         d	         |j
        d                                         d	         k    sJ d S 
Nr  rR   r   r   r(   r   rp   r   r&   r   rW   r   rB   rV   rC   rD   rE   twinxr*   rt  r   r  s           r6    test_mixed_freq_shared_ax_twin_xz+TestTSPlot.test_mixed_freq_shared_ax_twin_x  s    ,===BQBx~~d122h''E#d))$$d++E#d))$$d++$$&&3iikk
3
3y|&&((.#)A,2I2I2K2KD2QQQQQQQr8   zTODO (GH14330, GH14322))reasonc                 z   t          ddd          }|d d                             |dd                    }t          t          t	          |                    |          }t          t          t	          |                    |          }t
          j                                        \  }}|                                }|	                    |           |	                    |           |j
        d                                         d	         |j
        d                                         d	         k    sJ d S 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     ,===BQBx~~d122h''E#d))$$d++E#d))$$d++$$&&3iikk
3
3y|&&((.#)A,2I2I2K2KD2QQQQQQQr8   c                 F   t           j                                        \  }}t          dt          dg          }t          t          t          |                    |          }|                    |           |	                                d         
                                }|j                                        t          |                                          k    sJ t          |                                          |j                                        k    sJ d S )Nr  z
2015-01-03rp   r   )rC   rD   rE   r   r   r   rB   rV   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!++--w{{}}u 1 1 3 33333e}}  ""agkkmm333333r8   c                    t          ddd          }t          ddd          }t          t          j                            d                              t          |                    |          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           d	}t          j        t          |
          5  |
                    |d           d d d            d S # 1 swxY w Y   d S )Nra  4   r~   r   rM  r   r   rp   zz'how' is not a valid keyword for plotting functions. If plotting multiple objects on shared axes, resample manually first.rt   foo)r4   how)r   r   r>   r?   r@   rA   rV   rC   rD   rE   r*   rv   rw   r   )r1   r  r  r  r  rJ   r4   ry   s           r6   *test_to_weekly_resampling_disallow_how_kwdz5TestTSPlot.test_to_weekly_resampling_disallow_how_kwd  sW   *bs;;;*bt<<<bi++A..>>s4yyII4PPRY**1--==c$iiHH$OO
##%%2		R	H 	 ]:S111 	' 	'HHH&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   D88D<?D<c                    t          ddd          }t          ddd          }t          t          j                            d                              t          |                    |          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |
                    |           |                                D ]4}t          |                                	          j        |j        k    sJ 5d S )
Nra  r  r~   r   rM  r   r   rp   r  r  r  s           r6   test_to_weekly_resamplingz$TestTSPlot.test_to_weekly_resampling  s   *bs;;;*bt<<<bi++A..>>s4yyII4PPRY**1--==c$iiHH$OO
##%%2		R	BLLNN 	H 	HDDNN$4$4555:diGGGGG	H 	Hr8   c                    t          ddd          }t          ddd          }t          t          j                            d                              t          |                    |          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |
                    |           |                                j                            t          j                  }t          j        g d	t          j        
          }|                                D ]}	t#          |	                                          j        |j        k    sJ |	                    d          }
t          |
          dk    rt)          j        |
|           st)          j        |
|           d S )Nra  r  r~   r   rM  r   r   rp   i  i  i  i  i  i   i  i  i  i  i  i  r   r  Forig)r   r   r>   r?   r@   rA   rV   rC   rD   rE   r*   r   asi8r   r   rc   r-   r   r.   r"   r  r  )r1   r  r  r  r  rJ   r4   
expected_h
expected_lru  r5   s              r6   test_from_weekly_resamplingz&TestTSPlot.test_from_weekly_resampling  s   *bs;;;*bt<<<bi++A..>>s4yyII4PPRY**1--==c$iiHH$OO
##%%2B		R	^^%%*11"*==
XTTT*
 
 

 LLNN 	? 	?DDNN$4$4555:diGGGGNNN..E5zzR+E:>>>>+E:>>>>	? 	?r8   zkind1, kind2)ru  area)r  ru  c                 p   t          ddd          }t          ddd          }t          t          j                            d                              t          |          df          |g d	
          }t          t          j                            d                              t          |          df          |g d	
          }t          j                                        \  }}|	                    |d|           |	                    |d|           t          j
        g dt          j                  }	t          j        t          |	          t          j                  }
t          d          D ]}|j        |         }t          |                                          j        |j        k    sJ t%          j        |                    d          |	           |
||         j        z  }
t%          j        |                    d          |
           |                                j                            t          j                  }	t          j        t          |	          t          j                  }
t          d          D ]}|j        d|z            }t          |                                          j        |j        k    sJ t%          j        |                    d          |	           |
||         j        z  }
t%          j        |                    d          |
           d S )Nra  r  r~   r   rM  r   r   rR   r   r(   r   r   Tr  stackedr4   r
  r   Fr  r  )r   r
   r>   r?   r@   rV   rC   rD   rE   r*   rc   r   zerosrB   rt  r   r.   r"   r  r  rU   r   r   r  r   )r1   kind1kind2r  r  r  r  rJ   r4   
expected_x
expected_yrd   ru  s                r6   $test_from_resampling_area_line_mixedz/TestTSPlot.test_from_resampling_area_line_mixed  s   *bs;;;*bt<<<I!!!$$++SYYN;;II
 
 

 I!!!$$++SYYN;;II
 
 
 
##%%2eTb111		udr	222 X   *
 
 

" Xc*ooRZ@@@
q 	P 	PA8A;Dt~~//005BBBB'E(B(BJOOO#a&-'J'E(B(BJOOOO ^^%%*11"*==
Xc*ooRZ@@@
q 	P 	PA8AE?DDNN$4$4555:diGGGG'E(B(BJOOO$q'.(J'E(B(BJOOOO	P 	Pr8   c                 r   t          ddd          }t          ddd          }t          t          j                            d                              t          |          df          |g d	
          }t          t          j                            d                              t          |          df          |g d	
          }t          j                                        \  }}|	                    |d|           |	                    |d|           |
                                j                            t          j                  }	t          j        t          |	          t          j                  }
t          d          D ]}|j        |         }t#          |                                          j        |j        k    sJ t)          j        |                    d          |	           |
||         j        z  }
t)          j        |                    d          |
           t          j        g dt          j                  }	t          j        t          |	          t          j                  }
t          d          D ]}|j        d|z            }t#          |                                          j        |j        k    sJ t)          j        |                    d          |	           |
||         j        z  }
t)          j        |                    d          |
           d S )Nra  r  r~   r   rM  r   r   rR   r  r   Tr  r   r  Fr  r
  )r   r
   r>   r?   r@   rV   rC   rD   rE   r*   r   r  r   r   r  rB   rt  r   r.   r"   r  r  rU   r   rc   )r1   r  r  r  r  r  r  rJ   r4   r  r  rd   ru  rt  s                 r6   0test_from_resampling_area_line_mixed_high_to_lowz;TestTSPlot.test_from_resampling_area_line_mixed_high_to_low  s   *bs;;;*bt<<<I!!!$$++SYYN;;II
 
 

 I!!!$$++SYYN;;II
 
 

 
##%%2		udr	222eTb111 ^^%%*11"*==
Xc*ooRZ@@@
q 	P 	PA8A;DDNN$4$4555:diGGGG'E(B(BJOOO$q'.(J'E(B(BJOOOO X   *
 
 

" Xc*ooRZ@@@
q 	Q 	QAHQUOEEOO$5$5666;tyHHHH'U(C(CZPPP#a&-'J'U(C(CZPPPP	Q 	Qr8   c                    t          ddd          }t          ddd          }t          t          j                            d                              t          |                    |          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |
                    |           t          |                                          dk    sJ |                                D ]/}t          |                                	          j        d
k    sJ 0d S Nz2014-07-01 09:00r{   r   rP   100msr  r   rp   r  r   r  r  s           r6   "test_mixed_freq_second_millisecondz-TestTSPlot.test_mixed_freq_second_millisecondD  s@   ,3BBB,7BGGGbi++A..>>s4yyII4PPRY**1--==c$iiHH$OO
##%%2		R	B2<<>>""a''''LLNN 	C 	CDDNN$4$4555:dBBBBB	C 	Cr8   c                    t          ddd          }t          ddd          }t          t          j                            d                              t          |                    |          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |
                    |           t          |                                          dk    sJ |                                D ]/}t          |                                	          j        d
k    sJ 0d S r  r  r  s           r6   .test_mixed_freq_second_millisecond_low_to_highz9TestTSPlot.test_mixed_freq_second_millisecond_low_to_highR  s@   ,3BBB,7BGGGbi++A..>>s4yyII4PPRY**1--==c$iiHH$OO
##%%2B		R	2<<>>""a''''LLNN 	C 	CDDNN$4$4555:dBBBBB	C 	Cr8   c                 X   t          ddd          t          ddd          t          ddd          g}t          t          j                            d                              t          |          df          t          |t                              }t          |j
                   d S )Nr   r(   r   rz  r   rR   r   )r   r
   r>   r?   r@   rA   rV   r   r   r)   r*   r]   s      r6   test_irreg_dtypeszTestTSPlot.test_irreg_dtypes`  s    D!QdAq!1!14a3D3DEI!!!$$44c#hh]CC#V$$$
 
 	"'"""""r8   c                 x   t          dd          }|g d                             t                    }t          t          j                            d                              t          |          df          |          }t          j
                                        \  }}t          |j        |           d S )Nr#  r:   r   )r   r   r   r;   r   rR   rp   )r   r   r   r
   r>   r?   r@   rA   rV   rC   rD   rE   r)   r*   )r1   rX   rI   rJ   r4   s        r6   test_irreg_dtypes_dt64z!TestTSPlot.test_irreg_dtypes_dt64i  s    R000,,,&&v..ry,,Q//??S1NNPSTT
##%%2"'b))))))r8   c                 h   t          dddddd          t          j                            d                              ddd                                          }t          j        fd|D                       }t          t          j                            d                              t          |                    t          j                            d                              t          |                    d|	          }t          j                                        \  }}|                    |
           |                                }|                                }t!          ||d          D ]\  }}	t#          t%          |          d          \  }
}t#          |
d          \  }}
|	                                }t          |          dk    rW|dk    r%t)          ||
|                              d          }n$t)          ||
|                              d          }||k    sJ d S )Nr(   rR   r  r   r   rz  c                 t    g | ]4}t          t          |                     z                                   5S r  r   r&  r   rW  rj   ts     r6   rX  z(TestTSPlot.test_time.<locals>.<listcomp>t  ;    NNN!Ic!ff5555;;==NNNr8   r   r$   rp   Tr   <   %H:%M:%S%H:%M)r   r>   r?   r@   integerscumsumrc   r
   rA   rV   rC   rD   rE   r*   
get_xticksrF   r   divmodr&  get_textr   strftimer1   deltasr3   rI   rJ   r4   tickslabels_tick_labelmr{   r    r   r   r-  s                  @r6   	test_timezTestTSPlot.test_timeq  s   Q1aQ''&&q))221b!<<CCEEXNNNNvNNNOOY**1--==c"ggFFY**1--==c"ggFF  
 
 
 
##%%2
2 ##%% t<<< 		  		 ME6#e**b))DAq!R==DAq""B2ww{{66aA//
;;BBaA//88BRxxxx		  		 r8   c                 v   t          dddddd          t          j                            d                              ddd                                          }t          j        fd|D                       }t          t          j                            d                              t          |                    t          j                            d                              t          |                    d|	          }t          j                                        \  }}|                    |
           |                                }|                                }t!          ||d          D ]\  }}	t#          t%          |          d          \  }
}t#          |
d          \  }}
|	                                }t          |          dk    rW|dk    r%t)          ||
|                              d          }n$t)          ||
|                              d          }||k    sJ |                    dd           |                                }|                                }t!          ||d          D ]\  }}	t#          t%          |          d          \  }
}t#          |
d          \  }}
|	                                }t          |          dk    rW|dk    r%t)          ||
|                              d          }n$t)          ||
|                              d          }||k    sJ d S )Nr(   rR   r  r   r   rz  c                 t    g | ]4}t          t          |                     z                                   5S r*  r+  r,  s     r6   rX  z4TestTSPlot.test_time_change_xlim.<locals>.<listcomp>  r.  r8   r   r$   rp   Tr   r/  r0  r1  z1:30z5:00)r   r>   r?   r@   r2  r3  rc   r
   rA   rV   rC   rD   rE   r*   r4  rF   r   r5  r&  r6  r   r7  r%  r8  s                  @r6   test_time_change_xlimz TestTSPlot.test_time_change_xlim  s   Q1aQ''&&q))221b!<<CCEEXNNNNvNNNOOY**1--==c"ggFFY**1--==c"ggFF  
 
 
 
##%%2
2 ##%% t<<< 		  		 ME6#e**b))DAq!R==DAq""B2ww{{66aA//
;;BBaA//88BRxxxx 	FF### ##%% t<<< 		  		 ME6#e**b))DAq!R==DAq""B2ww{{66aA//
;;BBaA//88BRxxxx		  		 r8   c                    t          dddddd          t          j                            d                              ddd                                          }t          j        fd|D                       }t          t          j                            d                              t          |                    t          j                            d                              t          |                    d|	          }t          j                                        \  }}|                    |
          }|                                }|                                }t!          ||d          D ]A\  }}	t#          t%          |          d          \  }
}t'          |t%          |          z
  dz            }t#          |
d          \  }}
|	                                }t          |          dk    r|dz  dk    r&t+          ||
||                              d          }n|dz  dk    r.t+          ||
||                              d          d d         }nQ|dk    r&t+          ||
||                              d          }n%t+          ||
||                              d          }||k    sJ Cd S )Nr(   rR   r  r   r   rz  c                 t    g | ]4}t          t          |                     z                                   5S ))microsecondsr+  r,  s     r6   rX  z.TestTSPlot.test_time_musec.<locals>.<listcomp>  s;    SSSqI3q66::::@@BBSSSr8   r   r$   rp   Tr   r/  g    .Ai  z%H:%M:%S.%fr0  r1  )r   r>   r?   r@   r2  r3  rc   r
   rA   rV   rC   rD   rE   r*   r4  rF   r   r5  r&  roundr6  r   r7  )r1   r9  r3   rI   rJ   r4   r:  r;  r<  r=  r>  r{   r   r    r   r   r-  s                   @r6   test_time_museczTestTSPlot.test_time_musec  s   Q1aQ''&&q))221b!<<CCEEXSSSSFSSSTTY**1--==c"ggFFY**1--==c"ggFF  
 
 
 
##%%2WWW^^ ##%% t<<< 	  	 ME6#e**b))DAqE

*c122B!R==DAq""B2ww{{I!##aAr**33MBBBBDjQ&&aAr**33MBB3B3GBB!VVaAr**33J??BBaAr**33G<<BRxxxx!	  	 r8   c                 |   t          ddd          }t          ddd          }t          t          j                            d                              t          |                    |          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}|
                    |           |
                    d	|
          }|                                D ].}t          |                                          j        dk    sJ /t          |d          sJ t          |d          rJ |j                                        D ].}t          |                                          j        dk    sJ /d S )Nra  r  r}   r   rM  r   r   rp   Tr  r4   r  r  )r   r   r>   r?   r@   rA   rV   rC   rD   rE   r*   r-   r   r.   r"   r   r  r  s           r6   test_secondary_upsamplez"TestTSPlot.test_secondary_upsample  s   *c<<<*bt<<<bi++A..>>s4yyII4PPRY**1--==c$iiHH$OO
##%%2BYY4BY//LLNN 	= 	=Dt~~//005<<<<<r9%%%%%2z*****J((** 	= 	=Dt~~//005<<<<<	= 	=r8   c           	         t           j                                        }|                    d          }t	          t
          j                            d                              d          t          t          d          t                    t          ddd	          
          }|                    ddg|           |                                }t          |                                          dk    sJ |                                d                                         dk    sJ |                                d                                         dk    sJ |                                d                                         dk    sJ |                                d                                         dk    sJ |j                                        J t)                      }|                                D ])}|                    |                                           *t          |          dk    sJ d S )N   r   r:   rS   ABCDr   
2000-01-01r:   ro   r   r   r%   rn   rJ  rS   r   	A (right)r(   z	B (right)r   rR   r}   )rC   rD   figureadd_subplotr
   r>   r?   r@   rA   r   listr   r   r*   r  rV   r-   	get_textsr6  r  setaddr   )r1   rq   r4   rI   r  colorsru  s          r6   test_secondary_legendz TestTSPlot.test_secondary_legend  s   j!!__S!! I!!!$$44W==$v,,f555\2C@@@
 
 

 	S#J2...mmoo3==??##q((((}}q!**,,;;;;}}q!**,,;;;;}}q!**,,3333}}q!**,,3333{%%''///MMOO 	) 	)DJJt~~''(((( 6{{ar8   c           	         t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }t          j
                                        }|                    d
          }|                    ddgd|           |                                }t          |                                          dk    sJ |                                d                                         dk    sJ |                                d                                         dk    sJ |                                d                                         dk    sJ |                                d                                         dk    sJ d S )Nr   rN  rO  r   rP  r:   ro   r   rQ  rM  rn   r   F)r  
mark_rightr4   rS   r   r(   rR   r}   )r
   r>   r?   r@   rA   r   rU  r   r   rC   rD   rS  rT  r*   r  rV   r-   rV  r6  r1   rI   rq   r4   r  s        r6   test_secondary_legend_rightz&TestTSPlot.test_secondary_legend_right  s}   I!!!$$44W==$v,,f555\2C@@@
 
 

 j!!__S!!
S#J5R@@@mmoo3==??##q((((}}q!**,,3333}}q!**,,3333}}q!**,,3333}}q!**,,333333r8   c           	      P   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }t          j
                                        \  }}|                    d
dg|           |                                }|                                d                                         dk    sJ |                                d                                         dk    sJ d S )Nr   rN  rO  r   rP  r:   ro   r   rQ  r  rn   )r  r  r4   r   rR  r(   r
   r>   r?   r@   rA   r   rU  r   r   rC   rD   rE   r*   r  rV  r6  r]  s        r6   test_secondary_legend_barz$TestTSPlot.test_secondary_legend_bar  s    I!!!$$44W==$v,,f555\2C@@@
 
 

 *%%''R
U"555mmoo}}q!**,,;;;;}}q!**,,333333r8   c           	      R   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }t          j
                                        \  }}|                    d
dgd|           |                                }|                                d                                         dk    sJ |                                d                                         dk    sJ d S )Nr   rN  rO  r   rP  r:   ro   r   rQ  r  rn   F)r  r  r\  r4   r   r(   r`  r]  s        r6   test_secondary_legend_bar_rightz*TestTSPlot.test_secondary_legend_bar_right!  s    I!!!$$44W==$v,,f555\2C@@@
 
 

 *%%''R
U%BGGGmmoo}}q!**,,3333}}q!**,,333333r8   c           	         t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }t          j
                                        }|                    d
          }t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }|                    ddg|          }|                                }t          |                                          dk    sJ |j                                        J t%                      }|                                D ])}|                    |                                           *t          |          dk    sJ d S )Nr   rN  rO  r   rP  r:   ro   r   rQ  rM  r   r}   rJ  rS   )r
   r>   r?   r@   rA   r   rU  r   r   rC   rD   rS  rT  r*   r  rV   r-   r  rW  rX  r   r1   rI   rq   r4   r  rY  ru  s          r6   test_secondary_legend_multi_colz*TestTSPlot.test_secondary_legend_multi_col-  s   I!!!$$44W==$v,,f555\2C@@@
 
 

 j!!__S!!I!!!$$44W==$v,,f555\2C@@@
 
 

 WW#sW33mmoo3==??##q(((({%%''///MMOO 	) 	)DJJt~~''(((( 6{{ar8   c           
         t          dt          j        d                              d          z  t	          t          d          t                    t	          d t          d          D             t                              }t          j	        
                                }|                    d	          }|                    d
dg|          }|                                }t          |                                          dk    sJ |j                                        J t#                      }|                                D ])}|                    |                                           *t          |          dk    sJ d S )N皙?r3  rN  rO  r   c                     g | ]}d | S zi- rW  rd   s     r6   rX  z:TestTSPlot.test_secondary_legend_nonts.<locals>.<listcomp>J      555aa555r8   r:   rQ  rM  rn   ro   rJ  rS   r
   r>   r   reshaper   rU  r   rB   rC   rD   rS  rT  r*   r  rV   r-   r  rW  rX  r   re  s          r6   test_secondary_legend_nontsz&TestTSPlot.test_secondary_legend_nontsE  T   ")B--''000$v,,f55555599555VDDD
 
 

 j!!__S!!WW#sW33mmoo3==??##q(((({%%''///MMOO 	) 	)DJJt~~''(((( 6{{ar8   c           
         t          dt          j        d                              d          z  t	          t          d          t                    t	          d t          d          D             t                              }t          j	        
                                }|                    d	          }|                    d
dg|          }|                                }t          |                                          dk    sJ |j                                        J t#                      }|                                D ])}|                    |                                           *t          |          dk    sJ d S )Nrh  r3  rN  rO  r   c                     g | ]}d | S rj  rk  rl  s     r6   rX  zDTestTSPlot.test_secondary_legend_nonts_multi_col.<locals>.<listcomp>^  rm  r8   r:   rQ  rM  r   r}   rJ  rS   rn  re  s          r6   %test_secondary_legend_nonts_multi_colz0TestTSPlot.test_secondary_legend_nonts_multi_colY  rq  r8   zApi changed in 3.6.0c                 
   t          ddd          }t          t          j                            d                              t          |          df          |          }t          j        	                                \  }}|
                    |          }|                                }|                                D ]A}t          |                                          dk    r|                                d	k    sJ Bd S )
Nr   rM  r   r   r   rR   rp   r   r  )r   r
   r>   r?   r@   rA   rV   rC   rD   rE   r*   r6  get_ticklabelsr6  get_rotation)r1   r   rI   rJ   r4   rA  ru  s          r6   test_format_date_axisz TestTSPlot.test_format_date_axism  s    Rd;;;ry,,Q//??S1NNPSTT
##%%2WWW^^((** 	1 	1D4==??##a''((**b0000	1 	1r8   c                 b   t          ddd          }t          t          t          |                              }t          j                                        \  }}|                    ||d          }t          j	        t          |d                                                   |           d S )Nr  r:   r}   r  r   )rK   r   )r   rU  rB   rV   rC   rD   rE   r*   r  r  r   r.   )r1   rj   rk   rJ   r4   rt  s         r6   test_ax_plotzTestTSPlot.test_ax_plotx  s    \2C@@@s1vv
##%%21C((
mE!H,>,>,@,@AA1EEEEEr8   c           	      b   t          ddd          t          ddd          g}t          j        ddd          }t          j        dd	d          }t          j                                        \  }}|                    d
 |D             |dd |D             |dd          \  }}t          j        d |D             t          j                  }t          j
        |                                d d df         |           t          j
        |                                d d df         |           d S )N  rM     i  r(   g      $@g      &@g      ?g      (@c                 6    g | ]}|                                 S rk  	toordinalrV  s     r6   rX  z0TestTSPlot.test_mpl_nopandas.<locals>.<listcomp>       ***qQ[[]]***r8   -c                 6    g | ]}|                                 S rk  r  rV  s     r6   rX  z0TestTSPlot.test_mpl_nopandas.<locals>.<listcomp>  r  r8   rS   )	linewidthc                 6    g | ]}|                                 S rk  r  rV  s     r6   rX  z0TestTSPlot.test_mpl_nopandas.<locals>.<listcomp>  s     555!555r8   r   r   )r   r>   r   rC   rD   rE   r*   rc   r   r  r  r   )	r1   datesvalues1values2rJ   r4   line1line2exps	            r6   test_mpl_nopandaszTestTSPlot.test_mpl_nopandas  s:   dB##T$2%6%67)D$,,)D$,,
##%%2 GG**E*****E***  
 
	
 h55u555RZHHH
#E$4$4$6$6qqq!t$<cBBB
#E$4$4$6$6qqq!t$<cBBBBBr8   c                    t          t          j        dt          j                  t	          dd                    }|j        g d         }t          j                                        \  }}|d d         	                    |           |dd          	                    |           |
                                \  }}|t          j                            |j                                        d	|          k    sJ |t          j                            |j                                        d	|          k    sJ d S )
Nrz  r   r   r   r$   r(   rS   r   rT   r  r;   r:   rM  r  r  ry  r  r  r   rp    r   r>   r   r   r   r   rC   rD   rE   r*   r$  r   DatetimeConverterconvertr%   r|   r  r1   r3   ts_irregularrJ   r4   r  r  s          r6    test_irregular_ts_shared_ax_xlimz+TestTSPlot.test_irregular_ts_shared_ax_xlim  s/   Ib
+++:lTV3W3W3W
 
 
 wMMMN 
##%%2RaR$$$QRR$$$ kkmmet-55l6H6L6L6N6NPRTVWWWWWW.66|7I7M7M7O7OQSUWXXXXXXXXr8   c                 r   g d}g d}t          d|          }t          d|          }t          j                                        \  }}|                    |           |                                \  }}|                    d|           |                                \  }	}
||	k    sJ ||
k     sJ d S )	N)r(   r   rR   rS   )r   rT   r   r  r(   r$   r   rp   TrJ  )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$&KKMM!\
DR((("$++--
Kj((((k))))))r8   c                    t          ddd          }t          ddd          }t          d|          }t          d|          }t          j                                        \  }}|                    |	           |                                \  }}|                    d
|           |                                \  }	}
||	k    sJ ||
k     sJ d S )NrP  rS   r}   r  z
2000-01-05r(   r$   r   rp   TrJ  )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E<EEEAW%%%AW%%%
##%%2
2$&KKMM!\
DR((("$++--
Kj((((k))))))r8   c                    t          ddd          }t          d|          }t          j                                        \  }}|                    |           |                                \  }}|                    d                                                              d	|
           |                                \  }}||k    sJ ||k    sJ d S )NrP  r:   r|   r   r(   r$   rp   r}   TrJ  )	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    r>>>AS!!!
##%%2
2$&KKMM!\
C$$"$==="$++--
K j(((({******r8   c                    t          t          j        dt          j                  t	          dd                    }|j        g d         }t          j                                        \  }}|d d         	                    |           |dd          	                    d	|
           |d d         	                    |           |
                                \  }}|t          j                            |j                                        d|          k    sJ |t          j                            |j                                        d|          k    sJ d S )Nrz  r   r   r   r$   r  r   rp   TrJ  r  r  r  s          r6   "test_secondary_y_irregular_ts_xlimz-TestTSPlot.test_secondary_y_irregular_ts_xlim  sM   Ib
+++:lTV3W3W3W
 
 
 wMMMN
##%%2RaR$$$QRR$2666RaR$$$kkmmet-55l6H6L6L6N6NPRTVWWWWWW.66|7I7M7M7O7OQSUWXXXXXXXXr8   c                 (   t          ddd          t          ddd          g}t          j                                        \  }}|                    |           t          dddd          t          dddd          g}|                    |           d S )Ni  r(   r   rM  )r   rC   rD   rE   r*   r   )r1   rU   rJ   r4   s       r6   test_plot_outofbounds_datetimez)TestTSPlot.test_plot_outofbounds_datetime  s    tQ""Dq!$4$45
##%%2
4Ar**HT1a,D,DE
r8   c                 D   d t          j        d          D             }t          ddd          }t          t           j                            d                              t          |          df          |          }t          j	        
                                \  }}|                    d|           t          j	                                         |                                }d	 |D             }t          |          t          |          k    sJ ||k    sJ d S )
Nc                     g | ]}d |d	S )z00:00:00.0000000z0>2drk  rl  s     r6   rX  zATestTSPlot.test_format_timedelta_ticks_narrow.<locals>.<listcomp>  s$    NNN16a666NNNr8   r:   0r  r   r   rR   r<   c                 6    g | ]}|                                 S rk  r6  rV  s     r6   rX  zATestTSPlot.test_format_timedelta_ticks_narrow.<locals>.<listcomp>       666!666r8   )r>   r   r   r
   r?   r@   rA   rV   rC   rD   rE   r*   drawrF   )r1   expected_labelsr   rI   rJ   r4   r;  result_labelss           r6   "test_format_timedelta_ticks_narrowz-TestTSPlot.test_format_timedelta_ticks_narrow  s   NN	"NNNc2D999ry,,Q//??S1NNPSTT
##%%2
r"""
##%%66v666=!!S%9%99999//////r8   c                    g d}t          ddd|          }t          t          j                            d                              t          |          df          |          }t          j        	                                \  }}|
                    d|          }t          j                                         |                                }d	 |D             }t          |          t          |          k    sJ ||k    sJ d S )
N)	z00:00:00z1 days 03:46:40z2 days 07:33:20z3 days 11:20:00z4 days 15:06:40z5 days 18:53:20z6 days 22:40:00z8 days 02:26:40z9 days 06:13:20r  r:   1 D)r!   r"   r  r   rR   r<   c                 6    g | ]}|                                 S rk  r  rV  s     r6   rX  z?TestTSPlot.test_format_timedelta_ticks_wide.<locals>.<listcomp>  r  r8   )r   r
   r>   r?   r@   rA   rV   rC   rD   rE   r*   r  rF   )	r1   r  r  r   rI   rJ   r4   r;  r  s	            r6    test_format_timedelta_ticks_widez+TestTSPlot.test_format_timedelta_ticks_wide  s    

 

 

 c2EEEEry,,Q//??S1NNPSTT
##%%2WWaBW''
##%%66v666=!!S%9%99999//////r8   c                     t          t          d          t          dd                    }t          j                                        \  }}t          |j        |           d S )Nr   1dayr   rp   )r   rB   r   rC   rD   rE   r)   r*   )r1   r{   rJ   r4   s       r6   test_timedelta_plotzTestTSPlot.test_timedelta_plot  sV    588_VQ???@@
##%%2!&R((((((r8   c                 2   t          ddd          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}t          |j        |           d S )N1 day 2 hr 30 min 10 sr:   r  r   r   rp   r   r   r>   r?   r@   rA   rV   rC   rD   rE   r)   r*   r1   r%   r{   rJ   r4   s        r6   test_timedelta_long_periodz%TestTSPlot.test_timedelta_long_period  s|     8"5QQQ29((++;;CJJGGOO
##%%2!&R((((((r8   c                 2   t          ddd          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}t          |j        |           d S )Nr  r:   z1 nsr   r   rp   r  r  s        r6   test_timedelta_short_periodz&TestTSPlot.test_timedelta_short_period$  s|     8"6RRR29((++;;CJJGGOO
##%%2!&R((((((r8   c                    t          ddd          }|}t          j        ddd          }t          j        ddd          d d d         }t          j                                        \  }}|                    ||g||g	           d S )
Nr   r:   r    r   r   r(   g?r'   )weights)r   r>   r   rC   rD   rE   hist)r1   r   rj   w1w2rJ   r4   s          r6   	test_histzTestTSPlot.test_hist+  s    Rc:::Yq!S!!Yq!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                                        \  }}|                    |           |                    |           |                    |           d S )Nr`   rT  rM  r}  r   i  r$   i  i  r|  rp   )r   r   rC   rD   rE   r*   )r1   r  r  rJ   r4   s        r6   test_overlapping_datetimez$TestTSPlot.test_overlapping_datetime4  s    IIr2&&r2&&r2&&
 
 
 IIr2&&r2&&r2&&
 
 
 
##%%2
2
2
2r8   z1GH9053 matplotlib does not use ax.xaxis.converterc                    t          t          j                            d                              d          t          dd                    }|                                }t          j        t                    5  |                    |j
        |j        d           d d d            n# 1 swxY w Y   |j        \  }}t          j        |                                |                                           d S )Nr   r:   z
1970-01-02r   r$   r  )r   )r   r>   r?   r@   rA   r   r*   r  r  DeprecationWarningr%   rU   rt  r  r   )r1   r{   r4   l1l2s        r6   test_add_matplotlib_datetime64z)TestTSPlot.test_add_matplotlib_datetime64N  s   
 I!!!$$44R88\2666
 
 
 VVXX'(:;; 	2 	2GGAGQXSG111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 B
#BMMOOR]]__EEEEEs   >#B--B14B1c                    t          t          j                            d                              d          ddg          }t	          ddd	          |d
<   t
          j                                        \  }}|                    d
d|           t
          j        	                                 |
                                d         }d}|                                |k    sJ d S )Nr   )r:   r   rj   rk   r  z
2018-01-01r:   r}   r   r   )rj   rk   r  r   )r
   r>   r?   r@   r   rC   rD   rE   scatterr  rF   r6  )r1   rI   rJ   r4   rK   r)  s         r6   "test_matplotlib_scatter_datetime64z-TestTSPlot.test_matplotlib_scatter_datetime64^  s    ry,,Q//66w??#sTTTbsCCC6

##%%2


Vs
,,,
""$$Q'~~8++++++r8   c                     t          g d          }t          |g dd          }|                    dd          }t          |d           d S )N)
2020-05-01
2020-05-02z
2020-05-03r`   rj   rk   rj   rk   r   xrotr   r
   r*   r   r1   rj   rI   r  s       r6   test_check_xticks_rotz TestTSPlot.test_check_xticks_roti  s_     BBBCCQYYY//00www$$4a((((((r8   c                     t          g d          }t          |g dd          }|                    dd          }t          |d           d S )Nr  r  z
2020-05-04r`   r  rj   rk   r  r  r  r  s       r6   test_check_xticks_rot_irregularz*TestTSPlot.test_check_xticks_rot_irregularq  s]    BBBCCQYYY//00www$$4b))))))r8   c                 <   t          g d          }t          |g dd          }|                    d                              dd          }t	          |d	           |                    d                              dd
          }t	          |d	           d S )Nr  r`   r  rj   rk   T)rk   	use_indexr  r  Fr   )r   r
   	set_indexr*   r   r  s       r6   test_check_xticks_rot_use_idxz(TestTSPlot.test_check_xticks_rot_use_idxx  s    BBBCCQYYY//00||C  %%t%<<4b))))||C  %%u%==4a((((((r8   c                     t          g d          }t          |g dd          }|                    dddd          }t          |d	           |                    dddd
          }t          |d	           d S )Nr  r`   r  rj   rk   T)rj   rk   rE   r  r  r  Fr   r  r  s       r6   test_check_xticks_rot_sharexz'TestTSPlot.test_check_xticks_rot_sharex  s    BBBCCQYYY//00wwd4w@@4b))))wwd5wAA4a((((((r8   rX   r   UTC)r!   r#   z1 dayr   c                 0    g | ]}t          d d|          S )r   r(   )r   rl  s     r6   rX  zTestTSPlot.<listcomp>  s$    ???4a##???r8   )r(   rR   rT   rz     c                 *    |t          d          |          }t                              dd          \  }}|                    |           |                    d          5 }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   r$   r(   rp   wb)mode)rB   pltrE   r*   openpickledump)r1   	temp_fileframe_or_seriesrX   rI   rq   r4   paths           r6   test_pickle_figzTestTSPlot.test_pickle_fig  s     _U1XXS111,,q!$$R
2^^^&& 	#$KT"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   %BBB)__name__
__module____qualname__rv   markfilterwarningsr7   rL   rZ   r^   rf   rr   rz   parametrizer   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*  r1  rD  rK  rN  rQ  r_  slowre  ri  rv  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  xfailr  r  r  r  r  r  r  r!  r#  r%  r'  r?  rB  rH  rK  rZ  r^  ra  rc  rf  rp  rt  rx  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   rB   r  rk  r8   r6   r   r   4   s       [ 566
< 
< 76
<- - -$ $ $"# # #* * *( ( (   [V%O%O%OPP+ + QP+ [LLL + + +6 6 6 [WtZZb-Q-Q-Q&RSS1 1 TS1 [VdD\22+ + 32+W W W [
,	-5S/TU D D	 D [V%O%O%OPP4 4 QP4
 [EEE : : : [LLL > > >
 [V%R%R%RSS2 2 TS2 [EEE ) ) ) [ VWW[LLL 	) 	)  XW	) [LLL $ $ $' ' '$ $ $$ $ $
$ $ $
G G G
7 
7 
7  8 8 8
4 
4 
4" " "+ + +G G G [B  [F	"BJ/// jr:::   I!	"BJ777(jrBBB    !	"BJ777(jrBBB   	
 
 	
 ,5 5-  25.E E E  0  ,  ,     [
 
 

 
 
" " "$" " "(" " """ " ".5 5 5> > >	, 	, 	,5 5 5> > >, , ,C C CC C CC C CC C C) ) )6H H H) ) ),H H H 	B 	B 	BH H H* * *	D 	D 	D [ VWW  XWR R RR R R [788
R 
R 98
R	4 	4 	4' ' '	H 	H 	H? ? ?, [^.>@P-QRR5P 5P SR5Pn [^.>@P-QRR3Q 3Q SR3QjC C CC C C# # #* * *     8+  +  + Z!  !  ! F= = =     24 4 4 
4 
4 
4
4 
4 
4     0     (     ( [4551 1 651F F FC C C.Y Y Y"* * * * * * + + +Y Y Y$  0 0 00 0 00) ) )) ) )) ) )* * *  4 [QRRF F SRF	, 	, 	,) ) )* * *) ) )) ) ) [J|Q///J|Q5999OGQS999Lqs;;;E??->???vNNNE!HH	

 
# #
 
# # #r8   r   c                 v   t                                           }|                                 |                    d          }|                    dt                                                     }t          |dd           } | |i |}	|	J |                    dt                                                     }|7|j        j        }
t          |
t                    r|
j        }
||j        |
k    sJ ||t          |j        d          |k    sJ |                    d          }||d<    | |i |}	|	J d S )NrM  r4   r"   T)	is_period   )r  gcfclfrT  popgcagetattrr%   r"   rq  r   r   r   )fr"   seriesargskwargsrq   r4   orig_axorig_axfreqr   dfreqs              r6   r)   r)     s9   
''))CGGIII			Bjjswwyy))G'6400K
!T
V

C???	D#''))	$	$B!eZ(( 	$OE7e####K/D111T9999			BF4L
!T
V

C?????r8   )NN)1__doc__r   r   r   r   r  numpyr>   rv   pandas._libs.tslibsr   r   pandas.core.dtypes.dtypesr	   pandasr
   r   r   r   r   r   r   pandas._testing_testingr  pandas.core.indexes.datetimesr   r   r   pandas.core.indexes.periodr   r   r   pandas.core.indexes.timedeltasr   pandas.tests.plotting.commonr   pandas.tseries.offsetsr   r  rC   r  %pandas.plotting._matplotlib.converterplotting_matplotlib	converterr   r   r)   rk  r8   r6   <module>r     sE   @ @                        
 2 1 1 1 1 1                                
         
 ; : : : : : ; ; ; ; ; ; . . . . . .f,''f-.. 4 4 4 4 4 4 4 4 4 4 4 4i# i# i# i# i# i# i# i#X3     r8   