
    bMh                       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( G d d          Z)ddZ*dS )z< Test cases for time series specific (freq conversion, etc)     )datedatetimetime	timedeltaN)
BaseOffset	to_offset)freq_to_period_freqstr)	DataFrameIndexNaTSeriesconcatisnato_datetime)DatetimeIndexbdate_range
date_range)PeriodPeriodIndexperiod_range)timedelta_range)_check_ticks_props)WeekOfMonth
matplotlibc                   	   e Zd Zej                            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d Zej                            d	ddg          d             Zd Z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ej                             d$%          d&             Z!d' Z"d( Z#d) Z$d* Z%d+ Z&d, Z'd- Z(d. Z)ej                            d/          ej                            d0 e* e+j,        d1e+j-        2           e.d3d14          5           e/ e* e+j,        d1e+j-        2           e.d3d14          5           e* e+j,        d1e+j-        2           e.d3d14          5          d6z   d7          g          d8                         Z0d9 Z1d: Z2d; Z3d< Z4d= Z5d> Z6ej        j7        d?             Z8d@ Z9dA Z:dB Z;dC Z<dD Z=dE Z>dF Z?dG Z@dH ZAdI ZBdJ ZCdK ZDdL ZEdM ZFdN ZGdO ZHdP ZIdQ ZJdR ZKdS ZLdT ZMdU ZNdV ZOej                            d          dW             ZPdX ZQdY ZRej                             dZ%          d[             ZSd\ ZTd] ZUd^ ZVd_ ZWej                            d`dadbg          dc             ZXej                            d`dadbg          dd             ZYde ZZdf Z[dg Z\dh Z]di Z^dj Z_dk Z`dl Zadm Zbdn Zcdo Zddp Zedq Zfdr Zgds Zhej                             d$%          dt             Zidu Zjdv Zkdw Zldx Zmdy Zndz Zod{ Zpd| Zqd} Zrd~ Zsd Ztd Zud Zvd Zwd Zxej                             d%          d             Zyd Zzd Z{d Z|d Z}d Z~dS )
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          g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/plotting/test_datetimelike.pytest_ts_plot_with_tzzTestTSPlot.test_ts_plot_with_tz0   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_correctly=   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MSd   r"   r!   r"   r      r$   r   (   -   c   )r   r   valuesr
   r>   r?   r@   rA   lenr)   r*   union)r1   idxrI   df2s       r6   test_frame_inferredzTestTSPlot.test_frame_inferredG   s    $<<<CJT222I!!!$$44c#hh]CC3
 
 
 	"'""" !B$iooc"R%j))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:   rQ   rR   r   rS   r$   )r   r   rW   r
   r>   r?   r@   rA   rX   r)   r*   r1   rZ   rI   s      r6   test_frame_inferred_n_gt_1z%TestTSPlot.test_frame_inferred_n_gt_1X   s    ,7BG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   rS   r$   )xerr)yerr)r>   arrayr
   r)   r*   )r1   ias      r6   test_is_error_nozeroindexz$TestTSPlot.test_is_error_nozeroindexa   sW    HYYYaq!!!!&q))))!&q))))))r8   c                 R   t          ddd          }t          g dg dd|          }t          j                                        \  }}|                    |           t          |                                          d	k    sJ t          j                            |           d S )
NrN   YErS   rQ   xyzrb   ABr4   r(   )	r   r
   rC   rD   rE   r*   rX   r-   close)r1   rZ   rI   figr4   s        r6   test_nonnumeric_excludez"TestTSPlot.test_nonnumeric_excludeh   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   rj   rS   rQ   rk   rb   ro   zno numeric data to plotmatchrp   )r   r
   pytestraises	TypeErrorr*   )r1   rZ   rI   msgs       r6   test_nonnumeric_exclude_errorz(TestTSPlot.test_nonnumeric_exclude_errorq   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/1999rP   rQ   r   rr   )r   r   r>   r?   r@   rA   rX   rC   rD   rE   r)   r*   r1   r"   rZ   serrJ   r4   s         r6   test_tsplot_periodzTestTSPlot.test_tsplot_periodx   s{    <dC@@@RY**1--==c#hhGGMM
##%%2#(r******r8   )	r~   r   r    r   r   MEzQE-DECrj   1B30Minc                 2   t          d|d          }t          t          j                            d                              t          |                    |          }t          j        	                                \  }}t          |j        |           d S r   )r   r   r>   r?   r@   rA   rX   rC   rD   rE   r)   r*   r   s         r6   test_tsplot_datetimezTestTSPlot.test_tsplot_datetime   s}     D#>>>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   c                    t          t          j        dt          j                  t	          dd                    }d}t          j        t          |          5  |                    dd	
           d d d            n# 1 swxY w Y   |	                    d          }t          j        t          |          5  |                    dd	
           d d d            d S # 1 swxY w Y   d S )Nr:   r   r   r   r$   zCannot pass 'style' string with a color symbol and 'color' keyword argument. Please use one or the other or pass 'style' without a color symbolrw   zb-z#000099)r   r   T)drop)
r   r>   r   r   r   ry   rz   
ValueErrorr*   reset_index)r1   r3   r|   r~   s       r6   test_both_style_and_colorz$TestTSPlot.test_both_style_and_color   sj   Ib
+++:lTV3W3W3W
 
 
% 	
 ]: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 NNN%%]:S111 	0 	0FFYF///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s$   B  BB<C!!C%(C%msusc                 2   t           j                                        \  }}t          dd|          }t	          t
          j                            d                              t          |                    |          }t          |j        |           d S )N1/1/2012rP   r!   r"   r   rr   )rC   rD   rE   r   r   r>   r?   r@   rA   rX   r)   r*   )r1   r"   rJ   r4   rngr   s         r6   test_high_freqzTestTSPlot.test_high_freq   s{    
##%%2St<<<RY**1--==c#hhGGMM#(r******r8   c                    ddl m}  |d d          J  |dd          dk    sJ  |t          dd          d          t          dd          j        k    sJ  |dd          t          d	d          j        k    sJ d S )
Nr   )get_datevaluer     r   r   z1987-12rN   z1987-1-1)%pandas.plotting._matplotlib.converterr   r   ordinal)r1   r   s     r6   test_get_datevaluezTestTSPlot.test_get_datevalue   s    GGGGGG}T3''///}T3''4////}VD#..44y#8N8N8VVVVV}Z--
C1H1H1PPPPPPPr8   c                 Z   d }t          dt          ddd                    }t          j                                        \  }}|                    |            ||d	           t          dt          ddd
                    }|                    |            ||d           d S )Nc                     |                                  d         }|                                d         j        }|                                d         }||                     ||          k    sJ d S )Nr   )r-   r.   r   	get_ydataformat_coord)r4   expected_string
first_linefirst_xfirst_ys        r6   check_format_of_first_pointzITestTSPlot.test_ts_plot_format_coord.<locals>.check_format_of_first_point   sh    *J **,,Q/7G **,,Q/G"boogw&G&GGGGGGGr8   r(   z
2014-01-01rS   zYE-DECr   r$   rr   zt = 2014  y = 1.000000r   zt = 2014-01-01  y = 1.000000)r   r   rC   rD   rE   r*   )r1   r   annualrJ   r4   dailys         r6   test_ts_plot_format_coordz$TestTSPlot.test_ts_plot_format_coord   s    	H 	H 	H L!(!S!S!STTT
##%%2r##B(@AAA q
< M M MNNN

b
##B(FGGGGGr8   c                    t          d|d          }t          t          j                            d                              t          |                    |          }t          |j        |j	        j
                   d S Nr   rP   rQ   r   )r   r   r>   r?   r@   rA   rX   r)   r*   r%   r"   r1   r"   rZ   r   s       r6   test_line_plot_period_seriesz'TestTSPlot.test_line_plot_period_series   se    <dC@@@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   rX   r)   r*   r%   r"   	rule_code)r1   r   rZ   r~   s       r6    test_line_plot_period_mlt_seriesz+TestTSPlot.test_line_plot_period_mlt_series   sj     <fcBBB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   rX   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   QErj   c                    t          d|d          }t          t          j                            d                              t          |          df          |g d          }t          |j        |j	        j
                   d S )Nr   rP   rQ   r   rS   rp   rq   Cr%   columns)r   r
   r>   r?   r@   rA   rX   r)   r*   r%   r"   r1   r"   rZ   rI   s       r6   test_line_plot_period_framez&TestTSPlot.test_line_plot_period_frame   s}    D#>>>I!!!$$44c#hh]CC#OO
 
 

 	"'28=11111r8   c                 v   t          d|d          }t          t          j                            d                              t          |          df          |g d          }t          d|j        j	        j
                  }|j                            |          j	        }t          |j        |           d S 	Nr   rP   rQ   r   rS   r   r   r(   )r   r
   r>   r?   r@   rA   rX   r	   r%   r"   r   asfreqr)   r*   )r1   r   rZ   rI   r"   s        r6   test_line_plot_period_mlt_framez*TestTSPlot.test_line_plot_period_mlt_frame   s     <fcBBBI!!!$$44c#hh]CC#OO
 
 

 &a)@AAxt$$)"'4(((((r8   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 v   t          d|d          }t          t          j                            d                              t          |          df          |g d          }t          d|j        j	        j
                  }|j                            |          j	        }t          |j        |           d S r   )r   r
   r>   r?   r@   rA   rX   r	   r%   r"   r   	to_periodr)   r*   r   s       r6   test_line_plot_datetime_framez(TestTSPlot.test_line_plot_datetime_frame   s    
 D#>>>I!!!$$44c#hh]CC#OO
 
 

 &a)@AA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   rP   rQ   r   )r   rS         )r   r   r>   r?   r@   rA   rX   rW   r   asarrayr%   r)   r*   inferred_freqilocr   s       r6   test_line_plot_inferred_freqz'TestTSPlot.test_line_plot_inferred_freq  s     D#>>>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$   rS   r   rr   r"   )
rC   rD   rE   r   r   rB   rX   r   r*   hasattr)r1   rJ   r4   r   r3   s        r6   test_fake_inferred_businessz&TestTSPlot.test_fake_inferred_business  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:   rQ   r   r$   )	r   r   r>   r?   r@   rA   rX   r)   r*   r1   drr   s      r6   test_plot_offset_freq_businessz)TestTSPlot.test_plot_offset_freq_business  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(   r      r   r$   )
r   r   r   r>   r?   r@   rA   rX   r)   r*   r   s      r6    test_plot_multiple_inferred_freqz+TestTSPlot.test_plot_multiple_inferred_freq#  s    HT1a(((4A*>*>qRT@U@UVWWRY**1--==c"ggFFbQQQ#(#####r8   zApi changed in 3.6.0)reasonc                    dd l mc mc m} t	          ddd          }t          t          j                            d          	                    t          |          df          |          }t          j                                        \  }}|                    |           |                                }|                                }|                                }t%          ||          D ]e\  }	}
|                    |	                              d	          }t+          |
                                          }t          |          r||k    sJ fd S )
Nr   z2012-6-22 21:59:51.960928r     rQ   r   r$   rr   %H:%M:%S.%f)r   plotting_matplotlib	converterr   r
   r>   r?   r@   rA   rX   rC   rD   rE   r*   	get_xaxisget_ticklocsget_ticklabelszip_from_ordinalstrftimestrget_text)r1   convrZ   rI   rJ   r4   axistlocstlabelslocrK   xprss                r6   test_uhfzTestTSPlot.test_uhf(  sP   <<<<<<<<<<<<44MMMI!!!$$44c#hh]CC3
 
 
 
##%%2
2||~~!!##%%''eW-- 	  	 JC##C((11-@@BU^^%%&&B2ww  Rxxxx		  	 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:   rQ   r   r$   )r   r(   rS      rr   r   )QΠE>r(   :0yE>)r   r
   r>   r?   r@   rA   rX   r   rC   rD   rE   r*   r   r-   
get_xydatadifffabsall)r1   rZ   rI   irregrJ   r4   diffssecs           r6   test_irreg_hfzTestTSPlot.test_irreg_hf=  s   -CD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:   rQ   r   r$   rr   r   r  r(   r  )r   r
   r>   r?   r@   rA   rX   rC   rD   rE   r%   astypeobjectr*   r   r-   r  r  r  r  )r1   rZ   r[   rJ   r4   r  r  s          r6   test_irreg_hf_objectzTestTSPlot.test_irreg_hf_objectK  s   -CD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 ]\  }}||k    sJ d S )	Nr:   r   r   r   r$   )r   r(   r      rr   r   )r   r>   r   r   r   r   rC   rD   rE   r*   r   r-   r.   r%   )r1   r   rJ   r4   retr  r  s          r6   "test_irregular_datetime64_repr_bugz-TestTSPlot.test_irregular_datetime64_repr_bugW  s    Ib
+++:lTV3W3W3W
 
 
 h|||$
##%%2hh"hoo",,..+5577CC 	 	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   rw   rq   startr!   r"   rr   r&   data)r   rB   r   r%   to_timestamptmassert_produces_warningFutureWarningrX   rC   rD   rE   r*   r-   r  r   r.   r   freqstr)r1   btsr|   dtrJ   r4   rZ   s          r6   test_business_freqzTestTSPlot.test_business_freqe  s   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 )Ni,  r   r   rq   r   r$   BMEr   rr   r   r&   r!  )r   r>   r   r   r   r   r   rC   rD   rE   r*   r-   r  r%   r   r.   r   r'  )r1   r(  r3   rJ   r4   rZ   s         r6   test_business_freq_convertz%TestTSPlot.test_business_freq_convertr  s   Ic,,,\3SAAA
 
 
 &-- 	 ]]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$   rr   r   z)freq not specified and cannot be inferredrw   r!  )r   r   r>   r   r   r   r   rC   rD   rE   r*   r-   r.   ry   rz   r   r   )r1   r"   r(  rJ   r4   rZ   r|   s          r6   test_freq_with_no_period_aliasz)TestTSPlot.test_freq_with_no_period_alias~  s(   }}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$   rr   r   )r   r   r
   r>   r   rC   rD   rE   r*   r-   r.   r   is_normalized)r1   rZ   rI   rJ   r4   r  s         r6   test_nonzero_basezTestTSPlot.test_nonzero_base  s    r<<<yQS?T?T?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 )	Nrg   r:   r   r   r   r$   rr   r   )r
   r   r>   r   r   r   rC   rD   rE   r*   r-   r.   r$  assert_index_equalr%   r   r   )r1   r(  rJ   r4   rZ   s        r6   test_dataframezTestTSPlot.test_dataframe  s    V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   r   r$   r(   rg   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 |                                }t           j                            |           d S )
Nrr   r   r   r(   r:   1/1/2000z4/1/2000r   r
  )rC   rD   rE   r*   get_xlimset_xlimr   r"   intr   r   
get_figurers   )r1   r:  rJ   r4   xlimresultexpectedrt   s           r6   test_axis_limitszTestTSPlot.test_axis_limits  s   4 
##%%2B{{}}
DGaKa2...ayDGaK''''ayDGbL(((( :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mmoo
r8   c                 :   dd l mc mc m} |                    t          d                    |j        k    sJ |                    t          d                    |j        k    sJ |                    t          d                    |j        k    sJ |                    t          d                    |j        k    sJ |                    t          d                    |j	        k    sJ |                    t          d                    |j        k    sJ d S )Nr   rq   r   r   r   rj   r   )
r   r   r   r   
get_finderr   _daily_finder_monthly_finder_quarterly_finder_annual_finder)r1   r   s     r6   test_get_finderzTestTSPlot.test_get_finder  s   <<<<<<<<<<<<y~~..$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:   rT      i  i  i
  '  z#Period with BDay freq is deprecatedrw   z1999-1-1rq   rR   r   r   rr   r   ?)r$  r%  r&  r   r   rX   r   r   r>   r?   r@   rA   rC   rD   rE   r*   r   appendget_majorticklocsr?  r@  rs   rB  )r1   day_lstr|   xpl1xpl2rs1rs2nr   r   rJ   r4   xaxisvminvmaxs                  r6   test_finder_dailyzTestTSPlot.test_finder_daily  s   6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1987Q2r
  r   r   r   rr   r   rQ  r   r   rX   r   rA  r   r>   r?   r@   rA   rC   rD   rE   r*   r   rR  rS  r?  r@  rs   rB  r1   yrsrU  rV  rW  rX  rY  r   r   rJ   r4   rZ  r[  r\  s                 r6   test_finder_quarterlyz TestTSPlot.test_finder_quarterly  s{   Bih''/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      @r
  r   zJan 1988r`     r   r   r   rr   r   rQ  ra  rb  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 )	Nr_  i   r   r   r   rr   r   1989Q1)r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r   rS  r   r   )r1   r   r   rJ   r4   rZ  r  r  s           r6   test_finder_monthly_longz#TestTSPlot.test_finder_monthly_long#  s    8W3???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    rl    i  i  iz  c                 :    g | ]}t          |d           j        S )r   rR   )r   r   .0rl   s     r6   
<listcomp>z1TestTSPlot.test_finder_annual.<locals>.<listcomp>/  s(    666afQS!!!)666r8   )r   r:      1   rV      iW  i  1987r   r   r   rr   r   )r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r   rR  rS  rs   rB  )	r1   r  r  nyearsr   r   rJ   r4   rZ  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MinrQ   r   rr   r   rR   r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r   rS  r   r   )	r1   nminutesr   r   rJ   r4   rZ  r  r  s	            r6   test_finder_minutelyzTestTSPlot.test_finder_minutely<  s    %B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   ry  r    rQ   r   rr   r   rR   r{  )	r1   nhoursr   r   rJ   r4   rZ  r  r  s	            r6   test_finder_hourlyzTestTSPlot.test_finder_hourlyI  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 t          j                            |                                           d S )Nr2  r   r   r   r$   r      rr   r(   r   mask
fill_value)r   r>   r   r   r   nanr   rC   rD   rE   r*   r-   rX   r  maMaskedArrayr   
isinstancecorer  r  rs   rB  r1   r3   rJ   r4   linesliner"  r  s           r6   	test_gapszTestTSPlot.test_gapsU  s=   Ib
+++:lTV3W3W3W
 
 
 "
##%%2
25zzQQx  u  DJJ26 JJ$
 677777yAbD!G}  """""
)))))r8   c                 2   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 t          j                            |                                           d S )Nr2  r   r   r   r$   	r   r(   r   r   r  r;   rf        r   r   rr   r(   r   r  )r   r>   r   r   r   r   r  rC   rD   rE   r*   r-   rX   r  r  r  r   r  r  r  r  rs   rB  r  s           r6   test_gaps_irregularzTestTSPlot.test_gaps_irregularh  sP   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 )Nr  r   r   rr   r(   r   r  )r   r>   r?   r@   rA   rX   r  r   rC   rD   rE   r*   r-   r  r  r  r   r  r  r  r  )	r1   rZ   r   rJ   r4   r  r  r"  r  s	            r6   test_gaps_non_tszTestTSPlot.test_gaps_non_ts}  s#   ,,,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 )Nr2  r   r   r   r$   r   r  rr   r   r'   12hrR   r   Tsecondary_yr(   r  )r   r>   r   r   r   r  r   rC   rD   rE   r*   r%   r?   r@   rA   rX   r-   right_axr  r  r  r   r  r  r  r  )
r1   lowrJ   r4   idxhr~   r  r  r"  r  s
             r6   test_gap_upsamplezTestTSPlot.test_gap_upsample  s   Ib
+++:lTV3W3W3W
 
 
 2
##%%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AbD!G}  """""""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 t
          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_visiblers   )r1   r   rt   rJ   r4   axesr  r  s           r6   test_secondary_yzTestTSPlot.test_secondary_y  sA   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
r8   c                 *   t          t          j                            d                              d                     t          t          j                            d                              d                    }t
          j                                        \  }}|                    |           |	                                
                                dk    sJ t
          j                            |                                           d S )Nr   r:   rr   left)r   r>   r?   r@   rA   rC   rD   rE   r*   r  r  rs   rB  )r1   ser2rJ   ax2s       r6   test_secondary_y_yaxisz!TestTSPlot.test_secondary_y_yaxis  s    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                 b   t          dd          }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 t          j                            |           d S )Nr>  r:   r   r   Tr  r  r  r   r  )r   r   r>   r?   r@   rA   rC   rD   rE   r*   r   r  r-   r   r.   r#  r$  r  r  r  r  rs   )	r1   rZ   r   rt   rJ   r4   r  r  r  s	            r6   test_secondary_y_tszTestTSPlot.test_secondary_y_ts  sa   R000RY**1--==bAA3GG$$&&QXX$X''r9%%%%%2z*****||~~||~~a DNN$$dnn&6&677DDFF
sB'''||~~0022g====7$$&&2244444
r8   c                    t          dd          }t          t          j                            d                              d          |          }t          j                                        \  }}|	                    |           |
                                                                dk    sJ t          j                            |                                           d S )Nr>  r:   r   r   rr   r  )r   r   r>   r?   r@   rA   rC   rD   rE   r*   r  r  rs   rB  )r1   rZ   r  rJ   r  s        r6   test_secondary_y_ts_yaxisz$TestTSPlot.test_secondary_y_ts_yaxis  s    R0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   rZ   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  )ry   importorskipr   r>   r?   r@   rA   rC   rD   rE   r*   r   r  r  r  r1   r   rt   r4   r  s        r6   test_secondary_kdezTestTSPlot.test_secondary_kde  s    G$$$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   rS   rg   r<  cr   rg   r  T)r  rE   r   r  r(   r  r
   r>   r?   r@   rA   r*   r  r  r1   rI   r  s      r6   test_secondary_framezTestTSPlot.test_secondary_frame  s    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  rg   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 Nr  r   r   rq   r   r$   r   r   r:   r   rf        r  rr   gr   r  rw   r   r(   r'   )r   r>   r   r   r   r   rC   rD   rE   r*   r-   r$  r%  r&  r   r.   r8  r%   r   r?  r   r1   s1s2rJ   r4   r  r  r|   idx1idx2r  r  pidxs                r6   test_mixed_freq_regular_firstz(TestTSPlot.test_mixed_freq_regular_first  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 Nr  r   r   r   r$   r  r  r   rr   r"   r   r(   )r   r>   r   r   r   r   rC   rD   rE   r*   r   r-   r.   r$  assert_numpy_array_equalr%   r  r  rW   r1   r  r  rJ   r4   r  x1x2s           r6   test_mixed_freq_irregular_firstz*TestTSPlot.test_mixed_freq_irregular_first!  s(   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_df0  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  rW   r  s           r6   "test_mixed_freq_irregular_first_dfz-TestTSPlot.test_mixed_freq_irregular_first_dfF  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 )
Nry  m  r   r   rf  r   r   rr   r!  r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r-   r   r.   r"   r1   r  idxlhighr  rJ   r4   r  s           r6   test_mixed_freq_hf_firstz#TestTSPlot.test_mixed_freq_hf_firstV  s   *c<<<*bt<<<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    rR   r   rf  r$   r   rr   rr   r   r(   )r   r>   r?   r@   rA   r   r   interpolaterC   rD   rE   r*   r  r.   )r1   ts_indts_datar3   ts2rJ   r4   s          r6   test_mixed_freq_alignmentz$TestTSPlot.test_mixed_freq_alignmenta  s    .3G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 )Nry  r  r   r   rf  r   r   T)legendr4   r!  )r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r-   r   r.   r"   
get_legendtextsrs   rB  )	r1   r  r  r  r  rJ   r4   r  legs	            r6   test_mixed_freq_lf_firstz#TestTSPlot.test_mixed_freq_lf_firstn  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 )
Nry     r   r   r
  r    r   rr   r!  r  r  s           r6   test_mixed_freq_lf_first_hourlyz*TestTSPlot.test_mixed_freq_lf_first_hourly|  s   *c>>>*ac:::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 )Nr2  r   r   r   r$   )r   r(   r   rS   r
  r   r   r     r;   r:   r              r  rw   z1/3/2000rq   r   r   rr   )r   r>   r   r   r   r   r$  r%  r&  r   r?   r@   rA   rX   rC   rD   rE   r*   )r1   r3   r  r|   r   psrJ   r4   s           r6   test_mixed_freq_irreg_periodz'TestTSPlot.test_mixed_freq_irreg_period  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-01rS   r   r   r(   r   T)nrowssharexrr   r   r   r&   )r   rY   r   rB   rX   rC   rD   rE   r*   r"   r  r  r1   r  r  r  r  rJ   ax1r  s           r6   test_mixed_freq_shared_axz$TestTSPlot.test_mixed_freq_shared_ax  s   ,===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  rS   r   r   r(   r   rr   r   r&   r   rY   r   rB   rX   rC   rD   rE   twinxr*   r  r  r	  s           r6    test_mixed_freq_shared_ax_twin_xz+TestTSPlot.test_mixed_freq_shared_ax_twin_x  s    ,===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)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  rS   r   r   r(   r   rr   r   r&   r  r	  s           r6   0test_mixed_freq_shared_ax_twin_x_irregular_firstz;TestTSPlot.test_mixed_freq_shared_ax_twin_x_irregular_first  s     ,<<<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-03rr   r   )rC   rD   rE   r   r   r   rB   rX   r*   r-   r.   r%   r   max)r1   rJ   r4   dtir~   r5   s         r6   test_nat_handlingzTestTSPlot.test_nat_handling  s    
##%%2\3=>>5S??C((	"q!++--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 )Nry  4   r   r   rf  r   r   rr   zz'how' is not a valid keyword for plotting functions. If plotting multiple objects on shared axes, resample manually first.rw   foo)r4   how)r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   ry   rz   r   )r1   r  r  r  r  rJ   r4   r|   s           r6   *test_to_weekly_resampling_disallow_how_kwdz5TestTSPlot.test_to_weekly_resampling_disallow_how_kwd  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 )
Nry  r  r   r   rf  r   r   rr   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 )Nry  r  r   r   rf  r   r   rr   i  i  i  i  i  i   i  i  i  i  i  i  r   r!  Forig)r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r   asi8r  r   re   r-   r   r.   r"   r$  r  )r1   r  r  r  r  rJ   r4   
expected_h
expected_lr  r5   s              r6   test_from_weekly_resamplingz&TestTSPlot.test_from_weekly_resampling  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)r  area)r%  r  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 )Nry  r  r   r   rf  r   r   rS   r   r(   r   r   Tr  stackedr4   r  r   Fr  r!  )r   r
   r>   r?   r@   rX   rC   rD   rE   r*   re   r   zerosrB   r  r   r.   r"   r$  r  rW   r   r   r!  r  )r1   kind1kind2r  r  r  r  rJ   r4   
expected_x
expected_yrf   r  s                r6   $test_from_resampling_area_line_mixedz/TestTSPlot.test_from_resampling_area_line_mixed  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 )Nry  r  r   r   rf  r   r   rS   r'  r   Tr(  r   r!  Fr  r  )r   r
   r>   r?   r@   rX   rC   rD   rE   r*   r   r!  r  r   r*  rB   r  r   r.   r"   r$  r  rW   r   re   )r1   r+  r,  r  r  r  r  rJ   r4   r-  r.  rf   r  r  s                 r6   0test_from_resampling_area_line_mixed_high_to_lowz;TestTSPlot.test_from_resampling_area_line_mixed_high_to_low2  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~   2   rQ   100msr   r   rr   r!  r   r  r  s           r6   "test_mixed_freq_second_millisecondz-TestTSPlot.test_mixed_freq_second_millisecondh  s@   ,3CCC,7CHHH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 r3  r  r  s           r6   .test_mixed_freq_second_millisecond_low_to_highz9TestTSPlot.test_mixed_freq_second_millisecond_low_to_highv  s@   ,3CCC,7CHHH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   r  r   rS   r   )r   r
   r>   r?   r@   rA   rX   r   r  r)   r*   r_   s      r6   test_irreg_dtypeszTestTSPlot.test_irreg_dtypes  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   rS   rr   )r   r  r  r
   r>   r?   r@   rA   rX   rC   rD   rE   r)   r*   )r1   rZ   rI   rJ   r4   s        r6   test_irreg_dtypes_dt64z!TestTSPlot.test_irreg_dtypes_dt64  s    R000,,,&&v..ry,,Q//??S1NNPSTT
##%%2"'b))))))r8   c                 d   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 ]\  }}	t#          t%          |          d          \  }
}t#          |
d          \  }}
|	                                }t          |          dk    rW|dk    r%t)          ||
|                              d          }n$t)          ||
|                              d          }||k    sJ d S )Nr(   rS   r2  r   r   r  c                 t    g | ]4}t          t          |                     z                                   5S r3  r   rA  r   rp  rl   ts     r6   rq  z(TestTSPlot.test_time.<locals>.<listcomp>  ;    NNN!Ic!ff5555;;==NNNr8   r;  r$   rr   <   %H:%M:%S%H:%M)r   r>   r?   r@   integerscumsumre   r
   rA   rX   rC   rD   rE   r*   
get_xticksrF   r   divmodrA  r   r   r   r1   deltasr3   rI   rJ   r4   tickslabels_tick_labelmr~   r    r  r  rB  s                  @r6   	test_timezTestTSPlot.test_time  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 ##%% // 		  		 ME6#e**b))DAq!R==DAq""B2ww{{66aA//
;;BBaA//88BRxxxx		  		 r8   c                 n   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 ]\  }}	t#          t%          |          d          \  }
}t#          |
d          \  }}
|	                                }t          |          dk    rW|dk    r%t)          ||
|                              d          }n$t)          ||
|                              d          }||k    sJ |                    dd           |                                }|                                }t!          ||          D ]\  }}	t#          t%          |          d          \  }
}t#          |
d          \  }}
|	                                }t          |          dk    rW|dk    r%t)          ||
|                              d          }n$t)          ||
|                              d          }||k    sJ d S )Nr(   rS   r2  r   r   r  c                 t    g | ]4}t          t          |                     z                                   5S r?  r@  rA  s     r6   rq  z4TestTSPlot.test_time_change_xlim.<locals>.<listcomp>  rC  r8   r;  r$   rr   rD  rE  rF  z1:30z5:00)r   r>   r?   r@   rG  rH  re   r
   rA   rX   rC   rD   rE   r*   rI  rF   r   rJ  rA  r   r   r   r@  rK  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 ##%% // 		  		 ME6#e**b))DAq!R==DAq""B2ww{{66aA//
;;BBaA//88BRxxxx 	FF### ##%% // 		  		 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 ]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(   rS   r2  r   r   r  c                 t    g | ]4}t          t          |                     z                                   5S ))microsecondsr@  rA  s     r6   rq  z.TestTSPlot.test_time_musec.<locals>.<listcomp>  s;    SSSqI3q66::::@@BBSSSr8   r;  r$   rr   rD  g    .Ai  r   rE  rF  )r   r>   r?   r@   rG  rH  re   r
   rA   rX   rC   rD   rE   r*   rI  rF   r   rJ  rA  roundr   r   r   )r1   rL  r3   rI   rJ   r4   rM  rN  rO  rP  rQ  r~   r   r    r  r  rB  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^^ ##%% // 	  	 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 )Nry  r  r   r   rf  r   r   rr   Tr  r4   r  r  )r   r   r>   r?   r@   rA   rX   rC   rD   rE   r*   r-   r   r.   r"   r   r  r  s           r6   test_secondary_upsamplez"TestTSPlot.test_secondary_upsample  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 t           j                            |           d S )N   r   r:   r
  ABCDr   
2000-01-01r:   rq   r   r   r%   rp   r]  r
  r   	A (right)r(   z	B (right)r   rS   r   )rC   rD   figureadd_subplotr
   r>   r?   r@   rA   r   listr  r   r*   r  rX   r-   	get_textsr   r  setaddr   rs   )r1   rt   r4   rI   r  colorsr  s          r6   test_secondary_legendz TestTSPlot.test_secondary_legend  s   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 t          j
                            |           d S )Nr   ra  rb  r   rc  r:   rq   r   rd  r`  rp   r   F)r  
mark_rightr4   r
  r   r(   rS   r   )r
   r>   r?   r@   rA   r   rh  r  r   rC   rD   rf  rg  r*   r  rX   r-   ri  r   rs   r1   rI   rt   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
r8   c           	         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 t          j
                            |           d S )Nr   ra  rb  r   rc  r:   rq   r   rd  r  rp   )r  r  r4   r   re  r(   r
   r>   r?   r@   rA   r   rh  r  r   rC   rD   rE   r*   r  ri  r   rs   rp  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
r8   c           	         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 t          j
                            |           d S )Nr   ra  rb  r   rc  r:   rq   r   rd  r  rp   F)r  r  ro  r4   r   r(   rs  rp  s        r6   test_secondary_legend_bar_rightz*TestTSPlot.test_secondary_legend_bar_rightH  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
r8   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 t          j
                            |           d S )Nr   ra  rb  r   rc  r:   rq   r   rd  r`  r   r   r]  r
  )r
   r>   r?   r@   rA   r   rh  r  r   rC   rD   rf  rg  r*   r  rX   r-   r  rj  rk  r   rs   r1   rI   rt   r4   r  rl  r  s          r6   test_secondary_legend_multi_colz*TestTSPlot.test_secondary_legend_multi_colU  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   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 t          j	                                         d S )N皙?x   r2  r
  rb  r   c                     g | ]}d | S zi- rp  rf   s     r6   rq  z:TestTSPlot.test_secondary_legend_nonts.<locals>.<listcomp>s      555aa555r8   r2  rd  r`  rp   rq   r]  r
  )r
   r>   r   reshaper   rh  r  rB   rC   rD   rf  rg  r*   r  rX   r-   r  rj  rk  r   rs   rx  s          r6   test_secondary_legend_nontsz&TestTSPlot.test_secondary_legend_nontsn  sh   ")C..((111$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 )Nr{  r|  r}  rb  r   c                     g | ]}d | S r  r  r  s     r6   rq  zDTestTSPlot.test_secondary_legend_nonts_multi_col.<locals>.<listcomp>  r  r8   r2  rd  r`  r   r   r]  r
  )r
   r>   r   r  r   rh  r  rB   rC   rD   rf  rg  r*   r  rX   r-   r  rj  rk  r   rx  s          r6   %test_secondary_legend_nonts_multi_colz0TestTSPlot.test_secondary_legend_nonts_multi_col  sT   ")C..((111$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dd          }t          t          j                            d                              t          |          df          |          }t          j        	                                \  }}|
                    |          }|                                }|                                D ]A}t          |                                          dk    r|                                d	k    sJ Bd S )
Nr   rf  r   r   r   rS   rr   r   r2  )r   r
   r>   r?   r@   rA   rX   rC   rD   rE   r*   r   r   r   get_rotation)r1   r   rI   rJ   r4   rZ  r  s          r6   test_format_date_axisz TestTSPlot.test_format_date_axis  s    Rd;;;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   rh  rB   rX   rC   rD   rE   r*   r$  r8  r   r.   )r1   rl   rm   rJ   r4   r  s         r6   test_ax_plotzTestTSPlot.test_ax_plot  s    \2C@@@s1vv
##%%21C((
mE!H,>,>,@,@AA1EEEEEr8   c           	         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             t          j                  }t          j
        |                                d d df         |           d S )N  rf     i  r(   g      $@g      &@g      ?g      (@c                 6    g | ]}|                                 S r  	toordinalro  s     r6   rq  z0TestTSPlot.test_mpl_nopandas.<locals>.<listcomp>       ***qQ[[]]***r8   -c                 6    g | ]}|                                 S r  r  ro  s     r6   rq  z0TestTSPlot.test_mpl_nopandas.<locals>.<listcomp>  r  r8   r
  )	linewidthc                 6    g | ]}|                                 S r  r  ro  s     r6   rq  z0TestTSPlot.test_mpl_nopandas.<locals>.<listcomp>       555!555r8   r   r   c                 6    g | ]}|                                 S r  r  ro  s     r6   rq  z0TestTSPlot.test_mpl_nopandas.<locals>.<listcomp>  r  r8   )r   r>   r   rC   rD   rE   r*   re   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h55u555RZHHH
#E$4$4$6$6qqq!t$<cBBBBBr8   c                 d   ddl m} t          t          j        dt          j                  t          dd                    }|j        g d         }t          j	        
                                \  }}|d d	                             |
           |d	d                              |
           |                                \  }}||                    |j                                        d|          k    sJ ||                    |j                                        d|          k    sJ d S )Nr   DatetimeConverterr  r   r   r   r$   r(   r
  r   r   r  r;   r:   rf  r  r  r  r   r  r   rr    r   r  r   r>   r   r   r   r   rC   rD   rE   r*   r?  convertr%   r   r  r1   r  r3   ts_irregularrJ   r4   r  r  s           r6    test_irregular_ts_shared_ax_xlimz+TestTSPlot.test_irregular_ts_shared_ax_xlim  s:   KKKKKKIb
+++:lTV3W3W3W
 
 
 wMMMN 
##%%2RaR$$$QRR$$$ kkmme(001C1G1G1I1I2rRRRRRR)11,2D2H2H2J2JBPRSSSSSSSSr8   c                 r   g d}g d}t          d|          }t          d|          }t          j                                        \  }}|                    |           |                                \  }}|                    d|           |                                \  }	}
||	k    sJ ||
k     sJ d S )	N)r(   r   rS   r
  )r   r   r  r  r(   r$   r   rr   Tr]  )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 )Nrc  r
  r   r  z
2000-01-05r(   r$   r   rr   Tr]  )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 )Nrc  rP  r   r   r(   r$   rr   r   Tr]  )	r   r   rC   rD   rE   r*   r?  resamplemean)	r1   r   r3   rJ   r4   r  r  r  r  s	            r6   #test_secondary_y_mixed_freq_ts_xlimz.TestTSPlot.test_secondary_y_mixed_freq_ts_xlim  s    u5AAAAS!!!
##%%2
2$&KKMM!\
C$$"$==="$++--
K j(((({******r8   c                    ddl m} t          t          j        dt          j                  t          dd                    }|j        g d         }t          j	        
                                \  }}|d d	                             |
           |d	d                              d|           |d d	                             |
           |                                \  }}||                    |j                                        d|          k    sJ ||                    |j                                        d|          k    sJ d S )Nr   r  r  r   r   r   r$   r  r   rr   Tr]  r  r  r  s           r6   "test_secondary_y_irregular_ts_xlimz-TestTSPlot.test_secondary_y_irregular_ts_xlim  sX   KKKKKKIb
+++:lTV3W3W3W
 
 
 wMMMN
##%%2RaR$$$QRR$2666RaR$$$kkmme(001C1G1G1I1I2rRRRRRR)11,2D2H2H2J2JBPRSSSSSSSSr8   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   rf  )r   rC   rD   rE   r*   r   )r1   rW   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>2dr  r  s     r6   rq  zATestTSPlot.test_format_timedelta_ticks_narrow.<locals>.<listcomp>!  s$    NNN16a666NNNr8   r:   0nsr   r   rS   r<   c                 6    g | ]}|                                 S r  r   ro  s     r6   rq  zATestTSPlot.test_format_timedelta_ticks_narrow.<locals>.<listcomp>*       666!666r8   )r>   r   r   r
   r?   r@   rA   rX   rC   rD   rE   r*   drawrF   r1   expected_labelsr   rI   rJ   r4   rN  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 dr   r   rS   r<   c                 6    g | ]}|                                 S r  r  ro  s     r6   rq  z?TestTSPlot.test_format_timedelta_ticks_wide.<locals>.<listcomp>B  r  r8   )r   r
   r>   r?   r@   rA   rX   rC   rD   rE   r*   r  rF   r  s           r6    test_format_timedelta_ticks_widez+TestTSPlot.test_format_timedelta_ticks_wide.  s    

 

 

 c2E:::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   rr   )r   rB   r   rC   rD   rE   r)   r*   )r1   r~   rJ   r4   s       r6   test_timedelta_plotzTestTSPlot.test_timedelta_plotF  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   rr   r   r   r>   r?   r@   rA   rX   rC   rD   rE   r)   r*   r1   r%   r~   rJ   r4   s        r6   test_timedelta_long_periodz%TestTSPlot.test_timedelta_long_periodL  s|     8"5Q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   rr   r  r  s        r6   test_timedelta_short_periodz&TestTSPlot.test_timedelta_short_periodS  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   rl   w1w2rJ   r4   s          r6   	test_histzTestTSPlot.test_histZ  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 )Nrb   rm  rf  r  r   i  r$   i  i  r  rr   )r   r   rC   rD   rE   r*   )r1   r  r  rJ   r4   s        r6   test_overlapping_datetimez$TestTSPlot.test_overlapping_datetimec  s    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%   rW   r  r  r  )r1   r~   r4   l1l2s        r6   test_add_matplotlib_datetime64z)TestTSPlot.test_add_matplotlib_datetime64}  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   rl   rm   r  z
2018-01-01r:   r   r   r   )rl   rm   r"  r   )r
   r>   r?   r@   r   rC   rD   rE   scatterr  rF   r   )r1   rI   rJ   r4   rK   rE  s         r6   "test_matplotlib_scatter_datetime64z-TestTSPlot.test_matplotlib_scatter_datetime64  s    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-03rb   rl   rm   rl   rm   r   xrotr   r
   r*   r   r1   rl   rI   r  s       r6   test_check_xticks_rotz TestTSPlot.test_check_xticks_rot  s_     B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-04rb   r  rl   rm   r2  r  r  r  s       r6   test_check_xticks_rot_irregularz*TestTSPlot.test_check_xticks_rot_irregular  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  rb   r  rl   rm   T)rm   	use_indexr2  r  Fr   )r   r
   	set_indexr*   r   r  s       r6   test_check_xticks_rot_use_idxz(TestTSPlot.test_check_xticks_rot_use_idx  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  rb   r  rl   rm   T)rl   rm   rE   r  r2  r  Fr   r  r  s       r6   test_check_xticks_rot_sharexz'TestTSPlot.test_check_xticks_rot_sharex  s    BBBCCQYYY//00wwd4w@@4b))))wwd5wAA4a((((((r8   N)__name__
__module____qualname__ry   markfilterwarningsr7   rL   r\   r`   rh   ru   r}   parametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   xfailr  r  r  r  r*  r-  r/  r6  r9  r   r>   r   r   r   r
   rF  rM  r]  rd  rg  rj  rw  slowr}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r$  r/  r1  r6  r8  r:  r<  rR  rU  r[  r^  rm  rq  rt  rv  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r8   r6   r   r   /   s       [ 566
< 
< 76
<- - -$ $ $"# # #* * *     [V%O%O%OPP+ + QP+ [LLL + + +6 6 60 0 0  [VdD\22+ + 32+Q Q QH H H$ [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 $ $ $' ' '$ $ $$ $ $
$ $ $
 [455    65 (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   	
 
 	
 , -  22E E E  0  ,  ,     [
 
 

 
 
* * *&* * **" " ""# # #.  + + +	, 	, 	,  + + +, , ,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= = =  4  "      2  *     ( [4551 1 651F F FC C C0T T T&* * * * * * + + +T T T(  0 0 00 0 00) ) )) ) )) ) )* * *  4 [QRRF F SRF	, 	, 	,) ) )* * *) ) )) ) ) ) )r8   r   c                 P   dd l m} |                                }	 |                                 |                    d          }|                    d|                                          }t          |dd           }	 | |i |}
|
J |                    d|                                          }|7|j        j	        }t          |t                    r|j        }|	|j	        |k    sJ |t          |j	        d          }|
|	||k    sJ |                    d          }||d<    | |i |}
|
J t          j        d          5 }t!          j        ||           d d d            n# 1 swxY w Y   |                    |           d S # |                    |           w xY w)	Nr   r`  r4   r"   T)	is_period   )return_filelike)matplotlib.pyplotrD   gcfclfrg  popgcagetattrr%   r"   r  r   r   r   r$  ensure_cleanpickledumprs   )fr"   seriesargskwargspltrt   r4   orig_axorig_axfreqr  dfreqax_freqpaths                 r6   r)   r)     s   ######
''))C			__S!!**T37799--gvt44a   ZZcggii((L%E%,, ("w%''''4888G 3d????__S!!ta    _T222 	#dKT"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 			#		#s0   D.F 
E, F ,E00F 3E04F F%)NN)+__doc__r   r   r   r   r  numpyr>   ry   pandas._libs.tslibsr   r   pandas._libs.tslibs.dtypesr	   pandasr
   r   r   r   r   r   r   pandas._testing_testingr$  pandas.core.indexes.datetimesr   r   r   pandas.core.indexes.periodr   r   r   pandas.core.indexes.timedeltasr   pandas.tests.plotting.commonr   pandas.tseries.offsetsr   r  rC   r   r)   r  r8   r6   <module>r%     s   B B                         > = = = = =                                
         
 ; : : : : : ; ; ; ; ; ; . . . . . .f,''J) J) J) J) J) J) J) J)Z4$ $ $ $ $ $r8   