a
    é´«jð ã                   @   sò   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 'd¡Z(G dd„ dƒZ)d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)ÚWeekOfMonthZ
matplotlibc                   @   sH  e Zd Zej d¡dd„ ƒZdd„ Zdd„ Zdd	„ Z	d
d„ Z
dd„ Zdd„ Zej dg d¢¡dd„ ƒZej dg d¢¡dd„ ƒZdd„ Zdd„ Zej dddg¡dd„ ƒZdd „ Zd!d"„ Zej dg d¢¡d#d$„ ƒZej d%g d&¢¡d'd(„ ƒZej dg d¢¡d)d*„ ƒZej dg d+¢¡d,d-„ ƒZej d%g d&¢¡d.d/„ ƒZej d0¡ej dg d¢¡d1d2„ ƒƒZej dg d¢¡d3d4„ ƒZd5d6„ Zd7d8„ Zd9d:„ Zd;d<„ Zejj d=d>�d?d@„ ƒZ!dAdB„ Z"dCdD„ Z#dEdF„ Z$dGdH„ Z%dIdJ„ Z&dKdL„ Z'dMdN„ Z(dOdP„ Z)ej dQ¡ej dRe*e+j,dSe+j-dT�e.dUdSdV�dW�e/e*e+j,dSe+j-dT�e.dUdSdV�dW�e*e+j,dSe+j-dT�e.dUdSdV�dW�dX dYœƒg¡dZd[„ ƒƒZ0d\d]„ Z1d^d_„ Z2d`da„ Z3dbdc„ Z4ddde„ Z5dfdg„ Z6ejj7dhdi„ ƒZ8djdk„ Z9dldm„ Z:dndo„ Z;dpdq„ Z<drds„ Z=dtdu„ Z>dvdw„ Z?dxdy„ Z@dzd{„ ZAd|d}„ ZBd~d„ ZCd€d�„ ZDd‚dƒ„ ZEd„d…„ ZFd†d‡„ ZGdˆd‰„ ZHdŠd‹„ ZIdŒd�„ ZJdŽd�„ ZKd�d‘„ ZLd’d“„ ZMd”d•„ ZNd–d—„ ZOej d0¡d˜d™„ ƒZPdšd›„ ZQdœd�„ ZRejj džd>�dŸd „ ƒZSd¡d¢„ ZTd£d¤„ ZUd¥d¦„ ZVd§d¨„ ZWej d©dªd«g¡d¬d­„ ƒZXej d©dªd«g¡d®d¯„ ƒZYd°d±„ ZZd²d³„ Z[d´dµ„ Z\d¶d·„ Z]d¸d¹„ Z^dºd»„ Z_d¼d½„ Z`d¾d¿„ ZadÀdÁ„ ZbdÂdÃ„ ZcdÄdÅ„ ZddÆdÇ„ ZedÈdÉ„ ZfdÊdË„ ZgdÌdÍ„ Zhejj d=d>�dÎdÏ„ ƒZidÐdÑ„ ZjdÒdÓ„ ZkdÔdÕ„ ZldÖd×„ ZmdØdÙ„ ZndÚdÛ„ ZodÜdÝ„ ZpdÞdß„ Zqdàdá„ Zrdâdã„ Zsdädå„ Ztdædç„ Zudèdé„ Zvdêdë„ Zwdìdí„ Zxejj dîd>�dïdð„ ƒZydñdò„ Zzdódô„ Z{dõdö„ Z|d÷dø„ Z}dùdú„ Z~dûS )üÚ
TestTSPlotzignore::UserWarningc                 C   s†   |}t ddd|d�}tddg|d�}t|jƒ | ¡ }tt| ¡ ƒƒ ¡ }|d j|d j	fd	ksfJ ‚|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)ÚselfZtz_aware_fixturer   r!   ÚtsÚaxÚxdata© r1   úf/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/plotting/test_datetimelike.pyÚtest_ts_plot_with_tz0   s    
zTestTSPlot.test_ts_plot_with_tzc                 C   sd   t tj d¡ d¡tdƒd�}tj ¡ \}}|j	d|d� | 
¡ | ¡  D ]}| ¡ dksJJ ‚qJd S )Nr   )é
   é	   r4   r    ©Zfontsizer/   )r	   ÚnpÚrandomÚdefault_rngÚstandard_normalÚrangeÚmplÚpyplotÚsubplotsr&   Úget_xticklabelsZget_yticklabelsZget_fontsize)r-   ÚdfÚ_r/   Úlabelr1   r1   r2   Útest_fontsize_set_correctly=   s    ÿz&TestTSPlot.test_fontsize_set_correctlyc                 C   s’   t dddd�}t|jd d�}ttj d¡ t|ƒdf¡|d�}t	|j
ƒ |d	d
…  |dd… ¡}ttj d¡ t|ƒdf¡|d�}t	|j
ƒ d S )Nú1/1/1987ZMSéd   ©r   r   ©r   r   é   r    r   é(   é-   éc   )r   r   Úvaluesr	   r7   r8   r9   r:   Úlenr%   r&   Úunion)r-   Úidxr@   Údf2r1   r1   r2   Útest_frame_inferredG   s    ÿ
ÿzTestTSPlot.test_frame_inferredc                 C   sL   t dddd�}t|jd d�}ttj d¡ t|ƒdf¡|d�}t	|j
ƒ d S )	Nz2008-1-1 00:15:00Z15minr4   rF   rG   r   rH   r    )r   r   rL   r	   r7   r8   r9   r:   rM   r%   r&   ©r-   rO   r@   r1   r1   r2   Útest_frame_inferred_n_gt_1X   s    ÿz%TestTSPlot.test_frame_inferred_n_gt_1c                 C   s:   t  g d¢¡}t||d�}t|j|d� t|j|d� d S )N©r$   r   rH   r    )Zxerr)Zyerr)r7   Úarrayr	   r%   r&   )r-   ÚiÚar1   r1   r2   Útest_is_error_nozeroindexa   s    z$TestTSPlot.test_is_error_nozeroindexc                 C   sd   t dddd�}tg d¢g d¢dœ|ƒ}tj ¡ \}}|j|d� t| ¡ ƒd	ksTJ ‚tj |¡ d S )
NrD   ÚYErH   rF   ©ÚxÚyÚzrT   ©ÚAÚB©r/   r$   )	r   r	   r<   r=   r>   r&   rM   r)   Úclose)r-   rO   r@   Úfigr/   r1   r1   r2   Útest_nonnumeric_excludeh   s    z"TestTSPlot.test_nonnumeric_excludec                 C   sh   t dddd�}tg d¢g d¢dœ|ƒ}d}tjt|d	�� |d
  ¡  W d   ƒ n1 sZ0    Y  d S )NrD   rY   rH   rF   rZ   rT   r^   zno numeric data to plot©Úmatchr_   )r   r	   ÚpytestÚraisesÚ	TypeErrorr&   )r-   rO   r@   Úmsgr1   r1   r2   Útest_nonnumeric_exclude_errorq   s
    z(TestTSPlot.test_nonnumeric_exclude_errorr   )ÚsÚminr   ÚDÚWÚMÚQÚYc                 C   sJ   t d|dd�}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}t
|j|d� d S ©Nú
12/31/1999rE   rF   r   ra   )r   r   r7   r8   r9   r:   rM   r<   r=   r>   r%   r&   ©r-   r   rO   ÚserrA   r/   r1   r1   r2   Útest_tsplot_periodx   s    zTestTSPlot.test_tsplot_period)	rl   rm   r   rn   ro   ÚMEzQE-DECrY   Z1B30Minc                 C   sJ   t d|dd�}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}t
|j|d� d S rs   )r   r   r7   r8   r9   r:   rM   r<   r=   r>   r%   r&   ru   r1   r1   r2   Útest_tsplot_datetime   s    zTestTSPlot.test_tsplot_datetimec                 C   s\   t tjdtjd�tddd�d�}tj ¡ \}}|jd|d� d}|| 	¡ d	  
¡ ksXJ ‚d S )
Nr4   ©Zdtypeú
2020-01-01©r   r    Úk©Ústyler/   )ç        r€   r€   r$   r   )r   r7   ÚarangeÚfloat64r   r<   r=   r>   r&   r)   Ú	get_color)r-   r.   rA   r/   Úcolorr1   r1   r2   Útest_tsplotˆ   s    ÿzTestTSPlot.test_tsplotc                 C   s¬   t tjdtjd�tddd�d�}d}tjt|d�� |jdd	d
� W d   ƒ n1 sV0    Y  |j	dd�}tjt|d�� |jdd	d
� W d   ƒ n1 sž0    Y  d S )Nr4   rz   r{   r|   r    z�Cannot pass 'style' string with a color symbol and 'color' keyword argument. Please use one or the other or pass 'style' without a color symbolre   zb-z#000099)r   r„   T)Zdrop)
r   r7   r�   r‚   r   rg   rh   Ú
ValueErrorr&   Zreset_index)r-   r.   rj   rl   r1   r1   r2   Útest_both_style_and_color‘   s    ÿÿ,z$TestTSPlot.test_both_style_and_colorÚmsÚusc                 C   sJ   t j ¡ \}}tdd|d�}ttj d¡ t	|ƒ¡|ƒ}t
|j|d� d S )Nú1/1/2012rE   ©r   r   r   ra   )r<   r=   r>   r   r   r7   r8   r9   r:   rM   r%   r&   )r-   r   rA   r/   Úrngrv   r1   r1   r2   Útest_high_freq¡   s    zTestTSPlot.test_high_freqc                 C   sn   ddl m} |d dƒd u sJ ‚|ddƒdks0J ‚|tddƒdƒtddƒjksPJ ‚|ddƒtd	dƒjksjJ ‚d S )
Nr   )Úget_datevaluern   éÃ  rr   rp   z1987-12rD   z1987-1-1)Ú%pandas.plotting._matplotlib.converterrŽ   r   Úordinal)r-   rŽ   r1   r1   r2   Útest_get_datevalue¨   s
     zTestTSPlot.test_get_datevaluec                 C   sr   dd„ }t dtdddd�d�}tj ¡ \}}|j|d	� ||d
ƒ t dtdddd�d�}|j|d	� ||dƒ d S )Nc                 S   s>   |   ¡ d }| ¡ d j}| ¡ d }||  ||¡ks:J ‚d S )Nr   )r)   r*   r‘   Ú	get_ydataZformat_coord)r/   Zexpected_stringÚ
first_lineZfirst_xZfirst_yr1   r1   r2   Úcheck_format_of_first_point±   s    zITestTSPlot.test_ts_plot_format_coord.<locals>.check_format_of_first_pointr$   z
2014-01-01rH   zYE-DECr‹   r    ra   zt = 2014  y = 1.000000rn   zt = 2014-01-01  y = 1.000000)r   r   r<   r=   r>   r&   )r-   r•   ZannualrA   r/   Zdailyr1   r1   r2   Útest_ts_plot_format_coord°   s    
z$TestTSPlot.test_ts_plot_format_coordc                 C   s>   t d|dd�}ttj d¡ t|ƒ¡|ƒ}t|j|j	j
ƒ d S ©Nrt   rE   rF   r   )r   r   r7   r8   r9   r:   rM   r%   r&   r!   r   ©r-   r   rO   rv   r1   r1   r2   Útest_line_plot_period_seriesÂ   s    z'TestTSPlot.test_line_plot_period_seriesÚfrqncy)Z1sZ3sZ5minZ7hZ4DZ8WZ11MZ3Yc                 C   s@   t d|dd�}ttj d¡ t|ƒ¡|ƒ}t|j|j	j
jƒ d S r—   )r   r   r7   r8   r9   r:   rM   r%   r&   r!   r   Ú	rule_code)r-   rš   rO   rl   r1   r1   r2   Ú test_line_plot_period_mlt_seriesÈ   s    z+TestTSPlot.test_line_plot_period_mlt_seriesc                 C   s@   t d|dd�}ttj d¡ t|ƒ¡|ƒ}t|j|j	j
jƒ d S r—   )r   r   r7   r8   r9   r:   rM   r%   r&   r!   r   r›   r˜   r1   r1   r2   Útest_line_plot_datetime_seriesÒ   s    z)TestTSPlot.test_line_plot_datetime_series)rl   rm   r   rn   ro   rx   ÚQErY   c                 C   sJ   t d|dd�}ttj d¡ t|ƒdf¡|g d¢d�}t|j|j	j
ƒ d S )Nrt   rE   rF   r   rH   ©r_   r`   ÚC©r!   Úcolumns)r   r	   r7   r8   r9   r:   rM   r%   r&   r!   r   ©r-   r   rO   r@   r1   r1   r2   Útest_line_plot_period_frameÚ   s    ýz&TestTSPlot.test_line_plot_period_framec                 C   sd   t d|dd�}ttj d¡ t|ƒdf¡|g d¢d�}td|jj	j
ƒ}|j |¡j	}t|j|ƒ d S ©	Nrt   rE   rF   r   rH   rŸ   r¡   r$   )r   r	   r7   r8   r9   r:   rM   r   r!   r   r›   Úasfreqr%   r&   )r-   rš   rO   r@   r   r1   r1   r2   Útest_line_plot_period_mlt_frameä   s    ýz*TestTSPlot.test_line_plot_period_mlt_framez3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                 C   sd   t d|dd�}ttj d¡ t|ƒdf¡|g d¢d�}td|jj	j
ƒ}|j |¡j	}t|j|ƒ d S r¥   )r   r	   r7   r8   r9   r:   rM   r   r!   r   r›   Ú	to_periodr%   r&   r£   r1   r1   r2   Útest_line_plot_datetime_frameõ   s    ýz(TestTSPlot.test_line_plot_datetime_framec                 C   sn   t d|dd�}ttj d¡ t|ƒ¡|ƒ}t|jtt 	|j
¡ƒƒ}t|j|j
jƒ |jg d¢ }t|jƒ d S )Nrt   rE   rF   r   )r   rH   é   é   )r   r   r7   r8   r9   r:   rM   rL   r
   Zasarrayr!   r%   r&   Zinferred_freqÚilocr˜   r1   r1   r2   Útest_line_plot_inferred_freq  s    z'TestTSPlot.test_line_plot_inferred_freqc                 C   sf   t j ¡ \}}tddƒ}ttt|ƒƒ|d�}t|d d… |dd … gƒ}|j|d� t	|dƒrbJ ‚d S )Nz2001-1-1z	2001-1-10r    rH   rª   ra   r   )
r<   r=   r>   r   r   r;   rM   r   r&   Úhasattr)r-   rA   r/   rŒ   r.   r1   r1   r2   Útest_fake_inferred_business  s    
z&TestTSPlot.test_fake_inferred_businessc                 C   s.   t tjdtjd�tddd�d�}t|jƒ d S )Nr4   rz   r{   r|   r    )r   r7   r�   r‚   r   r%   r&   )r-   rv   r1   r1   r2   Útest_plot_offset_freq  s    ÿz TestTSPlot.test_plot_offset_freqc                 C   s:   t dddd�}ttj d¡ t|ƒ¡|d�}t|jƒ d S )Nz
2023-01-01ZBQSr4   rF   r   r    )	r   r   r7   r8   r9   r:   rM   r%   r&   ©r-   Zdrrv   r1   r1   r2   Útest_plot_offset_freq_business  s    z)TestTSPlot.test_plot_offset_freq_businessc                 C   sR   t tdddƒtdddƒtdddƒgƒ}ttj d¡ t|ƒ¡|d�}t|j	ƒ d S )NéÐ  r$   r«   é   r   r    )
r
   r   r   r7   r8   r9   r:   rM   r%   r&   r±   r1   r1   r2   Ú test_plot_multiple_inferred_freq#  s    &z+TestTSPlot.test_plot_multiple_inferred_freqzApi changed in 3.6.0)Úreasonc                 C   sÂ   dd l m  m  m} tdddd�}ttj d¡ 	t
|ƒdf¡|d�}tj ¡ \}}|j|d� | ¡ }| ¡ }| ¡ }t||ƒD ]8\}	}
| |	¡ d	¡}t|
 ¡ ƒ}t
|ƒr„||ks„J ‚q„d S )
Nr   z2012-6-22 21:59:51.960928rˆ   éô  rF   r   r    ra   ú%H:%M:%S.%f)r�   ÚplottingÚ_matplotlibÚ	converterr   r	   r7   r8   r9   r:   rM   r<   r=   r>   r&   Ú	get_xaxisZget_ticklocsÚget_ticklabelsÚzipZ_from_ordinalÚstrftimeÚstrÚget_text)r-   ÚconvrO   r@   rA   r/   ZaxisZtlocsZtlabelsÚlocrB   ÚxpÚrsr1   r1   r2   Útest_uhf(  s    ÿzTestTSPlot.test_uhfc                 C   s°   t dddd�}ttj d¡ t|ƒdf¡|d�}|jg d¢ }tj	 
¡ \}}|j|d� t| ¡ d	  ¡ d d …d	f ƒ ¡ }d
}t |dd … ||d |g ¡dk  ¡ s¬J ‚d S )Nú2012-6-22 21:59:51rl   r4   rF   r   r    )r   r$   rH   é   ra   r   ç)QÎ ÈEè>r$   ç:Œ0âŽyE>)r   r	   r7   r8   r9   r:   rM   r¬   r<   r=   r>   r&   r   r)   Ú
get_xydataÚdiffÚfabsÚall)r-   rO   r@   ÚirregrA   r/   ÚdiffsÚsecr1   r1   r2   Útest_irreg_hf=  s    ÿ$zTestTSPlot.test_irreg_hfc                 C   s¦   t dddd�}ttj d¡ t|ƒdf¡|d�}tj 	¡ \}}|j
 t¡|_
|j|d� t| ¡ d  ¡ d d …df ƒ ¡ }d	}t |d
d … | ¡dk  ¡ s¢J ‚d S )NrÇ   rl   r4   rF   r   r    ra   r   rÉ   r$   rÊ   )r   r	   r7   r8   r9   r:   rM   r<   r=   r>   r!   ÚastypeÚobjectr&   r   r)   rË   rÌ   rÍ   rÎ   )r-   rO   rP   rA   r/   rÐ   rÑ   r1   r1   r2   Útest_irreg_hf_objectK  s    ÿ$zTestTSPlot.test_irreg_hf_objectc                 C   s†   t tjdtjd�tddd�d�}|jg d¢ }tj ¡ \}}|j	|d�}|d usTJ ‚t
| ¡ d  ¡ |jƒD ]\}}||kslJ ‚qld S )	Nr4   rz   r{   r|   r    )r   r$   r   é   ra   r   )r   r7   r�   r‚   r   r¬   r<   r=   r>   r&   r¾   r)   r*   r!   )r-   rv   rA   r/   ÚretrÅ   rÄ   r1   r1   r2   Ú"test_irregular_datetime64_repr_bugW  s    ÿ z-TestTSPlot.test_irregular_datetime64_repr_bugc                 C   sþ   t tdƒtddd�ƒ}d}|jd  ¡ }tjt|d��$ t|t|ƒdd�|_W d   ƒ n1 s`0    Y  t	j
 ¡ \}}|j|d	� | ¡ d  ¡ d
 |jd jks¨J ‚| ¡ d  ¡ }tjt|d��$ t|d�jdksÜJ ‚W d   ƒ n1 sð0    Y  d S )Nrª   r{   r|   úPeriodDtype\[B\] is deprecatedr   re   r`   ©Ústartr   r   ra   r"   ©Údata)r   r;   r   r!   Úto_timestampÚtmÚassert_produces_warningÚFutureWarningrM   r<   r=   r>   r&   r)   rË   r‘   r*   r   Úfreqstr)r-   Úbtsrj   ÚdtrA   r/   rO   r1   r1   r2   Útest_business_freqe  s    2$zTestTSPlot.test_business_freqc                 C   s˜   t tjdtjd�tdddd�d� d¡}| d¡}tj 	¡ \}}|j
|d	� | ¡ d
  ¡ d |jd
 jkspJ ‚| ¡ d
  ¡ }t|d�jdks”J ‚d S )Ni,  rz   r{   r`   r‹   r    ZBMErp   ra   r   r"   rÜ   )r   r7   r�   r‚   r   r¦   r¨   r<   r=   r>   r&   r)   rË   r!   r‘   r*   r   râ   )r-   rã   r.   rA   r/   rO   r1   r1   r2   Útest_business_freq_convertr  s    þý
$z%TestTSPlot.test_business_freq_convertc                 C   s–   t ƒ }ttjdtjd�tddd�d� |¡}tj 	¡ \}}|j
|d� | ¡ d  ¡ }d}tjt|d	�� t|d
� W d   ƒ n1 sˆ0    Y  d S )Nr4   rz   r{   r|   r    ra   r   z)freq not specified and cannot be inferredre   rÜ   )r   r   r7   r�   r‚   r   r¦   r<   r=   r>   r&   r)   r*   rg   rh   r†   r   )r-   r   rã   rA   r/   rO   rj   r1   r1   r2   Útest_freq_with_no_period_alias~  s    ÿþz)TestTSPlot.test_freq_with_no_period_aliasc                 C   sf   t dddd�tdd� }tt d¡|d�}tj ¡ \}}|j|d� | 	¡ d	  
¡ }t|ƒjrbJ ‚d S )
Nz
2012-12-20é   r   r‹   é   ©Úminutesr    ra   r   )r   r   r	   r7   r�   r<   r=   r>   r&   r)   r*   r
   Úis_normalized)r-   rO   r@   rA   r/   rÅ   r1   r1   r2   Útest_nonzero_baseŒ  s    zTestTSPlot.test_nonzero_basec                 C   sl   t dttjdtjd�tddd�d�iƒ}tj ¡ \}}|j	|d� | 
¡ d  ¡ }t |j ¡ t|ƒ¡ d S )	NrW   r4   rz   r{   r|   r    ra   r   )r	   r   r7   r�   r‚   r   r<   r=   r>   r&   r)   r*   rß   Úassert_index_equalr!   r¨   r   )r-   rã   rA   r/   rO   r1   r1   r2   Útest_dataframe•  s    
þÿÿzTestTSPlot.test_dataframez8ignore:Period with BDay freq is deprecated:FutureWarningÚobjr4   rz   r{   r|   r    r$   ©rW   Úbc                 C   sb  t j ¡ \}}|j|d� | ¡ }| |d d |d d ¡ | ¡ }|d |d d ks^J ‚|d |d d ksvJ ‚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�sJJ ‚| ¡ }t j |¡ d S )
Nra   r   rª   r$   r4   ú1/1/2000z4/1/2000r³   rÈ   )r<   r=   r>   r&   Úget_xlimÚset_xlimr   r   Úintr‘   r   Ú
get_figurerb   )r-   rð   rA   r/   ZxlimÚresultÚexpectedrc   r1   r1   r2   Útest_axis_limits£  s&    zTestTSPlot.test_axis_limitsc                 C   s¬   dd l m  m  m} | tdƒ¡|jks0J ‚| tdƒ¡|jksHJ ‚| tdƒ¡|jks`J ‚| tdƒ¡|jksxJ ‚| tdƒ¡|j	ks�J ‚| tdƒ¡|jks¨J ‚d S )Nr   r`   rn   rx   rž   rY   ro   )
r�   r¹   rº   r»   Z
get_finderr   Z_daily_finderZ_monthly_finderZ_quarterly_finderZ_annual_finder)r-   rÂ   r1   r1   r2   Útest_get_finderÕ  s    zTestTSPlot.test_get_finderc                 C   s"  g d¢}d}t jt|d��, tddd�jgt|ƒ  }}W d   ƒ n1 sL0    Y  g }g }|D ]ž}td|d�}ttj	 
d¡ t|ƒ¡|ƒ}	tj ¡ \}
}|	j|d	� | ¡ }| | ¡ d
 ¡ | ¡ \}}| |d |¡ | | ¡ d
 ¡ tj | ¡ ¡ qb||k�sJ ‚||k�sJ ‚d S )N)r4   rI   éü   i�  i¶  i¾
  é'  z#Period with BDay freq is deprecatedre   z1999-1-1r`   rG   r|   r   ra   r   çÍÌÌÌÌÌì?)rß   rà   rá   r   r‘   rM   r   r   r7   r8   r9   r:   r<   r=   r>   r&   r¼   ÚappendÚget_majorticklocsrô   rõ   rb   r÷   )r-   Zday_lstrj   Úxpl1Úxpl2Úrs1Úrs2ÚnrŒ   rv   rA   r/   ÚxaxisÚvminÚvmaxr1   r1   r2   Útest_finder_dailyß  s&    :zTestTSPlot.test_finder_dailyc                 C   sò   ddg}t dƒjgt|ƒ  }}g }g }|D ]¨}tdt|d ƒdd�}ttj d¡ 	t|ƒ¡|ƒ}t
j ¡ \}	}
|j|
d	� |
 ¡ }| | ¡ d
 ¡ |
 ¡ \}}|
 |d |¡ | | ¡ d
 ¡ t
j |
 ¡ ¡ q,||ksâJ ‚||ksîJ ‚d S )Ng      @r´   Ú1988Q1Ú1987Q2rÈ   rq   r‹   r   ra   r   rþ   ©r   r‘   rM   r   rö   r   r7   r8   r9   r:   r<   r=   r>   r&   r¼   rÿ   r   rô   rõ   rb   r÷   ©r-   Zyrsr  r  r  r  r  rŒ   rv   rA   r/   r  r  r  r1   r1   r2   Útest_finder_quarterly÷  s"    z TestTSPlot.test_finder_quarterlyc                 C   sò   g d¢}t dƒjgt|ƒ  }}g }g }|D ]¨}tdt|d ƒdd�}ttj d¡ 	t|ƒ¡|ƒ}t
j ¡ \}	}
|j|
d� |
 ¡ }| | ¡ d	 ¡ |
 ¡ \}}|
 |d
 |¡ | | ¡ d	 ¡ t
j |
 ¡ ¡ q,||ksâJ ‚||ksîJ ‚d S )N)gffffffò?g      @rÈ   r´   zJan 1988r  é   rp   r‹   r   ra   r   rþ   r  r  r1   r1   r2   Útest_finder_monthly  s"    zTestTSPlot.test_finder_monthlyc                 C   st   t dddd�}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� | ¡ }| ¡ d }tddƒj}||kspJ ‚d S )	Nr
  i   rp   r‹   r   ra   r   Z1989Q1)r   r   r7   r8   r9   r:   rM   r<   r=   r>   r&   r¼   r   r   r‘   )r-   rŒ   rv   rA   r/   r  rÅ   rÄ   r1   r1   r2   Útest_finder_monthly_long#  s    z#TestTSPlot.test_finder_monthly_longc           	      C   s¢   g d¢}dd„ |D ƒ}g }dD ]r}t d|dd�}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d	� | ¡ }| | ¡ d
 ¡ tj | ¡ ¡ q||ksžJ ‚d S )N)r�   iÄ  éÆ  r  éË  iä  i  iz  c                 S   s   g | ]}t |d d�j‘qS )rr   rG   )r   r‘   ©Ú.0r[   r1   r1   r2   Ú
<listcomp>/  ó    z1TestTSPlot.test_finder_annual.<locals>.<listcomp>)rª   r4   é   é1   rK   éÇ   iW  ié  Z1987rr   r‹   r   ra   r   )r   r   r7   r8   r9   r:   rM   r<   r=   r>   r&   r¼   rÿ   r   rb   r÷   )	r-   rÄ   rÅ   ZnyearsrŒ   rv   rA   r/   r  r1   r1   r2   Útest_finder_annual-  s    zTestTSPlot.test_finder_annualc           	      C   sz   d}t dd|d�}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� | ¡ }| ¡ d }tddd�j}||ksvJ ‚d S )	Ni@ ú1/1/1999ZMinrF   r   ra   r   rG   ©r   r   r7   r8   r9   r:   rM   r<   r=   r>   r&   r¼   r   r   r‘   )	r-   ZnminutesrŒ   rv   rA   r/   r  rÅ   rÄ   r1   r1   r2   Útest_finder_minutely<  s    zTestTSPlot.test_finder_minutelyc           	      C   sz   d}t dd|d�}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� | ¡ }| ¡ d }tddd�j}||ksvJ ‚d S )	Né   r  r   rF   r   ra   r   rG   r  )	r-   ZnhoursrŒ   rv   rA   r/   r  rÅ   rÄ   r1   r1   r2   Útest_finder_hourlyI  s    zTestTSPlot.test_finder_hourlyc                 C   sÐ   t tjdtjd�tddd�d�}tj|jdd…< tj 	¡ \}}|j
|d� | ¡ }t|ƒd	ksbJ ‚|d
 }| ¡ }tjj|t|ƒtjd�}t|tjjjƒsžJ ‚|j}|dd…d	f  ¡ s¼J ‚tj | ¡ ¡ d S )Nré   rz   r{   r|   r    rª   é   ra   r$   r   ©ÚmaskZ
fill_value)r   r7   r�   r‚   r   Únanr¬   r<   r=   r>   r&   r)   rM   rË   ÚmaÚMaskedArrayr   Ú
isinstanceÚcorer#  rÎ   rb   r÷   ©r-   r.   rA   r/   ÚlinesÚlinerÝ   r#  r1   r1   r2   Ú	test_gapsU  s    ÿzTestTSPlot.test_gapsc                 C   sÞ   t tjdtjd�tddd�d�}|jg d¢ }tj|jdd…< tj 	¡ \}}|j
|d	�}| ¡ }t|ƒd
kspJ ‚|d }| ¡ }tjj|t|ƒtjd�}t|tjjjƒs¬J ‚|j}|dd…d
f  ¡ sÊJ ‚tj | ¡ ¡ d S )Nré   rz   r{   r|   r    ©	r   r$   r   rª   rÖ   r5   r  é   é   r   rª   ra   r$   r   r"  )r   r7   r�   r‚   r   r¬   r$  r<   r=   r>   r&   r)   rM   rË   r%  r&  r   r'  r(  r#  rÎ   rb   r÷   r)  r1   r1   r2   Útest_gaps_irregularh  s     ÿzTestTSPlot.test_gaps_irregularc           	      C   sÄ   g d¢}t tj d¡ t|ƒ¡|ƒ}tj|jdd…< tj	 
¡ \}}|j|d� | ¡ }t|ƒdksfJ ‚|d }| ¡ }tjj|t|ƒtjd�}t|tjjjƒs¢J ‚|j}|dd…df  ¡ sÀJ ‚d S )Nr-  r   rª   ra   r$   r   r"  )r   r7   r8   r9   r:   rM   r$  r¬   r<   r=   r>   r&   r)   rË   r%  r&  r   r'  r(  r#  rÎ   )	r-   rO   rv   rA   r/   r*  r+  rÝ   r#  r1   r1   r2   Útest_gaps_non_ts}  s    zTestTSPlot.test_gaps_non_tsc           
      C   s  t tjdtjd�tddd�d�}tj|jdd…< tj 	¡ \}}|j
|d� t|jd	 |jd
 dd�}t tj d¡ t|ƒ¡|ƒ}|j
dd� | ¡ }t|ƒdks¤J ‚t|j ¡ ƒdksºJ ‚|d	 }| ¡ }tjj|t|ƒtjd�}t|tjjjƒsöJ ‚|j}	|	dd…df  ¡ �sJ ‚d S )Nré   rz   r{   r|   r    rª   r!  ra   r   r#   Z12hrG   r   T©Úsecondary_yr$   r"  )r   r7   r�   r‚   r   r$  r¬   r<   r=   r>   r&   r!   r8   r9   r:   rM   r)   Úright_axrË   r%  r&  r   r'  r(  r#  rÎ   )
r-   ÚlowrA   r/   Úidxhrl   r*  r+  rÝ   r#  r1   r1   r2   Útest_gap_upsampleŽ  s$    ÿzTestTSPlot.test_gap_upsamplec                 C   s¶   t tj d¡ d¡ƒ}tj ¡ \}}|jdd�}t	|dƒs>J ‚t	|dƒrLJ ‚| 
¡ }| ¡ d }t | ¡ | ¡ ƒ}t ||¡ | ¡  ¡ dks’J ‚|d  ¡  ¡ r¦J ‚tj |¡ d S )	Nr   r4   Tr2  Úleft_axr4  r   Úright)r   r7   r8   r9   r:   r<   r=   r>   r&   r®   Úget_axesr)   r“   r*   rß   Úassert_series_equalÚ	get_yaxisÚget_ticks_positionÚget_visiblerb   )r-   rv   rc   rA   r/   Úaxesr+  rÄ   r1   r1   r2   Útest_secondary_y¥  s    zTestTSPlot.test_secondary_yc                 C   sn   t tj d¡ d¡ƒ t tj d¡ d¡ƒ}tj ¡ \}}|j|d� | 	¡  
¡ dksZJ ‚tj | ¡ ¡ d S )Nr   r4   ra   Úleft)r   r7   r8   r9   r:   r<   r=   r>   r&   r<  r=  rb   r÷   )r-   Úser2rA   Úax2r1   r1   r2   Útest_secondary_y_yaxis³  s    z!TestTSPlot.test_secondary_y_yaxisc                 C   sŒ   t tj d¡ d¡ƒ}t tj d¡ d¡ƒ}| ¡ }|jdd�}| ¡  ¡ sPJ ‚t|dƒr^J ‚t|dƒslJ ‚t|dƒszJ ‚t|dƒrˆJ ‚d S )Nr   r4   Tr2  r8  r4  )	r   r7   r8   r9   r:   r&   r<  r>  r®   )r-   rv   rB  r/   rC  r1   r1   r2   Útest_secondary_both»  s    zTestTSPlot.test_secondary_bothc           	      C   sÈ   t ddd�}ttj d¡ d¡|ƒ}tj ¡ \}}|j	dd�}t
|dƒsLJ ‚t
|dƒrZJ ‚| ¡ }| ¡ d	 }t| ¡ | ¡ ƒ ¡ }t ||¡ | ¡  ¡ d
ks¤J ‚|d	  ¡  ¡ r¸J ‚tj |¡ d S )Nró   r4   r|   r   Tr2  r8  r4  r   r9  )r   r   r7   r8   r9   r:   r<   r=   r>   r&   r®   r:  r)   r“   r*   rÞ   rß   r;  r<  r=  r>  rb   )	r-   rO   rv   rc   rA   r/   r?  r+  rÄ   r1   r1   r2   Útest_secondary_y_tsÆ  s    zTestTSPlot.test_secondary_y_tsc                 C   sf   t ddd�}ttj d¡ d¡|ƒ}tj ¡ \}}|j	|d� | 
¡  ¡ dksRJ ‚tj | ¡ ¡ d S )Nró   r4   r|   r   ra   rA  )r   r   r7   r8   r9   r:   r<   r=   r>   r&   r<  r=  rb   r÷   )r-   rO   rB  rA   rC  r1   r1   r2   Útest_secondary_y_ts_yaxisÕ  s    z$TestTSPlot.test_secondary_y_ts_yaxisc                 C   s@   t ddd�}ttj d¡ d¡|ƒ}| ¡ }| ¡  ¡ s<J ‚d S )Nró   r4   r|   r   )	r   r   r7   r8   r9   r:   r&   r<  r>  )r-   rO   rB  r/   r1   r1   r2   Útest_secondary_y_ts_visibleÝ  s    z&TestTSPlot.test_secondary_y_ts_visiblec                 C   s~   t  d¡ ttj d¡ d¡ƒ}tj 	¡ \}}|j
dd|d�}t|dƒsLJ ‚t|dƒrZJ ‚| ¡ }|d	  ¡  ¡ d
kszJ ‚d S )NZscipyr   r4   TZdensity©r3  Úkindr/   r8  r4  r$   r9  )rg   Úimportorskipr   r7   r8   r9   r:   r<   r=   r>   r&   r®   r:  r<  r=  ©r-   rv   rc   r/   r?  r1   r1   r2   Útest_secondary_kdeã  s    
zTestTSPlot.test_secondary_kdec                 C   sX   t tj d¡ d¡ƒ}tj ¡ \}}|jdd|d� | 	¡ }|d  
¡  ¡ dksTJ ‚d S )Nr   r4   TÚbarrI  r$   r9  )r   r7   r8   r9   r:   r<   r=   r>   r&   r:  r<  r=  rL  r1   r1   r2   Útest_secondary_barí  s
    zTestTSPlot.test_secondary_barc                 C   s|   t tj d¡ d¡g d¢d�}|jddgdd�}|d	  ¡  ¡ d
ksHJ ‚|d  ¡  ¡ dks`J ‚|d  ¡  ¡ d
ksxJ ‚d S )Nr   ©rª   rH   ©rW   rò   Úc©r¢   rW   rR  T)r3  r>   r   r9  r$   rA  ©r	   r7   r8   r9   r:   r&   r<  r=  ©r-   r@   r?  r1   r1   r2   Útest_secondary_frameô  s    ÿzTestTSPlot.test_secondary_framec                 C   s~   t tj d¡ d¡g d¢d�}|jdddgdd	�}|d
  ¡  ¡ dksJJ ‚|d  ¡  ¡ dksbJ ‚|d  ¡  ¡ dkszJ ‚d S )Nr   rP  rQ  rS  rN  rW   rR  T)rJ  r3  r>   r   r9  r$   rA  rT  rU  r1   r1   r2   Útest_secondary_bar_frameý  s    ÿz#TestTSPlot.test_secondary_bar_framec                 C   s  t tjdtjd�tdddd�d�}|jg d¢ }tj ¡ \}}|j	|d� |j	d	|d
�}| 
¡ }d}tjt|d��n t|d  ¡ ƒ}t|d  ¡ ƒ}	t ||j d¡¡ t |	|j d¡¡ | ¡ \}
}|j ¡ }W d   ƒ n1 sæ0    Y  |
|d jk�sJ ‚||d jk�sJ ‚d S ©Nr/  rz   r{   r`   r‹   r    ©r   rª   r4   r´   r  é   é   r.  ra   Úgr~   rÙ   re   r   r$   r#   )r   r7   r�   r‚   r   r¬   r<   r=   r>   r&   r)   rß   rà   rá   r   r*   rî   r!   r¨   rô   r‘   ©r-   Ús1Ús2rA   r/   rC  r*  rj   Úidx1Úidx2rA  r9  Zpidxr1   r1   r2   Útest_mixed_freq_regular_first  s&    þ(z(TestTSPlot.test_mixed_freq_regular_firstc                 C   s´   t tjdtjd�tddd�d�}|jg d¢ }tj ¡ \}}|j	d|d� |j	|d	� t
|d
ƒrdJ ‚| ¡ }|d  ¡ }t ||j t¡j¡ |d  ¡ }t ||j t¡j¡ d S ©Nr/  rz   r{   r|   r    rY  r\  r~   ra   r   r   r$   )r   r7   r�   r‚   r   r¬   r<   r=   r>   r&   r®   r)   r*   rß   Úassert_numpy_array_equalr!   rÓ   rÔ   rL   ©r-   r^  r_  rA   r/   r*  Úx1Zx2r1   r1   r2   Útest_mixed_freq_irregular_first!  s    ÿz*TestTSPlot.test_mixed_freq_irregular_firstc                 C   s,  t tjdtjd�tdddd�d� ¡ }|jg d¢d d …f }tj 	¡ \}}|j
|d� |j
d	|d
�}| ¡ }d}tjt|d��r t|d  ¡ ƒ}t|d  ¡ ƒ}	| |j d¡¡s¶J ‚|	 |j d¡¡sÌJ ‚| ¡ \}
}|j ¡ }W d   ƒ n1 sö0    Y  |
|d jk�sJ ‚||d jk�s(J ‚d S rX  )r   r7   r�   r‚   r   Úto_framer¬   r<   r=   r>   r&   r)   rß   rà   rá   r   r*   Úequalsr!   r¨   rô   r‘   r]  r1   r1   r2   Ú test_mixed_freq_regular_first_df0  s&    þ
(z+TestTSPlot.test_mixed_freq_regular_first_dfc                 C   sÀ   t tjdtjd�tddd�d� ¡ }|jg d¢d d …f }tj 	¡ \}}|j
d|d� |j
|d	� t|d
ƒrpJ ‚| ¡ }|d  ¡ }t ||j t¡j¡ |d  ¡ }t ||j t¡j¡ d S rc  )r   r7   r�   r‚   r   rh  r¬   r<   r=   r>   r&   r®   r)   r*   rß   rd  r!   rÓ   rÔ   rL   re  r1   r1   r2   Ú"test_mixed_freq_irregular_first_dfF  s    ÿ
z-TestTSPlot.test_mixed_freq_irregular_first_dfc                 C   s¤   t dddd�}t dddd�}ttj d¡ t|ƒ¡|ƒ}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� |j
|d� | ¡ D ]}t| ¡ d	�jdks‚J ‚q‚d S )
Nr  ém  rn   r‹   r  rx   r   ra   rÜ   ©r   r   r7   r8   r9   r:   rM   r<   r=   r>   r&   r)   r   r*   r   ©r-   r6  ÚidxlÚhighr5  rA   r/   r+  r1   r1   r2   Útest_mixed_freq_hf_firstV  s    z#TestTSPlot.test_mixed_freq_hf_firstc                 C   sŽ   t dddd�}tj d¡ d¡}t||d�}| d¡ ¡ }tj	 
¡ \}}|j|d	�}|jd
|d� |jd  ¡ d |jd  ¡ d ksŠJ ‚d S )Nz2012-01-01 13:00ú
2012-01-02r   rG   r   r  r    rm   ra   Úrr~   r   r$   )r   r7   r8   r9   r:   r   r¦   Zinterpolater<   r=   r>   r&   r*  r*   )r-   Zts_indZts_datar.   Zts2rA   r/   r1   r1   r2   Útest_mixed_freq_alignmenta  s    z$TestTSPlot.test_mixed_freq_alignmentc           	      C   sÒ   t dddd�}t dddd�}ttj d¡ t|ƒ¡|ƒ}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
d|d	� |j
d|d	� | ¡ D ]}t| ¡ d
�jdks†J ‚q†| ¡ }t|jƒdks¾J ‚tj | ¡ ¡ d S )Nr  rl  rn   r‹   r  rx   r   T)Zlegendr/   rÜ   )r   r   r7   r8   r9   r:   rM   r<   r=   r>   r&   r)   r   r*   r   Ú
get_legendZtextsrb   r÷   )	r-   r6  ro  rp  r5  rA   r/   r+  Úlegr1   r1   r2   Útest_mixed_freq_lf_firstn  s    z#TestTSPlot.test_mixed_freq_lf_firstc                 C   s¤   t dddd�}t dddd�}ttj d¡ t|ƒ¡|ƒ}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� |j
|d� | ¡ D ]}t| ¡ d	�jdks‚J ‚q‚d S )
Nr  éð   rm   r‹   rÈ   r   r   ra   rÜ   rm  rn  r1   r1   r2   Útest_mixed_freq_lf_first_hourly|  s    z*TestTSPlot.test_mixed_freq_lf_first_hourlyc                 C   s´   t tjdtjd�tddd�d�}|jg d¢ }d}tjt|d�� t	d	dd
d�}W d   ƒ n1 sd0    Y  t tj
 d¡ t|ƒ¡|ƒ}tj ¡ \}}|j|d� |j|d� d S )Nré   rz   r{   r|   r    )r   r$   r   rH   rÈ   rª   r«   rÖ   é   r5   r4   r.  é   é   é   é   rÙ   re   z1/3/2000r`   r‹   r   ra   )r   r7   r�   r‚   r   r¬   rß   rà   rá   r   r8   r9   r:   rM   r<   r=   r>   r&   )r-   r.   rÏ   rj   rŒ   ZpsrA   r/   r1   r1   r2   Útest_mixed_freq_irreg_period‡  s    ÿ,z'TestTSPlot.test_mixed_freq_irreg_periodc                 C   sÄ   t dddd�}|d d…  |dd … ¡}ttt|ƒƒ|ƒ}ttt|ƒƒ|ƒ}tjjddd�\}\}}|j|d	� |j|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-01rH   rx   r‹   r$   r   T)ZnrowsÚsharexra   rp   r   r"   )r   rN   r   r;   rM   r<   r=   r>   r&   r   r*  rË   ©r-   r`  ra  r^  r_  rA   Zax1rC  r1   r1   r2   Útest_mixed_freq_shared_ax•  s    z$TestTSPlot.test_mixed_freq_shared_axc                 C   s¦   t dddd�}|d d…  |dd … ¡}ttt|ƒƒ|ƒ}ttt|ƒƒ|ƒ}tj ¡ \}}| ¡ }|j	|d� |j	|d� |j
d  ¡ d	 |j
d  ¡ d	 ks¢J ‚d S )
Nr€  rH   rx   r‹   r$   r   ra   r   r"   ©r   rN   r   r;   rM   r<   r=   r>   Ztwinxr&   r*  rË   r‚  r1   r1   r2   Ú test_mixed_freq_shared_ax_twin_x¤  s    z+TestTSPlot.test_mixed_freq_shared_ax_twin_xzTODO (GH14330, GH14322)c                 C   s¦   t dddd�}|d d…  |dd … ¡}ttt|ƒƒ|ƒ}ttt|ƒƒ|ƒ}tj ¡ \}}| ¡ }|j	|d� |j	|d� |j
d  ¡ d	 |j
d  ¡ d	 ks¢J ‚d S )
Nr€  rH   rp   r‹   r$   r   ra   r   r"   r„  r‚  r1   r1   r2   Ú0test_mixed_freq_shared_ax_twin_x_irregular_first²  s    z;TestTSPlot.test_mixed_freq_shared_ax_twin_x_irregular_firstc                 C   s‚   t j ¡ \}}tdtdgƒ}ttt|ƒƒ|ƒ}|j|d� | 	¡ d  
¡ }|j ¡ t|ƒ ¡ ksdJ ‚t|ƒ ¡ |j ¡ ks~J ‚d S )Nr€  z
2015-01-03ra   r   )r<   r=   r>   r   r   r   r;   rM   r&   r)   r*   r!   rm   Úmax)r-   rA   r/   Zdtirl   r0   r1   r1   r2   Útest_nat_handling¿  s    zTestTSPlot.test_nat_handlingc                 C   s²   t dddd�}t dddd�}ttj d¡ t|ƒ¡|ƒ}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� d	}tjt|d
�� |j
|dd� W d   ƒ n1 s¤0    Y  d S )Nr  é4   ro   r‹   r  rx   r   ra   zz'how' is not a valid keyword for plotting functions. If plotting multiple objects on shared axes, resample manually first.re   Zfoo)r/   Úhow)r   r   r7   r8   r9   r:   rM   r<   r=   r>   r&   rg   rh   r†   )r-   r6  ro  rp  r5  rA   r/   rj   r1   r1   r2   Ú*test_to_weekly_resampling_disallow_how_kwdÊ  s    ÿz5TestTSPlot.test_to_weekly_resampling_disallow_how_kwdc                 C   s¦   t dddd�}t dddd�}ttj d¡ t|ƒ¡|ƒ}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� |j
|d� | ¡ D ]}t| ¡ d	�j|jks‚J ‚q‚d S )
Nr  r‰  ro   r‹   r  rx   r   ra   rÜ   rm  rn  r1   r1   r2   Útest_to_weekly_resamplingÙ  s    z$TestTSPlot.test_to_weekly_resamplingc                 C   sþ   t dddd�}t dddd�}ttj d¡ t|ƒ¡|ƒ}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� |j
|d� | ¡ j tj¡}tjg d	¢tjd
�}| ¡ D ]P}	t|	 ¡ d�j|jksÆJ ‚|	jdd�}
t|
ƒdkrìt |
|¡ q¨t |
|¡ q¨d S )Nr  r‰  ro   r‹   r  rx   r   ra   ©iê  iï  ió  i÷  iû  i   i  i  i  i  i  i  rz   rÜ   F©Úorig)r   r   r7   r8   r9   r:   rM   r<   r=   r>   r&   r¨   Úasi8rÓ   r‚   rU   r)   r   r*   r   rß   rd  )r-   r6  ro  rp  r5  rA   r/   Z
expected_hZ
expected_lr+  r0   r1   r1   r2   Útest_from_weekly_resamplingä  s$    þz&TestTSPlot.test_from_weekly_resamplingzkind1, kind2)r+  Úarea)r’  r+  c                 C   sÂ  t dddd�}t dddd�}ttj d¡ t|ƒdf¡|g d	¢d
�}ttj d¡ t|ƒdf¡|g d	¢d
�}tj ¡ \}}|j	|d|d� |j	|d|d� tj
g d¢tjd�}	tjt|	ƒtjd�}
tdƒD ]\}|j| }t| ¡ ƒj|jksðJ ‚t |jdd�|	¡ |
|| j7 }
t |jdd�|
¡ qÊ| ¡ j tj¡}	tjt|	ƒtjd�}
tdƒD ]f}|jd|  }t| ¡ d�j|jk�s„J ‚t |jdd�|	¡ |
|| j7 }
t |jdd�|
¡ �qVd S )Nr  r‰  ro   r‹   r  rx   r   rH   ©r   r$   r   r¡   T©rJ  Zstackedr/   r�  rz   FrŽ  rÜ   )r   r	   r7   r8   r9   rM   r<   r=   r>   r&   rU   r‚   Úzerosr;   r*  r   r*   r   rß   rd  rL   r“   r¨   r�  rÓ   )r-   Úkind1Úkind2r6  ro  rp  r5  rA   r/   Ú
expected_xÚ
expected_yrV   r+  r1   r1   r2   Ú$test_from_resampling_area_line_mixedú  sD    ýýñ
z/TestTSPlot.test_from_resampling_area_line_mixedc                 C   sÄ  t dddd�}t dddd�}ttj d¡ t|ƒdf¡|g d	¢d
�}ttj d¡ t|ƒdf¡|g d	¢d
�}tj ¡ \}}|j	|d|d� |j	|d|d� | 
¡ j tj¡}	tjt|	ƒtjd�}
tdƒD ]^}|j| }t| ¡ d�j|jksðJ ‚t |jdd�|	¡ |
|| j7 }
t |jdd�|
¡ qÈtjg d¢tjd�}	tjt|	ƒtjd�}
tdƒD ]f}|jd|  }t| ¡ d�j|jk�s†J ‚t |jdd�|	¡ |
|| j7 }
t |jdd�|
¡ �qXd S )Nr  r‰  ro   r‹   r  rx   r   rH   r“  r¡   Tr”  rz   rÜ   FrŽ  r�  )r   r	   r7   r8   r9   rM   r<   r=   r>   r&   r¨   r�  rÓ   r‚   r•  r;   r*  r   r*   r   rß   rd  rL   r“   rU   )r-   r–  r—  r6  ro  rp  r5  rA   r/   r˜  r™  rV   r+  r*  r1   r1   r2   Ú0test_from_resampling_area_line_mixed_high_to_low2  sD    ýý
ñz;TestTSPlot.test_from_resampling_area_line_mixed_high_to_lowc                 C   s¸   t dddd�}t dddd�}ttj d¡ t|ƒ¡|ƒ}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� |j
|d� t| ¡ ƒdksŽJ ‚| ¡ D ]}t| ¡ d	�jd
ks–J ‚q–d S ©Nz2014-07-01 09:00rl   é2   rF   Z100msr·   r   ra   rÜ   rˆ   rm  rn  r1   r1   r2   Ú"test_mixed_freq_second_millisecondh  s    z-TestTSPlot.test_mixed_freq_second_millisecondc                 C   s¸   t dddd�}t dddd�}ttj d¡ t|ƒ¡|ƒ}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� |j
|d� t| ¡ ƒdksŽJ ‚| ¡ D ]}t| ¡ d	�jd
ks–J ‚q–d S rœ  rm  rn  r1   r1   r2   Ú.test_mixed_freq_second_millisecond_low_to_highv  s    z9TestTSPlot.test_mixed_freq_second_millisecond_low_to_highc                 C   sX   t dddƒt dddƒt dddƒg}ttj d¡ t|ƒdf¡t|td�ƒ}t	|j
ƒ d S )Nr³   r$   rª   r/  r   rH   rz   )r   r	   r7   r8   r9   r:   rM   r
   rÔ   r%   r&   rR   r1   r1   r2   Útest_irreg_dtypes„  s    "
þzTestTSPlot.test_irreg_dtypesc                 C   s^   t ddd�}|g d¢  t¡}ttj d¡ t|ƒdf¡|ƒ}t	j
 ¡ \}}t|j|d� d S )Nró   r4   r|   )r   r   rª   r5   r   rH   ra   )r   rÓ   rÔ   r	   r7   r8   r9   r:   rM   r<   r=   r>   r%   r&   )r-   rO   r@   rA   r/   r1   r1   r2   Útest_irreg_dtypes_dt64�  s
     z!TestTSPlot.test_irreg_dtypes_dt64c                    s,  t ddddddƒ‰ tj d¡ ddd¡ ¡ }t ‡ fdd„|D ƒ¡}ttj d¡ t	|ƒ¡tj d¡ t	|ƒ¡d	œ|d
�}t
j ¡ \}}|j|d� | ¡ }| ¡ }t||ƒD ]x\}}	tt|ƒdƒ\}
}t|
dƒ\}}
|	 ¡ }t	|ƒdkr®|dk�rt||
|ƒ d¡}nt||
|ƒ d¡}||ks®J ‚q®d S )Nr$   rH   ré   r   r   r/  c                    s"   g | ]}ˆ t t|ƒd �  ¡ ‘qS ©rê   ©r   rö   r   r  ©Útr1   r2   r  ˜  r  z(TestTSPlot.test_time.<locals>.<listcomp>rñ   r    ra   é<   ú%H:%M:%Sú%H:%M)r   r7   r8   r9   ÚintegersÚcumsumrU   r	   r:   rM   r<   r=   r>   r&   Ú
get_xticksr?   r¾   Údivmodrö   rÁ   r   r¿   ©r-   Údeltasr.   r@   rA   r/   ÚticksÚlabelsÚ_tickÚ_labelÚmrl   r   rÅ   rÄ   r1   r¤  r2   Ú	test_time•  s,    þû
zTestTSPlot.test_timec                    sÒ  t ddddddƒ‰ tj d¡ ddd¡ ¡ }t ‡ fdd„|D ƒ¡}ttj d¡ t	|ƒ¡tj d¡ t	|ƒ¡d	œ|d
�}t
j ¡ \}}|j|d� | ¡ }| ¡ }t||ƒD ]x\}}	tt|ƒdƒ\}
}t|
dƒ\}}
|	 ¡ }t	|ƒdkr®|dk�rt||
|ƒ d¡}nt||
|ƒ d¡}||ks®J ‚q®| dd¡ | ¡ }| ¡ }t||ƒD ]~\}}	tt|ƒdƒ\}
}t|
dƒ\}}
|	 ¡ }t	|ƒdk�rN|dk�rªt||
|ƒ d¡}nt||
|ƒ d¡}||k�sNJ ‚�qNd S )Nr$   rH   ré   r   r   r/  c                    s"   g | ]}ˆ t t|ƒd �  ¡ ‘qS r¢  r£  r  r¤  r1   r2   r  ´  r  z4TestTSPlot.test_time_change_xlim.<locals>.<listcomp>rñ   r    ra   r¦  r§  r¨  z1:30z5:00)r   r7   r8   r9   r©  rª  rU   r	   r:   rM   r<   r=   r>   r&   r«  r?   r¾   r¬  rö   rÁ   r   r¿   rõ   r­  r1   r¤  r2   Útest_time_change_xlim±  sD    þû

z TestTSPlot.test_time_change_xlimc                    s”  t ddddddƒ‰ tj d¡ ddd¡ ¡ }t ‡ fdd„|D ƒ¡}ttj d¡ t	|ƒ¡tj d¡ t	|ƒ¡d	œ|d
�}t
j ¡ \}}|j|d�}| ¡ }| ¡ }t||ƒD ]à\}}	tt|ƒdƒ\}
}t|t|ƒ d ƒ}t|
dƒ\}}
|	 ¡ }t	|ƒdkr®|d dk�r"t||
||ƒ d¡}n`|d dk�rNt||
||ƒ d¡d d… }n4|dk�rnt||
||ƒ d¡}nt||
||ƒ d¡}||ks®J ‚q®d S )Nr$   rH   ré   r   r   r/  c                    s"   g | ]}ˆ t t|ƒd �  ¡ ‘qS ))Úmicrosecondsr£  r  r¤  r1   r2   r  á  r  z.TestTSPlot.test_time_musec.<locals>.<listcomp>rñ   r    ra   r¦  g    €„.Aiè  r¸   éýÿÿÿr§  r¨  )r   r7   r8   r9   r©  rª  rU   r	   r:   rM   r<   r=   r>   r&   r«  r?   r¾   r¬  rö   ÚroundrÁ   r   r¿   )r-   r®  r.   r@   rA   r/   r¯  r°  r±  r²  r³  rl   r‰   r   rÅ   rÄ   r1   r¤  r2   Útest_time_musecÞ  s6    þû
zTestTSPlot.test_time_musecc                 C   sæ   t dddd�}t dddd�}ttj d¡ t|ƒ¡|ƒ}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}|j
|d� |j
d	|d
�}| ¡ D ]}t| ¡ ƒjdks„J ‚q„t|dƒs®J ‚t|dƒr¼J ‚|j ¡ D ]}t| ¡ ƒjdksÆJ ‚qÆd S )Nr  rl  rn   r‹   r  rx   r   ra   T©r3  r/   r8  r4  )r   r   r7   r8   r9   r:   rM   r<   r=   r>   r&   r)   r   r*   r   r®   r8  rn  r1   r1   r2   Útest_secondary_upsample  s    z"TestTSPlot.test_secondary_upsamplec                 C   s*  t j ¡ }| d¡}ttj d¡ d¡t	t
dƒtd�tdddd	�d
�}|jddg|d� | ¡ }t| ¡ ƒdkstJ ‚| ¡ d  ¡ dksŒJ ‚| ¡ d  ¡ dks¤J ‚| ¡ d  ¡ dks¼J ‚| ¡ d  ¡ dksÔJ ‚|j ¡ d u sæJ ‚tƒ }| ¡ D ]}| | ¡ ¡ qôt|ƒdk�sJ ‚t j |¡ d S )NéÓ   r   ©r4   rÈ   ÚABCDrz   ú
2000-01-01r4   r`   r‹   ©r¢   r!   r_   rº  rÈ   r   ú	A (right)r$   z	B (right)r    rH   rn   )r<   r=   ÚfigureÚadd_subplotr	   r7   r8   r9   r:   r
   ÚlistrÔ   r   r&   ru  rM   r)   Ú	get_textsrÁ   r4  ÚsetÚaddrƒ   rb   )r-   rc   r/   r@   rv  Úcolorsr+  r1   r1   r2   Útest_secondary_legend  s(    

ýz TestTSPlot.test_secondary_legendc                 C   sæ   t tj d¡ d¡ttdƒtd�tdddd�d	�}t	j
 ¡ }| d
¡}|jddgd|d� | ¡ }t| ¡ ƒdksvJ ‚| ¡ 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   r½  r¾  rz   r¿  r4   r`   r‹   rÀ  r¼  r_   r    F)r3  Ú
mark_rightr/   rÈ   r   r$   rH   rn   )r	   r7   r8   r9   r:   r
   rÄ  rÔ   r   r<   r=   rÂ  rÃ  r&   ru  rM   r)   rÅ  rÁ   rb   ©r-   r@   rc   r/   rv  r1   r1   r2   Útest_secondary_legend_right*  s    ý

z&TestTSPlot.test_secondary_legend_rightc                 C   sš   t tj d¡ d¡ttdƒtd�tdddd�d	�}t	j
 ¡ \}}|jd
dg|d� | ¡ }| ¡ d  ¡ dksrJ ‚| ¡ d  ¡ dksŠJ ‚t	j
 |¡ d S )Nr   r½  r¾  rz   r¿  r4   r`   r‹   rÀ  rN  r_   )rJ  r3  r/   r   rÁ  r$   ©r	   r7   r8   r9   r:   r
   rÄ  rÔ   r   r<   r=   r>   r&   ru  rÅ  rÁ   rb   rË  r1   r1   r2   Útest_secondary_legend_bar;  s    ýz$TestTSPlot.test_secondary_legend_barc                 C   sœ   t tj d¡ d¡ttdƒtd�tdddd�d	�}t	j
 ¡ \}}|jd
dgd|d� | ¡ }| ¡ d  ¡ dkstJ ‚| ¡ d  ¡ dksŒJ ‚t	j
 |¡ d S )Nr   r½  r¾  rz   r¿  r4   r`   r‹   rÀ  rN  r_   F)rJ  r3  rÊ  r/   r   r$   rÍ  rË  r1   r1   r2   Útest_secondary_legend_bar_rightH  s    ýz*TestTSPlot.test_secondary_legend_bar_rightc                 C   sú   t tj d¡ d¡ttdƒtd�tdddd�d	�}t	j
 ¡ }| d
¡}t tj d¡ d¡ttdƒtd�tdddd�d	�}|jddg|d�}| ¡ }t| ¡ ƒdks¦J ‚|j ¡ d u s¸J ‚tƒ }| ¡ D ]}| | ¡ ¡ qÆt|ƒdksêJ ‚t	j
 |¡ d S )Nr   r½  r¾  rz   r¿  r4   r`   r‹   rÀ  r¼  r    rn   rº  rÈ   )r	   r7   r8   r9   r:   r
   rÄ  rÔ   r   r<   r=   rÂ  rÃ  r&   ru  rM   r)   r4  rÆ  rÇ  rƒ   rb   ©r-   r@   rc   r/   rv  rÈ  r+  r1   r1   r2   Útest_secondary_legend_multi_colU  s*    ý

ýz*TestTSPlot.test_secondary_legend_multi_colc                 C   sÔ   t dt d¡ d¡ ttdƒtd�tdd„ tdƒD ƒtd�d	�}tj	 
¡ }| d
¡}|jddg|d�}| ¡ }t| ¡ ƒdks‚J ‚|j ¡ d u s”J ‚tƒ }| ¡ D ]}| | ¡ ¡ q¢t|ƒdksÆJ ‚tj	 ¡  d S )Nçš™™™™™ñ?éx   ©ré   rÈ   r¾  rz   c                 S   s   g | ]}d |› �‘qS ©zi-r1   ©r  rV   r1   r1   r2   r  s  r  z:TestTSPlot.test_secondary_legend_nonts.<locals>.<listcomp>ré   rÀ  r¼  r_   r`   rº  rÈ   )r	   r7   r�   Úreshaper
   rÄ  rÔ   r;   r<   r=   rÂ  rÃ  r&   ru  rM   r)   r4  rÆ  rÇ  rƒ   rb   rÐ  r1   r1   r2   Útest_secondary_legend_nontsn  s     ý

z&TestTSPlot.test_secondary_legend_nontsc                 C   sÊ   t dt d¡ d¡ ttdƒtd�tdd„ tdƒD ƒtd�d	�}tj	 
¡ }| d
¡}|jddg|d�}| ¡ }t| ¡ ƒdks‚J ‚|j ¡ d u s”J ‚tƒ }| ¡ D ]}| | ¡ ¡ q¢t|ƒdksÆJ ‚d S )NrÒ  rÓ  rÔ  r¾  rz   c                 S   s   g | ]}d |› �‘qS rÕ  r1   rÖ  r1   r1   r2   r  ˆ  r  zDTestTSPlot.test_secondary_legend_nonts_multi_col.<locals>.<listcomp>ré   rÀ  r¼  r    rn   rº  rÈ   )r	   r7   r�   r×  r
   rÄ  rÔ   r;   r<   r=   rÂ  rÃ  r&   ru  rM   r)   r4  rÆ  rÇ  rƒ   rÐ  r1   r1   r2   Ú%test_secondary_legend_nonts_multi_colƒ  s    ý

z0TestTSPlot.test_secondary_legend_nonts_multi_colc                 C   s‚   t dddd�}ttj d¡ t|ƒdf¡|ƒ}tj 	¡ \}}|j
|d�}| ¡ }| ¡ D ]$}t| ¡ ƒdkrX| ¡ d	ksXJ ‚qXd S )
NrŠ   r  rx   r‹   r   rH   ra   r   ré   )r   r	   r7   r8   r9   r:   rM   r<   r=   r>   r&   r¼   r½   rÁ   Zget_rotation)r-   rŒ   r@   rA   r/   r  r+  r1   r1   r2   Útest_format_date_axis—  s     z TestTSPlot.test_format_date_axisc                 C   sX   t dddd�}ttt|ƒƒƒ}tj ¡ \}}|j||dd�}t 	t
|d  ¡ ƒ|¡ d S )Nrr  r4   rn   rÚ   rr   )rB   r   )r   rÄ  r;   rM   r<   r=   r>   r&   rß   rî   r   r*   )r-   r[   r\   rA   r/   r*  r1   r1   r2   Útest_ax_plot¢  s
    zTestTSPlot.test_ax_plotc           	   	   C   sâ   t dddƒt dddƒg}t ddd¡}t dd	d¡}tj ¡ \}}|jd
d„ |D ƒ|ddd„ |D ƒ|ddd�\}}tjdd„ |D ƒtjd�}t	 
| ¡ d d …df |¡ tjdd„ |D ƒtjd�}t	 
| ¡ d d …df |¡ d S )NéØ  r  é   iÙ  r$   g      $@g      &@g      à?g      (@c                 S   s   g | ]}|  ¡ ‘qS r1   ©Ú	toordinalr  r1   r1   r2   r  ³  r  z0TestTSPlot.test_mpl_nopandas.<locals>.<listcomp>ú-c                 S   s   g | ]}|  ¡ ‘qS r1   rÞ  r  r1   r1   r2   r  ¶  r  rÈ   )Z	linewidthc                 S   s   g | ]}|  ¡ ‘qS r1   rÞ  r  r1   r1   r2   r  ¼  r  rz   r   c                 S   s   g | ]}|  ¡ ‘qS r1   rÞ  r  r1   r1   r2   r  ¾  r  )r   r7   r�   r<   r=   r>   r&   rU   r‚   rß   rd  rË   )	r-   ÚdatesZvalues1Zvalues2rA   r/   Úline1Úline2Úexpr1   r1   r2   Útest_mpl_nopandas©  s(    ùýzTestTSPlot.test_mpl_nopandasc                 C   s¸   ddl m} ttjdtjd�tddd�d�}|jg d¢ }tj	 
¡ \}}|d d	… j|d
� |d	d … j|d
� | ¡ \}}|| |j ¡ d|¡ks˜J ‚|| |j ¡ d|¡ks´J ‚d S )Nr   ©ÚDatetimeConverterr/  rz   r{   r|   r    ©r$   rÈ   rª   r«   rz  r5   r4   r  rZ  r[  r.  r|  r}  rª   ra   Ú ©r�   rç  r   r7   r�   r‚   r   r¬   r<   r=   r>   r&   rô   Úconvertr!   rm   r‡  ©r-   rç  r.   Zts_irregularrA   r/   rA  r9  r1   r1   r2   Ú test_irregular_ts_shared_ax_xlimÁ  s    ÿz+TestTSPlot.test_irregular_ts_shared_ax_xlimc                 C   s„   g d¢}g d¢}t d|d�}t d|d�}tj ¡ \}}|j|d� | ¡ \}}|jd|d� | ¡ \}	}
||	kstJ ‚||
k s€J ‚d S )	N)r$   r   rH   rÈ   )rª   r«   rÖ   rz  r$   r    r   ra   Trº  )r   r<   r=   r>   r&   rô   ©r-   Zindex_1Zindex_2r^  r_  rA   r/   Úleft_beforeÚright_beforeÚ
left_afterÚright_afterr1   r1   r2   Útest_secondary_y_non_ts_xlimÔ  s    z'TestTSPlot.test_secondary_y_non_ts_xlimc                 C   s�   t dddd�}t dddd�}td|d�}td|d�}tj ¡ \}}|j|d	� | ¡ \}}|jd
|d� | ¡ \}	}
||	ks€J ‚||
k sŒJ ‚d S )Nr¿  rÈ   rn   rÚ   z
2000-01-05r$   r    r   ra   Trº  )r   r   r<   r=   r>   r&   rô   rî  r1   r1   r2   Ú test_secondary_y_regular_ts_xlimä  s    z+TestTSPlot.test_secondary_y_regular_ts_xlimc           	      C   s€   t dddd�}td|d�}tj ¡ \}}|j|d� | ¡ \}}| d¡ ¡ jd	|d
� | ¡ \}}||kspJ ‚||ks|J ‚d S )Nr¿  rý   rm   r‹   r$   r    ra   rn   Trº  )	r   r   r<   r=   r>   r&   rô   ZresampleÚmean)	r-   rŒ   r.   rA   r/   rï  rð  rñ  rò  r1   r1   r2   Ú#test_secondary_y_mixed_freq_ts_xlimô  s    z.TestTSPlot.test_secondary_y_mixed_freq_ts_xlimc                 C   sÎ   ddl m} ttjdtjd�tddd�d�}|jg d¢ }tj	 
¡ \}}|d d	… j|d
� |d	d … jd|d� |d d	… j|d
� | ¡ \}}|| |j ¡ d|¡ks®J ‚|| |j ¡ d|¡ksÊJ ‚d S )Nr   ræ  r/  rz   r{   r|   r    rè  rª   ra   Trº  ré  rê  rì  r1   r1   r2   Ú"test_secondary_y_irregular_ts_xlim  s    ÿz-TestTSPlot.test_secondary_y_irregular_ts_xlimc                 C   sZ   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   r  )r   r<   r=   r>   r&   r   )r-   rL   rA   r/   r1   r1   r2   Útest_plot_outofbounds_datetime  s
    
z)TestTSPlot.test_plot_outofbounds_datetimec                 C   s¢   dd„ t  d¡D ƒ}tdddd�}tt j d¡ t|ƒdf¡|ƒ}tj	 
¡ \}}|jd|d	� tj	 ¡  | ¡ }d
d„ |D ƒ}t|ƒt|ƒks’J ‚||ksžJ ‚d S )Nc                 S   s   g | ]}d |d›�‘qS )z00:00:00.0000000z0>2dr1   rÖ  r1   r1   r2   r  !  r  zATestTSPlot.test_format_timedelta_ticks_narrow.<locals>.<listcomp>r4   Ú0Únsr‹   r   rH   r6   c                 S   s   g | ]}|  ¡ ‘qS r1   ©rÁ   r  r1   r1   r2   r  *  r  )r7   r�   r   r	   r8   r9   r:   rM   r<   r=   r>   r&   Údrawr?   ©r-   Zexpected_labelsrŒ   r@   rA   r/   r°  Zresult_labelsr1   r1   r2   Ú"test_format_timedelta_ticks_narrow   s     
z-TestTSPlot.test_format_timedelta_ticks_narrowc                 C   s–   g d¢}t dddd�}ttj d¡ t|ƒdf¡|ƒ}tj 	¡ \}}|j
d|d�}tj ¡  | ¡ }d	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ù  r4   ú1 dr‹   r   rH   r6   c                 S   s   g | ]}|  ¡ ‘qS r1   rû  r  r1   r1   r2   r  B  r  z?TestTSPlot.test_format_timedelta_ticks_wide.<locals>.<listcomp>)r   r	   r7   r8   r9   r:   rM   r<   r=   r>   r&   rü  r?   rý  r1   r1   r2   Ú test_format_timedelta_ticks_wide.  s     
z+TestTSPlot.test_format_timedelta_ticks_widec                 C   s6   t tdƒtddd�ƒ}tj ¡ \}}t|j|d� d S )Nrª   Z1dayr|   ra   )r   r;   r   r<   r=   r>   r%   r&   )r-   rl   rA   r/   r1   r1   r2   Útest_timedelta_plotF  s    zTestTSPlot.test_timedelta_plotc                 C   sJ   t dddd�}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}t
|j|d� d S )Nú1 day 2 hr 30 min 10 sr4   rÿ  r‹   r   ra   ©r   r   r7   r8   r9   r:   rM   r<   r=   r>   r%   r&   ©r-   r!   rl   rA   r/   r1   r1   r2   Útest_timedelta_long_periodL  s    z%TestTSPlot.test_timedelta_long_periodc                 C   sJ   t dddd�}ttj d¡ t|ƒ¡|ƒ}tj 	¡ \}}t
|j|d� d S )Nr  r4   z1 nsr‹   r   ra   r  r  r1   r1   r2   Útest_timedelta_short_periodS  s    z&TestTSPlot.test_timedelta_short_periodc                 C   s`   t dddd�}|}t ddd¡}t ddd¡d d d… }tj ¡ \}}|j||g||gd	� d S )
Nr   r4   r   r‹   r   r$   gš™™™™™¹?r#   )Úweights)r   r7   r�   r<   r=   r>   Úhist)r-   rŒ   r[   Zw1Zw2rA   r/   r1   r1   r2   Ú	test_histZ  s    zTestTSPlot.test_histc                 C   s’   t g d¢tdddƒtdddƒtdddƒgd�}t g d¢tdddƒtd	ddƒtd
ddƒgd�}tj ¡ \}}|j|d� |j|d� |j|d� d S )NrT   r  r  rÝ  r³   iÕ  r    iÍ  iÓ  rÜ  ra   )r   r   r<   r=   r>   r&   )r-   r^  r_  rA   r/   r1   r1   r2   Útest_overlapping_datetimec  s$    


ýþ


ýþz$TestTSPlot.test_overlapping_datetimez1GH9053 matplotlib does not use ax.xaxis.converterc                 C   sŠ   t tj d¡ d¡tddd�d�}| ¡ }t t	¡�$ |j|j
|jdd� W d   ƒ n1 s^0    Y  |j\}}t | ¡ | ¡ ¡ d S )Nr   r4   z
1970-01-02r|   r    r\  )r„   )r   r7   r8   r9   r:   r   r&   rß   rà   ÚDeprecationWarningr!   rL   r*  rd  rË   )r-   rl   r/   Úl1Úl2r1   r1   r2   Útest_add_matplotlib_datetime64}  s    
þ2
z)TestTSPlot.test_add_matplotlib_datetime64c                 C   s|   t tj d¡ d¡ddgd�}tdddd	�|d
< tj ¡ \}}|jd
d|d� tj 	¡  | 
¡ d }d}| ¡ |ksxJ ‚d S )Nr   )r4   r   r[   r\   rS  z
2018-01-01r4   rn   r‹   r   )r[   r\   rÝ   r   )r	   r7   r8   r9   r   r<   r=   r>   Zscatterrü  r?   rÁ   )r-   r@   rA   r/   rB   rù   r1   r1   r2   Ú"test_matplotlib_scatter_datetime64�  s    
z-TestTSPlot.test_matplotlib_scatter_datetime64c                 C   s<   t g d¢ƒ}t|g d¢dœƒ}|jddd�}t|dd� d S )N)ú
2020-05-01ú
2020-05-02z
2020-05-03rT   ©r[   r\   r[   r\   r   ©Zxrot©r   r	   r&   r   ©r-   r[   r@   r?  r1   r1   r2   Útest_check_xticks_rot˜  s    z TestTSPlot.test_check_xticks_rotc                 C   s<   t g d¢ƒ}t|g d¢dœƒ}|jddd�}t|dd� d S )N©r  r  z
2020-05-04rT   r  r[   r\   ré   r  r  r  r1   r1   r2   Útest_check_xticks_rot_irregular   s    z*TestTSPlot.test_check_xticks_rot_irregularc                 C   sb   t g d¢ƒ}t|g d¢dœƒ}| d¡jddd�}t|dd	� | d¡jdd
d�}t|dd	� d S )Nr  rT   r  r[   r\   T)r\   Z	use_indexré   r  Fr   )r   r	   Z	set_indexr&   r   r  r1   r1   r2   Útest_check_xticks_rot_use_idx§  s    z(TestTSPlot.test_check_xticks_rot_use_idxc                 C   s^   t g d¢ƒ}t|g d¢dœƒ}|jddddd�}t|dd	� |jdddd
d�}t|dd	� d S )Nr  rT   r  r[   r\   T)r[   r\   r>   r�  ré   r  Fr   r  r  r1   r1   r2   Útest_check_xticks_rot_sharex±  s    z'TestTSPlot.test_check_xticks_rot_sharexN)Ú__name__Ú
__module__Ú__qualname__rg   ÚmarkÚfilterwarningsr3   rC   rQ   rS   rX   rd   rk   Zparametrizerw   ry   r…   r‡   r�   r’   r–   r™   rœ   r�   r¤   r§   r©   r­   r¯   r°   r²   rµ   ZxfailrÆ   rÒ   rÕ   rØ   rå   ræ   rç   rí   rï   r   r7   r�   r‚   r   r	   rú   rû   r	  r  r  r  r  Zslowr  r   r,  r0  r1  r7  r@  rD  rE  rF  rG  rH  rM  rO  rV  rW  rb  rg  rj  rk  rq  rt  rw  ry  r  rƒ  r…  r†  rˆ  r‹  rŒ  r‘  rš  r›  rž  rŸ  r   r¡  r´  rµ  r¹  r»  rÉ  rÌ  rÎ  rÏ  rÑ  rØ  rÙ  rÚ  rÛ  rå  rí  ró  rô  rö  r÷  rø  rþ  r   r  r  r  r	  r
  r  r  r  r  r  r  r1   r1   r1   r2   r   /   sP  


		
ÿ
	

ÿ
ÿ

	ÿ

ÿÿ
	
	ÿ
þ
þ
þüûÿûþ



		



7
5	-#

		

r   c              	   O   s^  dd l m} | ¡ }�z6| ¡  | d¡}| d| ¡ ¡}t|dd ƒ}	| |i |¤Ž}
|
d us`J ‚| d| ¡ ¡}|d ur¦|jj	}t
|tƒr�|j}|	d u r¦|j	|ks¦J ‚|d ur¼t|j	dd�}|d urØ|	d u rØ||ksØJ ‚| d¡}||d< | |i |¤Ž}
|
d u�sJ ‚tjdd��}t ||¡ W d   ƒ n1 �s60    Y  W | |¡ n| |¡ 0 d S )	Nr   r¼  r/   r   T)Z	is_periodéÔ   )Zreturn_filelike)Zmatplotlib.pyplotr=   ZgcfZclfrÃ  ÚpopZgcaÚgetattrr!   r   r'  r   r›   r   rß   Zensure_cleanÚpickleÚdumprb   )Úfr   ZseriesÚargsÚkwargsZpltrc   r/   Zorig_axZorig_axfreqr×   ZdfreqZax_freqÚpathr1   r1   r2   r%   ¼  s6    


.r%   )NN)+Ú__doc__r   r   r   r   r#  Únumpyr7   rg   Zpandas._libs.tslibsr   r   Zpandas._libs.tslibs.dtypesr   Zpandasr	   r
   r   r   r   r   r   Zpandas._testingZ_testingrß   Zpandas.core.indexes.datetimesr   r   r   Zpandas.core.indexes.periodr   r   r   Zpandas.core.indexes.timedeltasr   Zpandas.tests.plotting.commonr   Zpandas.tseries.offsetsr   rK  r<   r   r%   r1   r1   r1   r2   Ú<module>   s:   $	
             