gL idZddlmZmZmZmZddlZddlZddlZddl m Z m Z ddl m Z ddlmZmZmZmZmZmZmZddlmZddlmZmZmZddlmZmZm Z dd l!m"Z"dd l#m$Z$dd l%m&Z&ejNd Z(Gd dZ)ddZ*y)z< Test cases for time series specific (freq conversion, etc) )datedatetimetime timedeltaN) BaseOffset to_offset)freq_to_period_freqstr) DataFrameIndexNaTSeriesconcatisna to_datetime) DatetimeIndex bdate_range date_range)Period PeriodIndex period_range)timedelta_range)_check_ticks_props) WeekOfMonth matplotlibc@ eZdZejj ddZdZdZdZ dZ dZ dZ ejjd gd d Zejjd gd d ZdZdZejjd ddgdZdZdZejjd gd dZejjdgddZejjd gd dZejjd gddZejjdgddZejj dejjd gd dZejjd gd dZd Zd!Zd"Zd#ZejjAd$%d&Z!d'Z"d(Z#d)Z$d*Z%d+Z&d,Z'd-Z(d.Z)ejj d/ejjd0e*e+jXd1e+jZ2e.d3d145e/e*e+jXd1e+jZ2e.d3d145e*e+jXd1e+jZ2e.d3d145d6zd7gd8Z0d9Z1d:Z2d;Z3d<Z4d=Z5d>Z6ejjnd?Z8d@Z9dAZ:dBZ;dCZdFZ?dGZ@dHZAdIZBdJZCdKZDdLZEdMZFdNZGdOZHdPZIdQZJdRZKdSZLdTZMdUZNdVZOejj ddWZPdXZQdYZRejjAdZ%d[ZSd\ZTd]ZUd^ZVd_ZWejjd`dadbgdcZXejjd`dadbgddZYdeZZdfZ[dgZ\dhZ]diZ^djZ_dkZ`dlZadmZbdnZcdoZddpZedqZfdrZgdsZhejjAd$%dtZiduZjdvZkdwZldxZmdyZndzZod{Zpd|Zqd}Zrd~ZsdZtdZudZvdZwdZxejjAd%dZydZzdZ{dZ|dZ}dZ~y) TestTSPlotzignore::UserWarningcz|}tddd|}tddg|}t|j|j}t t |j j}|dj|djfd k(sJ|d j|d jfd k(sJy) N1/1/2011h)periodsfreqtzgg@gt@indexrrr)r) rr _check_plot_worksplotnextiter get_lines get_xdatahourminute)selftz_aware_fixturer#r%tsaxxdatas m/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/plotting/test_datetimelike.pytest_ts_plot_with_tzzTestTSPlot.test_ts_plot_with_tz0s:qsrB UFO5 1"''" WWYT",,.)*446a uQx/6999b b 0 01V;;;cfttjjdj dt d}t jj\}}|jd||j|jzD]}|jdk(rJy)Nr) r:r$fontsizer4) r nprandom default_rngstandard_normalrangemplpyplotsubplotsr*get_xticklabelsget_yticklabels get_fontsize)r1df_r4labels r6test_fontsize_set_correctlyz&TestTSPlot.test_fontsize_set_correctly=s  II ! !! $ 4 4W =U2Y  ##%2 r"'')B,>,>,@@ -E%%'1, ,, -r8ctddd}t|jd}ttj j djt|df|}t|j|d d j|d d }ttj j djt|df|}t|jy) N1/1/1987MSdr"r!r"rr$r(-c) rrvaluesr r>r?r@rAlenr)r*union)r1idxrIdf2s r6test_frame_inferredzTestTSPlot.test_frame_inferredGs$<CJJT2  II ! !! $ 4 4c#h] C3  "''"!Biooc"Rj) II ! !! $ 4 4c#h] C3  #((#r8ctddd}t|jd}ttj j djt|df|}t|jy) Nz2008-1-1 00:15:0015minr:rQrRrrSr$) rrrWr r>r?r@rArXr)r*r1rZrIs r6test_frame_inferred_n_gt_1z%TestTSPlot.test_frame_inferred_n_gt_1Xs`,7BGCJJT2  II ! !! $ 4 4c#h] C3  "''"r8ctjgd}t||}t|j|t|j|y)Nr(rrSr$)xerr)yerr)r>arrayr r)r*)r1ias r6test_is_error_nozeroindexz$TestTSPlot.test_is_error_nozeroindexas8 HHY  aq !!&&q)!&&q)r8c&tddd}tgdgdd|}tjj \}}|j |t |jd k(sJtjj|y) NrNYErSrQxyzrbABr4r() rr rCrDrEr*rXr-close)r1rZrIfigr4s r6test_nonnumeric_excludez"TestTSPlot.test_nonnumeric_excludehso$: _9=s C**%%'R 22<<>"a''' r8ctddd}tgdgdd|}d}tjt| 5|d j dddy#1swYyxYw) NrNrjrSrQrkrbrozno numeric data to plotmatchrp)rr pytestraises TypeErrorr*)r1rZrImsgs r6test_nonnumeric_exclude_errorz(TestTSPlot.test_nonnumeric_exclude_errorqsV$: _9=s C' ]]9C 0  sGLLN   s AA%r")sminr DWMQYctd|d}ttjj dj t ||}tjj\}}t|j|yN 12/31/1999rPrQrrr) rr r>r?r@rArXrCrDrEr)r*r1r"rZserrJr4s r6test_tsplot_periodzTestTSPlot.test_tsplot_periodxs^r?r@rArXrCrDrEr)r*rs r6test_tsplot_datetimezTestTSPlot.test_tsplot_datetimes`D#>RYY**1-==c#hGM ##%2#((r*r8c2ttjdtjt dd}t j j\}}|jd|d}||jd jk(sJy) Nr:dtype 2020-01-01r!r$kstyler4)rrr(r) r r>arangefloat64rrCrDrEr*r- get_color)r1r3rJr4colors r6 test_tsplotzTestTSPlot.test_tsplotsw  IIb +:lTV3W  ##%2 cb!" q)335555r8cttjdtjt dd}d}t j t|5|jdd ddd|jd }t j t|5|jdd dddy#1swYSxYw#1swYyxYw) Nr:rrrr$zCannot pass 'style' string with a color symbol and 'color' keyword argument. Please use one or the other or pass 'style' without a color symbolrwzb-z#000099)rrT)drop) r r>rrrryrz ValueErrorr* reset_index)r1r3r|r~s r6test_both_style_and_colorz$TestTSPlot.test_both_style_and_colors  IIb +:lTV3W  % ]]:S 1 1 GG$iG 0 1 NNN % ]]:S 1 0 FFYF / 0 0  1 1 0 0sB?"C ?C Cmsusctjj\}}tdd|}t t j jdjt||}t|j|y)N1/1/2012rPr!r"rrr) rCrDrErr r>r?r@rArXr)r*)r1r"rJr4rngrs r6test_high_freqzTestTSPlot.test_high_freqs^ ##%2St<RYY**1-==c#hGM#((r*r8cddlm}|ddJ|dddk(sJ|tdddtddjk(sJ|ddtd djk(sJy) Nr) get_datevaluerrrz1987-12rNz1987-1-1)%pandas.plotting._matplotlib.converterrrordinal)r1rs r6test_get_datevaluezTestTSPlot.test_get_datevaluesxGT3'///T3'4///VD#.4y#8N8V8VVVVZ- C1H1P1PPPPr8cd}tdtddd}tjj \}}|j |||d tdtddd }|j |||d y) Nc|jd}|jdj}|jd}||j ||k(sJy)Nr)r-r.r get_ydata format_coord)r4expected_string first_linefirst_xfirst_ys r6check_format_of_first_pointzITestTSPlot.test_ts_plot_format_coord..check_format_of_first_pointsW*J **,Q/77G **,Q/G"boogw&GG GGr8r(z 2014-01-01rSzYE-DECrr$rrzt = 2014 y = 1.000000rzt = 2014-01-01 y = 1.000000)r rrCrDrEr*)r1rannualrJr4dailys r6test_ts_plot_format_coordz$TestTSPlot.test_ts_plot_format_coords~ H L!(!ST ##%2 r #B(@Aq < MN b #B(FGr8ctd|d}ttjj dj t ||}t|j|jjyNrrPrQr) rr r>r?r@rArXr)r*r%r"r1r"rZrs r6test_line_plot_period_seriesz'TestTSPlot.test_line_plot_period_seriessPr?r@rArXr)r*r%r" rule_code)r1rrZr~s r6 test_line_plot_period_mlt_seriesz+TestTSPlot.test_line_plot_period_mlt_seriessX r?r@rArXr)r*r%r"rrs r6test_line_plot_datetime_seriesz)TestTSPlot.test_line_plot_datetime_seriessXD#>RYY**1-==c#hGM#((CIINN$<$<=r8)r~rr rrrQErjctd|d}ttjj dj t |df|gd}t|j|jjy)NrrPrQrrSrprqCr%columns) rr r>r?r@rArXr)r*r%r"r1r"rZrIs r6test_line_plot_period_framez&TestTSPlot.test_line_plot_period_frames]D#>  II ! !! $ 4 4c#h] C#  "''288==1r8cxtd|d}ttjj dj t |df|gd}td|jjj}|jj|j}t|j|y NrrPrQrrSrrr()rr r>r?r@rArXr r%r"rasfreqr)r*)r1rrZrIr"s r6test_line_plot_period_mlt_framez*TestTSPlot.test_line_plot_period_mlt_framesr?r@rArXr r%r"r to_periodr)r*rs r6test_line_plot_datetime_framez(TestTSPlot.test_line_plot_datetime_frames D#>  II ! !! $ 4 4c#h] C#  &a)@)@Axx!!$',,"''4(r8ctd|d}ttjj dj t ||}t|jttj|j}t|j|jj|jgd}t|jy)NrrPrQr)rrS)rr r>r?r@rArXrWr asarrayr%r)r* inferred_freqilocrs r6test_line_plot_inferred_freqz'TestTSPlot.test_line_plot_inferred_freqsD#>RYY**1-==c#hGMSZZrzz#))'#((CII$;$;<hh|$#((#r8ctjj\}}tdd}t t t ||}t|dd|ddg}|j|t|drJy)Nz2001-1-1z 2001-1-10r$rSrrrr") rCrDrErr rBrXrr*hasattr)r1rJr4rr3s r6test_fake_inferred_businessz&TestTSPlot.test_fake_inferred_businessss ##%2[1 E#c(O3 / RVRV$ % 22v&&&&r8cttjdtjt dd}t |j y)Nr:rrrr$)r r>rrrr)r*)r1rs r6test_plot_offset_freqz TestTSPlot.test_plot_offset_freqs6 IIb +:lTV3W  #((#r8ctddd}ttjj dj t ||}t|jy)Nz 2023-01-01BQSr:rQrr$) rr r>r?r@rArXr)r*r1drrs r6test_plot_offset_freq_businessz)TestTSPlot.test_plot_offset_freq_businesssF  5" =RYY**1-==c"gFbQ#((#r8c ttdddtdddtdddg}ttjj dj t||}t|jy)Nr(r rr$) r rr r>r?r@rArXr)r*rs r6 test_plot_multiple_inferred_freqz+TestTSPlot.test_plot_multiple_inferred_freq#se HT1a((4A*>qRT@UV WRYY**1-==c"gFbQ#((#r8zApi changed in 3.6.0)reasoncFddlmcmcm}t ddd}t t jjdjt|df|}tjj\}}|j||j}|j!}|j#}t%||D]Q\} } |j'| j)d } t+| j-} t| sK| | k(rQJy) Nrz2012-6-22 21:59:51.960928rrQrr$rr %H:%M:%S.%f)rplotting _matplotlib converterrr r>r?r@rArXrCrDrEr* get_xaxis get_ticklocsget_ticklabelszip _from_ordinalstrftimestrget_text) r1convrZrIrJr4axistlocstlabelslocrKxprss r6test_uhfzTestTSPlot.test_uhf(s<<44M  II ! !! $ 4 4c#h] C3  ##%2 2||~!!#%%'eW- JC##C(11-@BU^^%&B2wRxx  r8ctddd}ttjj dj t |df|}|jgd}tjj\}}|j|t|jd jddd fj}d }tj |d d||dz|gz d kj#sJy) N2012-6-22 21:59:51r~r:rQrr$)rr(rSrrr)QΠE>r(:0yE>)rr r>r?r@rArXrrCrDrEr*r r- get_xydatadifffabsall)r1rZrIirregrJr4diffssecs r6 test_irreg_hfzTestTSPlot.test_irreg_hf=s-CD  II ! !! $ 4 4c#h] C3  % ##%2 b r||~a(335ad;<AAC ab S#'3$7784?DDFFFr8c4tddd}ttjj dj t |df|}tjj\}}|jjt|_ |j|t|jdj!dddfj#}d }tj$|d d|z d kj'sJy) Nr r~r:rQrr$rrrr r(r )rr r>r?r@rArXrCrDrEr%astypeobjectr*r r-r rrr)r1rZr[rJr4rrs r6test_irreg_hf_objectzTestTSPlot.test_irreg_hf_objectKs-CD II ! !! $ 4 4c#h] C3  ##%2II$$V,  Br||~a(335ad;<AAC ab C(4/44666r8cttjdtjt dd}|j gd}t jj\}}|j|}|Jt|jdj|jD] \}}||k(r Jy) Nr:rrrr$)rr(rrrr)r r>rrrrrCrDrEr*rr-r.r%)r1rrJr4retrrs r6"test_irregular_datetime64_repr_bugz-TestTSPlot.test_irregular_datetime64_repr_bugWs IIb +:lTV3W hh|$ ##%2hh"ho",,.+557C FB8O8 r8cttdtdd}d}|jdj }t j t|5t|t|d|_dddtjj\}}|j| |jdjd |jdjk(sJ|jdj!}t j t|5t#| j$dk(sJ dddy#1swYxYw#1swYyxYw) NrrrPeriodDtype\[B\] is deprecatedrrwrqstartr!r"rrr&data)r rBrr% to_timestamptmassert_produces_warning FutureWarningrXrCrDrEr*r-r rr.rfreqstr)r1btsr|dtrJr4rZs r6test_business_freqzTestTSPlot.test_business_freqes%U1X|L!DE/ YYq\ & & (  ' ' S A K$2s3xcJCI K ##%2 B||~a ++-d3syy|7K7KKKKllnQ))+  ' ' S A 8C(00C7 77 8 8  K K  8 8sE/E!E!E*cttjdtjt dddj d}|j d}tjj\}}|j| |jd jd |jd jk(sJ|jd j}t!| j"dk(sJy) Ni,rrrqrr$BMErrrrr&r!)r r>rrrrrrCrDrEr*r-r r%rr.rr')r1r(r3rJr4rZs r6test_business_freq_convertz%TestTSPlot.test_business_freq_convertrs IIc ,\3SA  &- ]]3  ##%2 B||~a ++-d3rxx{7J7JJJJllnQ))+$,,333r8ct}ttjdtjt ddj |}tjj\}}|j||jdj}d}tjt| 5t!| dddy#1swYyxYw) Nr:rrrr$rrrz)freq not specified and cannot be inferredrwr!)rr r>rrrrrCrDrEr*r-r.ryrzrr)r1r"r(rJr4rZr|s r6test_freq_with_no_period_aliasz)TestTSPlot.test_freq_with_no_period_alias~s} IIb +:lTV3W &,  ##%2 BllnQ))+9 ]]:S 1 " S ! " " "s  CC%cPtdddtdz}ttjd|}t j j\}}|j||jd j}t|jrJy) Nz 2012-12-20r rminutesr$rrr) rrr r>rrCrDrEr*r-r.r is_normalized)r1rZrIrJr4rs r6test_nonzero_basezTestTSPlot.test_nonzero_basesrrrrrCrDrEr*r-r.r$assert_index_equalr%rr)r1r(rJr4rZs r6test_dataframezTestTSPlot.test_dataframesVIIb 3$\2>   ##%2 BllnQ))+ cii113[5EFr8z8ignore:Period with BDay freq is deprecated:FutureWarningobjr:rrrr$r(rgbctjj\}}|j||j }|j |ddz |ddz|j }|d|ddz k(sJ|d|ddzk(sJt d|jt d|jf}|j dd|j }t|d|djk(sJt|d|djk(sJt d|jt d|jf}|j tdddtdd d|j }t|d|djk(sJt|d|djk(sJ|j}tjj|y) Nrrrrr(r:1/1/2000z4/1/2000rr ) rCrDrEr*get_xlimset_xlimrr"intrr get_figurers)r1r:rJr4xlimresultexpectedrts r6test_axis_limitszTestTSPlot.test_axis_limitss4 ##%2 B{{} DGaKa2.ayDGaK'''ayDGbL(((:rww/ BGG1LM J +6!9~!!4!44446!9~!!4!4444:rww/ BGG1LM HT1a((4A*>?6!9~!!4!44446!9~!!4!4444mmo r8cddlmcmcm}|j t d|j k(sJ|j t d|j k(sJ|j t d|jk(sJ|j t d|jk(sJ|j t d|jk(sJ|j t d|j k(sJy)Nrrqrrrrjr) rrrr get_finderr _daily_finder_monthly_finder_quarterly_finder_annual_finder)r1rs r6test_get_finderzTestTSPlot.test_get_finders<<y~.$2D2DDDDy~.$2D2DDDDy/43G3GGGGy/43I3IIIIy/43F3FFFFy~.$2D2DDDDr8cHgd}d}tjt|5tddjgt |zx}}dddg}g}|D]-}t d|}ttjjdjt ||} tjj\} } | j| | j!} |j#| j%d | j'\} }| j)| d z||j#| j%d tjj+| j-0|k(sJ|k(sJy#1swYPxYw) N)r:rTiii 'z#Period with BDay freq is deprecatedrwz1999-1-1rqrRrrrrr?)r$r%r&rrrXrr r>r?r@rArCrDrEr*rappendget_majorticklocsr?r@rsrB)r1day_lstr|xpl1xpl2rs1rs2nrrrJr4xaxisvminvmaxs r6test_finder_dailyzTestTSPlot.test_finder_dailys\63  ' ' S A P!*37??@3w<O OD4 P .Aj!4C..q1AA#c(KSQCJJ'')EAr HHHOLLNE JJu..03 4JD$ KKs D ) JJu..03 4 JJ  R]]_ - .d{{d{{% P Ps 'FF!cddg}tdjgt|zx}}g}g}|D]:}tdt |dzd}t t jjdjt||}tjj\} } |j| | j} |j| j!d | j#\} } | j%| d z| |j| j!d tjj'| j)=||k(sJ||k(sJy) Ng @r1988Q11987Q2r rrrrrrrQrrrXrrAr r>r?r@rArCrDrEr*rrRrSr?r@rsrBr1yrsrUrVrWrXrYrrrJr4rZr[r\s r6test_finder_quarterlyz TestTSPlot.test_finder_quarterlys:Bih'//03s8;;t .AxQU#FC..q1AA#c(KSQCJJ'')EAr HHHOLLNE JJu..03 4;;=LT4 KKs D ) JJu..03 4 JJ  R]]_ - .d{{d{{r8cgd}tdjgt|zx}}g}g}|D]:}tdt |dzd}t t jjdjt||}tjj\} } |j| | j} |j| j!d | j#\} } | j%| d z| |j| j!d tjj'| j)=||k(sJ||k(sJy) N)gffffff?g@r rzJan 1988r` rrrrrrrQrarbs r6test_finder_monthlyzTestTSPlot.test_finder_monthly s6 j)112SX==t .AxQV3GC..q1AA#c(KSQCJJ'')EAr HHHOLLNE JJu..03 4JD$ KKs D ) JJu..03 4 JJ  R]]_ - .d{{d{{r8ctddd}ttjj dj t ||}tjj\}}|j||j}|jd}tddj}||k(sJy) Nr_i rrrrrr1989Q1)rr r>r?r@rArXrCrDrEr*rrSrr)r1rrrJr4rZrrs r6test_finder_monthly_longz#TestTSPlot.test_finder_monthly_long#s8W3?RYY**1-==c#hGM ##%2 B   $ $ &q ) Hc " * *Rxxr8c@gd}|Dcgc]}t|dj}}g}dD]}td|d}ttj j djt||}tjj\}}|j||j} |j| jd tjj!|j#||k(sJycc}w) N)rirliiizrrR)rr:1rViWi1987rrrrr)rrrr r>r?r@rArXrCrDrEr*rrRrSrsrB) r1rrlrnyearsrrrJr4rZs r6test_finder_annualzTestTSPlot.test_finder_annual-s =35 6afQS!)) 6 6 9 .FvvC@C..q1AA#c(KSQCJJ'')EAr HHHOLLNE IIe--/2 3 JJ  R]]_ - .Rxx7sDcd}tdd|}ttjj dj t ||}tjj\}}|j||j}|jd}tddj}||k(sJy) Ni@1/1/1999MinrQrrrrrRrr r>r?r@rArXrCrDrEr*rrSrr) r1nminutesrrrJr4rZrrs r6test_finder_minutelyzTestTSPlot.test_finder_minutely<s%BRYY**1-==c#hGM ##%2 B   $ $ &q ) JU + 3 3Rxxr8cd}tdd|}ttjj dj t ||}tjj\}}|j||j}|jd}tddj}||k(sJy) Nrur rQrrrrrRrw) r1nhoursrrrJr4rZrrs r6test_finder_hourlyzTestTSPlot.test_finder_hourlyIs#v>RYY**1-==c#hGM ##%2 B   $ $ &q ) JS ) 1 1Rxxr8cttjdtjt dd}tj |j ddtjj\}}|j||j}t|d k(sJ|d }|j}tjj|t!|tj }t#|tjj$jsJ|j&}|ddd fj)sJtjj+|j-y) Nr2rrrr$rrrr(rmask fill_value)r r>rrrnanrrCrDrEr*r-rXr ma MaskedArrayr isinstancecorerrrsrBr1r3rJr4linesliner"rs r6 test_gapszTestTSPlot.test_gapsUs  IIb +:lTV3W "  ##%2 2 5zQQx uu  DJ266 J$ 6 6777yyAbD!G}  """ )r8cttjdtjt dd}|j gd}tj |j ddtjj\}}|j| }|j}t|d k(sJ|d }|j}tjj|t!|tj }t#|tjj$jsJ|j&}|ddd fj)sJtjj+|j-y) Nr2rrrr$ rr(rrrr;rfrrrrr(rr)r r>rrrrrrCrDrEr*r-rXr rrrrrrrrsrBrs r6test_gaps_irregularzTestTSPlot.test_gaps_irregularhs!  IIb +:lTV3W WW3 4vv!  ##%2 WWW^ 5zQQx uu  DJ266 J$ 6 6777yyAaCF|!!! )r8cgd}ttjjdj t ||}tj |jddtjj\}}|j||j}t |dk(sJ|d}|j}tjj|t!|tj }t#|tjj$jsJ|j&}|dddfj)sJy)Nrrrrrr(rr)r r>r?r@rArXrrrCrDrEr*r-r rrrrrrr) r1rZrrJr4rrr"rs r6test_gaps_non_tszTestTSPlot.test_gaps_non_ts}s,RYY**1-==c#hGM1  ##%2 B 5zQQx uu  DJ266 J$ 6 6777yyAaCF|!!!r8cttjdtjt dd}tj |j ddtjj\}}|j|t |jd |jd d }ttjjd jt||}|jd|j!}t|dk(sJt|j"j!dk(sJ|d }|j%}tj&j)|t+|tj }t-|tj&j.j(sJ|j0} | dddfj3sJy)Nr2rrrr$rrrrrr'12hrRrT secondary_yr(r)r r>rrrrrrCrDrEr*r%r?r@rArXr-right_axr rrrrrrr) r1lowrJr4idxhr~rrr"rs r6test_gap_upsamplezTestTSPlot.test_gap_upsamplesn IIb +:lTV3W 2 ##%2 B#))A, " EB 299((+;;CIF M 4  5zQ2;;((*+q000Qx uu  DJ266 J$ 6 6777yyAbD!G}  """r8cttjjdj d}t j j\}}|jd}t|dsJt|drJ|j}|jd}t|j|j}tj|||j!j#dk(sJ|dj!j%rJt j j'|y) Nrr:Trleft_axrrright)r r>r?r@rArCrDrEr*rget_axesr-rr.r$assert_series_equal get_yaxisget_ticks_position get_visiblers)r1rrtrJr4axesrrs r6test_secondary_yzTestTSPlot.test_secondary_ysRYY**1-==bAB$$&Q XX$X 'r9%%%2z***||~||~a  DNN$dnn&6 7 sB'||~002g===7$$&22444 r8cttjjdj dttjjdj d}t j j\}}|j||jjdk(sJt j j|jy)Nrr:rrleft) r r>r?r@rArCrDrEr*rrrsrB)r1ser2rJax2s r6test_secondary_y_yaxisz!TestTSPlot.test_secondary_y_yaxissryy$$Q'77;<bii++A.>>rBC$$&3 S }}113v=== )*r8cttjjdj d}ttjjdj d}|j }|j d}|j jsJt|drJt|dsJt|dsJt|drJy)Nrr:Trrr) r r>r?r@rAr*rrr)r1rrr4rs r6test_secondary_bothzTestTSPlot.test_secondary_bothsRYY**1-==bABbii++A.>>rBC YY[hh4h(||~))+++2y)))r:&&&sI&&&3 ++++r8ctdd}ttjj dj d|}t jj\}}|jd}t|dsJt|drJ|j}|jd }t|j|jj}t!j"|||j%j'd k(sJ|d j%j)rJt jj+|y) Nr>r:rrTrrrrr)rr r>r?r@rArCrDrEr*rrr-rr.r#r$rrrrrs) r1rZrrtrJr4rrrs r6test_secondary_y_tszTestTSPlot.test_secondary_y_tssR0RYY**1-==bA3G$$&Q XX$X 'r9%%%2z***||~||~a  DNN$dnn&6 7 D D F sB'||~002g===7$$&22444 r8ctdd}ttjj dj d|}t jj\}}|j||jjdk(sJt jj|jy)Nr>r:rrrrr)rr r>r?r@rArCrDrEr*rrrsrB)r1rZrrJrs r6test_secondary_y_ts_yaxisz$TestTSPlot.test_secondary_y_ts_yaxissR0bii++A.>>rBCH$$&3 S }}113v=== )*r8ctdd}ttjj dj d|}|j }|jjsJy)Nr>r:rr) rr r>r?r@rAr*rr)r1rZrr4s r6test_secondary_y_ts_visiblez&TestTSPlot.test_secondary_y_ts_visiblesWR0bii++A.>>rBCH YY[||~))+++r8ctjdttjj dj d}tjj\}}|jdd|}t|dsJt|drJ|j}|d jjd k(sJy) Nscipyrr:Tdensityrkindr4rrr(r)ry importorskipr r>r?r@rArCrDrEr*rrrrr1rrtr4rs r6test_secondary_kdezTestTSPlot.test_secondary_kdesG$RYY**1-==bAB**%%'R XX$Y2X >r9%%%2z***||~Aw  "5577BBBr8cHttjjdj d}t j j\}}|jdd||j}|djjdk(sJy)Nrr:Tbarrr(r) r r>r?r@rArCrDrEr*rrrrs r6test_secondary_barzTestTSPlot.test_secondary_bars}RYY**1-==bAB**%%'R T"5||~Aw  "5577BBBr8cttjjdj dgd}|j ddgd}|d j jd k(sJ|d j jd k(sJ|dj jd k(sJy) NrrrSrgr<crrgrT)rrErrr(rr r>r?r@rAr*rrr1rIrs r6test_secondary_framezTestTSPlot.test_secondary_frames  II ! !! $ 4 4V rrrrrCrDrEr*r-r$r%r&rr.r8r%rr?r r1s1s2rJr4rrr|idx1idx2rrpidxs r6test_mixed_freq_regular_firstz(TestTSPlot.test_mixed_freq_regular_firstsd  IIb +\2C@ WW3 4 ##%2 2ggCBg' /  ' ' S A (uQx1134DuQx1134D  ! !$(:(:3(? @  ! !$(:(:3(? @,,.KD%88%%'D (tAw&&&R((((( ( (s CF66F?cttjdtjt dd}|j gd}t jj\}}|jd||j| t|d rJ|j}|d j}tj||jj!t"j$|d j}tj||jj!t"j$y Nrrrrr$rrrrrr"rr()r r>rrrrrCrDrEr*rr-r.r$assert_numpy_array_equalr%rrrWr1rrrJr4rx1x2s r6test_mixed_freq_irregular_firstz*TestTSPlot.test_mixed_freq_irregular_first!s  IIb +:lTV3W WW3 4 ##%2 cb! 22v&&&  1X   ! ##B(?(F(FG 1X   ! ##B(?(F(FGr8cttjdtjt dddj }|j gdddf}tjj\}}|j||jd | }|j}d }tjt| 5t|d j!}t|dj!} |j#|j$j'dsJ| j#|j$j'dsJ|j)\} } |j$j'} ddd  d j*ksJ | dj*k\sJy#1swY2xYwr)r r>rrrto_framerrCrDrEr*r-r$r%r&rr.equalsr%rr?rrs r6 test_mixed_freq_regular_first_dfz+TestTSPlot.test_mixed_freq_regular_first_df0sw  IIb +\2C@  (* WW3Q6 7 ##%2 2ggCBg' /  ' ' S A (uQx1134DuQx1134D;;rxx11#67 77;;rxx11#67 77,,.KD%88%%'D  (tAw&&&R((((( ( (s B>GG cttjdtjt ddj }|j gdddf}tjj\}}|jd||j| t|d rJ|j}|d j}tj||j j#t$j&|d j}tj||j j#t$j&yr)r r>rrrrrrCrDrEr*rr-r.r$rr%rrrWrs r6"test_mixed_freq_irregular_first_dfz-TestTSPlot.test_mixed_freq_irregular_first_dfFs  IIb +:lTV3W (* WW3Q6 7 ##%2 cb! 22v&&&  1X   ! ##B(?(F(FG 1X   ! ##B(?(F(FGr8cFtddd}tddd}ttjj dj t ||}ttjj dj t ||}tjj\}}|j||j||jD]+}t|j jdk(r+Jy) Nrumrrrfrrrrr!rr r>r?r@rArXrCrDrEr*r-rr.r"r1ridxlhighrrJr4rs r6test_mixed_freq_hf_firstz#TestTSPlot.test_mixed_freq_hf_firstVs*c<*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O ##%2 R  BLLN BDDNN$45::cA AA Br8ctddd}tjjdj d}t ||}|j dj}tjj\}}|j| }|jd | |jd jd |jd jd k(sJy)Nz2012-01-01 13:00 2012-01-02r rRrrfr$rrrrrrr()rr>r?r@rAr r interpolaterCrDrEr*rr.)r1ts_indts_datar3ts2rJr4s r6test_mixed_freq_alignmentz$TestTSPlot.test_mixed_freq_alignmentas. 3G))''*::2> G6 *ii**, ##%2 WWW^ sr"xx{$$&q)RXXa[-B-B-DQ-GGGGr8ctddd}tddd}ttjj dj t ||}ttjj dj t ||}tjj\}}|jd| |jd| |jD]+}t|j jdk(r+J|j}t |j dk(sJtjj#|j%y) NrurrrrfrrT)legendr4r!)rr r>r?r@rArXrCrDrEr*r-rr.r" get_legendtextsrsrB) r1rrrrrJr4rlegs r6test_mixed_freq_lf_firstz#TestTSPlot.test_mixed_freq_lf_firstns*c<*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O ##%2 $ " %LLN BDDNN$45::cA AA Bmmo399~""" )r8cFtddd}tddd}ttjj dj t ||}ttjj dj t ||}tjj\}}|j||j||jD]+}t|j jdk(r+Jy) Nrurrr r rrrr!rrs r6test_mixed_freq_lf_first_hourlyz*TestTSPlot.test_mixed_freq_lf_first_hourly|s*c>*ac:bii++A.>>s4yI4PRYY**1-==c$iH$O ##%2 B R LLN DDDNN$45::eC CC Dr8c(ttjdtjt dd}|j gd}d}t jt|5td dd }dddttjjd jt|}tjj!\}}|j#| |j#| y#1swYxYw)Nr2rrrr$)rr(rrSr rrrr;r:rrrwz1/3/2000rqrrrr)r r>rrrrr$r%r&rr?r@rArXrCrDrEr*)r1r3rr|rpsrJr4s r6test_mixed_freq_irreg_periodz'TestTSPlot.test_mixed_freq_irreg_periods  IIb +:lTV3W NO/  ' ' S A Az2C@C A BII))!,< 5S?C ( "  q!++-ww{{}u 1 1 3333e}  "aggkkm333r8c0tddd}tddd}ttjj dj t ||}ttjj dj t ||}tjj\}}|j|d }tjt| 5|j|d dddy#1swYyxYw) Nru4rrrfrrrrzz'how' is not a valid keyword for plotting functions. If plotting multiple objects on shared axes, resample manually first.rwfoo)r4how)rr r>r?r@rArXrCrDrEr*ryrzr)r1rrrrrJr4r|s r6*test_to_weekly_resampling_disallow_how_kwdz5TestTSPlot.test_to_weekly_resampling_disallow_how_kwds*bs;*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O ##%2 R  H ]]:S 1 ' HHH & ' ' 's /D  DcZtddd}tddd}ttjj dj t ||}ttjj dj t ||}tjj\}}|j||j||jD]5}t|j j|jk(r5Jy) Nrurrrrfrrrrr!rrs r6test_to_weekly_resamplingz$TestTSPlot.test_to_weekly_resamplings*bs;*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O ##%2 R  BLLN HDDNN$45::diiG GG Hr8ctddd}tddd}ttjj dj t ||}ttjj dj t ||}tjj\}}|j||j||jjjtj}tjgd tj }|j!D]} t#| j% j&|j&k(sJ| j%d } t | dk(rt)j*| |mt)j*| |y)Nrurrrrfrrrr iiiiiiiii iiirr!Forig)rr r>r?r@rArXrCrDrEr*rasi8rrrer-rr.r"r$r) r1rrrrrJr4 expected_h expected_lrr5s r6test_from_weekly_resamplingz&TestTSPlot.test_from_weekly_resamplingsS*bs;*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O ##%2 B R ^^%**11"**= XX T** LLN ?DDNN$45::diiG GGNNN.E5zR++E:>++E:>  ?r8z kind1, kind2)rarea)r!rc"tddd}tddd}ttjj djt |df|gd  }ttjj djt |df|gd  }t jj\}}|j|d | |j|d | tjgd tj} tjt | tj} tdD]} |j| } t| j!j"|j"k(sJt%j&| j!d| | || j(z } t%j&| j+d| |j-j.j1tj} tjt | tj} tdD]} |jd| z} t| j!j"|j"k(sJt%j&| j!d| | || j(z } t%j&| j+d| y)NrurrrrfrrrSrr(rrTrstackedr4rrFrr!)rr r>r?r@rXrCrDrEr*rerzerosrBrrr.r"r$rrWrrrr) r1kind1kind2rrrrrJr4 expected_x expected_yrfrs r6$test_from_resampling_area_line_mixedz/TestTSPlot.test_from_resampling_area_line_mixedsY*bs;*bt< II ! !! $ + +SYN ;   II ! !! $ + +SYN ;   ##%2 eTb1 udr 2XX ** "XXc*oRZZ@ q PA88A;Dt~~/055B BB  ' 'E(BJ O #a&-- 'J  ' 'E(BJ O  P^^%**11"**= XXc*oRZZ@ q PA88AE?DDNN$45::diiG GG  ' 'E(BJ O $q'.. (J  ' 'E(BJ O  Pr8c$tddd}tddd}ttjj djt |df|gd  }ttjj djt |df|gd  }t jj\}}|j|d | |j|d | |jjjtj} tjt | tj } tdD]} |j | } t#| j%j&|j&k(sJt)j*| j%d| | || j,z } t)j*| j/d| tj0gdtj } tjt | tj } tdD]} |j d| z} t#| j%j&|j&k(sJt)j*| j%d| | || j,z } t)j*| j/d| y)NrurrrrfrrrSr#rTr$rr!Frr)rr r>r?r@rXrCrDrEr*rrrrr&rBrrr.r"r$rrWrre)r1r'r(rrrrrJr4r)r*rfrrs r60test_from_resampling_area_line_mixed_high_to_lowz;TestTSPlot.test_from_resampling_area_line_mixed_high_to_low2sY*bs;*bt< II ! !! $ + +SYN ;   II ! !! $ + +SYN ;   ##%2 udr 2 eTb1^^%**11"**= XXc*oRZZ@ q PA88A;DDNN$45::diiG GG  ' 'E(BJ O $q'.. (J  ' 'E(BJ O  PXX ** "XXc*oRZZ@ q QAHHQUOEEOO$56;;tyyH HH  ' 'U(CZ P #a&-- 'J  ' 'U(CZ P  Qr8ctddd}tddd}ttjj dj t ||}ttjj dj t ||}tjj\}}|j||j|t |jdk(sJ|jD]+}t|j jd k(r+Jy Nz2014-07-01 09:00r~2rQ100msrrrrr!rrrs r6"test_mixed_freq_second_millisecondz-TestTSPlot.test_mixed_freq_second_millisecondhs,3C,7CHbii++A.>>s4yI4PRYY**1-==c$iH$O ##%2 R  B2<<>"a'''LLN CDDNN$45::dB BB Cr8ctddd}tddd}ttjj dj t ||}ttjj dj t ||}tjj\}}|j||j|t |jdk(sJ|jD]+}t|j jd k(r+Jyr/rrs r6.test_mixed_freq_second_millisecond_low_to_highz9TestTSPlot.test_mixed_freq_second_millisecond_low_to_highvs,3C,7CHbii++A.>>s4yI4PRYY**1-==c$iH$O ##%2 B R 2<<>"a'''LLN CDDNN$45::dB BB Cr8ctdddtdddtdddg}ttjj dj t |dft|t}t|jy)Nrr(rrrrSr) rr r>r?r@rArXr rr)r*r_s r6test_irreg_dtypeszTestTSPlot.test_irreg_dtypesspD!QdAq!14a3DE  II ! !! $ 4 4c#h] C #V $  "''"r8cHtdd}|gdjt}ttj j djt|df|}tjj\}}t|j|y)Nr>r:r)rrrr;rrSrr)rrrr r>r?r@rArXrCrDrEr)r*)r1rZrIrJr4s r6test_irreg_dtypes_dt64z!TestTSPlot.test_irreg_dtypes_dt64svR0,&&v. ryy,,Q/??S1 NPS T ##%2"''b)r8c tdddddd}tjjdj dddj }tj |Dcgc](}|tt|zj*c}}ttjjdjt|tjjdjt|d| }tjj\}}|j!| |j#}|j%} t'|| D]\} } t)t| d \} } t)| d \}} | j+}t|dkDsL| dk7rt|| | j-d }nt|| | j-d }||k(rJycc}w)Nr(rSr2rrrr3r;r$rr<%H:%M:%S%H:%M)rr>r?r@integerscumsumrerrArr rArXrCrDrEr* get_xticksrFrdivmodrrr1tdeltasrlr3rIrJr4tickslabels_tick_labelmr~r rrs r6 test_timezTestTSPlot.test_times Q1aQ '&&q)221b!<CCE XXvN!Ic!f55;;=N O YY**1-==c"gFYY**1-==c"gF    ##%2 2 ##% / ME6#e*b)DAq!R=DAq"B2w{6aA// ;BaA//8BRxx Os"-Hc tdddddd}tjjdj dddj }tj |Dcgc](}|tt|zj*c}}ttjjdjt|tjjdjt|d| }tjj\}}|j!| |j#}|j%} t'|| D]\} } t)t| d \} } t)| d \}} | j+}t|dkDsL| dk7rt|| | j-d }nt|| | j-d }||k(rJ|j/dd|j#}|j%} t'|| D]\} } t)t| d \} } t)| d \}} | j+}t|dkDsL| dk7rt|| | j-d }nt|| | j-d }||k(rJycc}w)Nr(rSr2rrrr3r;r$rrr:r;r<z1:30z5:00)rr>r?r@r=r>rerrArr rArXrCrDrEr*r?rFrr@rrr@rAs r6test_time_change_xlimz TestTSPlot.test_time_change_xlimse Q1aQ '&&q)221b!<CCE XXvN!Ic!f55;;=N O YY**1-==c"gFYY**1-==c"gF    ##%2 2 ##% / ME6#e*b)DAq!R=DAq"B2w{6aA// ;BaA//8BRxx  FF# ##% / ME6#e*b)DAq!R=DAq"B2w{6aA// ;BaA//8BRxx ?Os"-Kc tdddddd}tjjdj dddj }tj |Dcgc](}|tt|zj*c}}ttjjdjt|tjjdjt|d| }tjj\}}|j!| }|j#}|j%} t'|| D]\} } t)t| d \} } t+| t| z d z}t)| d \}} | j-}t|dkDsf|d zdk7rt|| | |j/d}ni|d zdk7r!t|| | |j/ddd}n@| dk7rt|| | |j/d}nt|| | |j/d}||k(rJycc}w)Nr(rSr2rrr) microsecondsr;r$rrr:g.Airr;r<)rr>r?r@r=r>rerrArr rArXrCrDrEr*r?rFrr@roundrr)r1rBrCrlr3rIrJr4rDrErFrGrHr~rr rrs r6test_time_museczTestTSPlot.test_time_musecs Q1aQ '&&q)221b!<CCE XXFSqI3q6::@@BS T YY**1-==c"gFYY**1-==c"gF    ##%2 WWW^ ##% / ME6#e*b)DAqE *c12B!R=DAq"B2w{I!#aAr*33MBBDjQ&aAr*33MB3BGB!VaAr*33J?BaAr*33Gr?r@rArXrCrDrEr*r-rr.r"rrrs r6test_secondary_upsamplez"TestTSPlot.test_secondary_upsamples8*c<*bt<bii++A.>>s4yI4PRYY**1-==c$iH$O ##%2 B YY4BY /LLN =Dt~~/055< << =r9%%%2z***JJ((* =Dt~~/055< << =r8c tjj}|jd}t t j jdjdttdttddd  }|jd dg| |j}t|j!d k(sJ|j#dj%dk(sJ|j#dj%dk(sJ|j#dj%dk(sJ|j#dj%dk(sJ|j&jJt)}|j!D]!}|j+|j-#t|d k(sJtjj/|y)Nrr:r ABCDr 2000-01-01r:rqrrr%rprRr r A (right)r(z B (right)rrSr)rCrDfigure add_subplotr r>r?r@rAr listrrr*rrXr- get_textsrrsetaddrrs)r1rtr4rIrcolorsrs r6test_secondary_legendz TestTSPlot.test_secondary_legendsjj! __S ! II ! !! $ 4 4W =$v,f5\2C@  S#J2.mmo3==?#q(((}}q!**, ;;;}}q!**, ;;;}}q!**,333}}q!**,333{{%%'///MMO )D JJt~~' ( )6{a r8c ttjjdj dt t dttddd }tjj}|jd }|jd d gd ||j}t|j!dk(sJ|j#dj%d k(sJ|j#dj%dk(sJ|j#dj%d k(sJ|j#dj%dk(sJtjj'|y)NrrVrWrrXr:rqrrYrUrprF)r mark_rightr4r rr(rSr)r r>r?r@rAr r]rrrCrDr[r\r*rrXr-r^rrsr1rIrtr4rs r6test_secondary_legend_rightz&TestTSPlot.test_secondary_legend_right*s9  II ! !! $ 4 4W =$v,f5\2C@  jj! __S ! S#J5R@mmo3==?#q(((}}q!**,333}}q!**,333}}q!**,333}}q!**,333 r8c "ttjjdj dt t dttddd }tjj\}}|jd d g| |j}|jd jdk(sJ|jdjdk(sJtjj!|y)NrrVrWrrXr:rqrrYrrp)rrr4rrZr(r r>r?r@rAr r]rrrCrDrEr*rr^rrsres r6test_secondary_legend_barz$TestTSPlot.test_secondary_legend_bar;s  II ! !! $ 4 4W =$v,f5\2C@  **%%'R U"5mmo}}q!**, ;;;}}q!**,333 r8c $ttjjdj dt t dttddd }tjj\}}|jd d gd | |j}|jdjd k(sJ|jdjdk(sJtjj!|y)NrrVrWrrXr:rqrrYrrpF)rrrdr4rr(rhres r6test_secondary_legend_bar_rightz*TestTSPlot.test_secondary_legend_bar_rightHs  II ! !! $ 4 4W =$v,f5\2C@  **%%'R U%BGmmo}}q!**,333}}q!**,333 r8c rttjjdj dt t dttddd }tjj}|jd }ttjjdj dt t dttddd }|jd d g| }|j}t|j!dk(sJ|j"jJt%}|j!D]!}|j'|j)#t|dk(sJtjj+|y)NrrVrWrrXr:rqrrYrUrrrRr )r r>r?r@rAr r]rrrCrDr[r\r*rrXr-rr_r`rrs)r1rIrtr4rrars r6test_secondary_legend_multi_colz*TestTSPlot.test_secondary_legend_multi_colUsP  II ! !! $ 4 4W =$v,f5\2C@  jj! __S !  II ! !! $ 4 4W =$v,f5\2C@  WW#sW 3mmo3==?#q((({{%%'///MMO )D JJt~~' ( )6{a r8c tdtjdjdzt t dt t tdDcgc]}d| c}t }tjj}|jd }|jd d g| }|j}t|jd k(sJ|j jJt#}|jD]!}|j%|j'#t|d k(sJtjj)ycc}w)N皙?xr2r rWrr2i-rYrUrprqrRr )r r>rreshaper r]rrBrCrDr[r\r*rrXr-rr_r`rrsr1rfrIrtr4rrars r6test_secondary_legend_nontsz&TestTSPlot.test_secondary_legend_nontsns!  "))C.((1 1$v,f5595a2aS5VD  jj! __S ! WW#sW 3mmo3==?#q((({{%%'///MMO )D JJt~~' ( )6{a 6s E0c tdtjdjdzt t dt t tdDcgc]}d| c}t }tjj}|jd }|jd d g| }|j}t|jd k(sJ|j jJt#}|jD]!}|j%|j'#t|d k(sJycc}w)NrorprqrWrr2rrrYrUrrrRr )r r>rrsr r]rrBrCrDr[r\r*rrXr-rr_r`rrts r6%test_secondary_legend_nonts_multi_colz0TestTSPlot.test_secondary_legend_nonts_multi_cols  "))C.((1 1$v,f5595a2aS5VD  jj! __S ! WW#sW 3mmo3==?#q((({{%%'///MMO )D JJt~~' ( )6{a6s Ectddd}ttjj dj t |df|}tjj\}}|j|}|j}|jD]4}t |jdkDs |jd k(r4Jy) NrrfrrrrSrrrr2)rr r>r?r@rArXrCrDrEr*rrr get_rotation)r1rrIrJr4rZrs r6test_format_date_axisz TestTSPlot.test_format_date_axissRd; ryy,,Q/??S1 NPS T ##%2 WWW^ ((* 1D4==?#a'((*b000 1r8c$tddd}ttt|}tj j \}}|j||d}tjt|dj|y)Nrr:rrr)rKr) rr]rBrXrCrDrEr*r$r8rr.)r1rlrmrJr4rs r6 test_ax_plotzTestTSPlot.test_ax_plotsn \2C @ s1v  ##%21C( mE!H,>,>,@A1Er8c Ttdddtdddg}tjddd}tjdd d}tjj \}}|j |Dcgc]}|jc}|d |Dcgc]}|jc}|d d \}}tj|Dcgc]}|jc}tj } tj|jdddf| tj|Dcgc]}|jc}tj } tj|jdddf| ycc}wcc}wcc}wcc}w)Nrfir(g$@g&@g?g(@-r ) linewidthrr) rr>rrCrDrEr* toordinalrerr$rr ) r1datesvalues1values2rJr4rlline1line2exps r6test_mpl_nopandaszTestTSPlot.test_mpl_nopandassOdB#T$2%67))D$,))D$, ##%2 GG$) *qQ[[] *  $) *qQ[[] *      hhu5! 5RZZH ##E$4$4$6q!t$rrrrrCrDrEr*r?convertr%rrr1rr3 ts_irregularrJr4rrs r6 test_irregular_ts_shared_ax_xlimz+TestTSPlot.test_irregular_ts_shared_ax_xlimsK  IIb +:lTV3W wwMN  ##%2Ra$QR$kkm e(001C1C1G1G1I2rRRRR)11,2D2D2H2H2JBPRSSSSr8c<gd}gd}td|}td|}tjj\}}|j ||j \}}|j d||j \} } || k\sJ|| ksJy) N)r(rrSr )rrrrr(r$rrrTrR)r rCrDrEr*r? r1index_1index_2rrrJr4 left_before right_before left_after right_afters r6test_secondary_y_non_ts_xlimz'TestTSPlot.test_secondary_y_non_ts_xlims AW % AW % ##%2 2$&KKM! \ DR("$++- Kj(((k)))r8cdtddd}tddd}td|}td|}tjj \}}|j | |j \}}|j d | |j \} } || k\sJ|| ksJy) NrXr rrz 2000-01-05r(r$rrrTrR)rr rCrDrEr*r?rs r6 test_secondary_y_regular_ts_xlimz+TestTSPlot.test_secondary_y_regular_ts_xlims<E<E AW % AW % ##%2 2$&KKM! \ DR("$++- Kj(((k)))r8chtddd}td|}tjj \}}|j ||j \}}|jdjj d | |j \}}||k(sJ||k(sJy) NrXrPrrr(r$rrrTrR) rr rCrDrEr*r?resamplemean) r1rr3rJr4rrrrs r6#test_secondary_y_mixed_freq_ts_xlimz.TestTSPlot.test_secondary_y_mixed_freq_ts_xlimsu5A AS ! ##%2 2$&KKM! \ C$$"$="$++- Kj((({***r8cPddlm}ttjdtj t dd}|jgd}tjj\}}|dd j| |d djd | |dd j| |j\}}||j|jjd |ksJ||j|jj!d |k\sJy)Nrrrrrrr$rrrrTrRrrrs r6"test_secondary_y_irregular_ts_xlimz-TestTSPlot.test_secondary_y_irregular_ts_xlimsK  IIb +:lTV3W wwMN  ##%2Ra$QR$26Ra$kkm e(001C1C1G1G1I2rRRRR)11,2D2D2H2H2JBPRSSSSr8ctdddtdddg}tjj\}}|j |t ddddt ddddg}|j |y)Nir(rrf)rrCrDrEr*r)r1rWrJr4s r6test_plot_outofbounds_datetimez)TestTSPlot.test_plot_outofbounds_datetimesjtQ"Dq!$45 ##%2 4Ar*HT1a,DE r8cDtjdDcgc]}d|d }}tddd}ttjj dj t|df|}tjj\}}|jd| tjj|j}|Dcgc]}|j} }t| t|k(sJ| |k(sJycc}wcc}w) Nr:z00:00:00.0000000z0>2d0nsrrrSr<)r>rrr r?r@rArXrCrDrEr*drawrFr) r1rfexpected_labelsrrIrJr4rErl result_labelss r6"test_format_timedelta_ticks_narrowz-TestTSPlot.test_format_timedelta_ticks_narrow s@B " N1-aX6NNc2D9 ryy,,Q/??S1 NPS T ##%2 r" ##%/56!6 6=!S%9999///O7s DDcgd}tddd}ttjj dj t |df|}tjj\}}|jd|}tjj|j}|Dcgc]}|j}}t |t |k(sJ||k(sJycc}w) N) z00:00:00z1 days 03:46:40z2 days 07:33:20z3 days 11:20:00z4 days 15:06:40z5 days 18:53:20z6 days 22:40:00z8 days 02:26:40z9 days 06:13:20rr:1 drrrSr<)rr r>r?r@rArXrCrDrEr*rrFr) r1rrrIrJr4rErlrs r6 test_format_timedelta_ticks_widez+TestTSPlot.test_format_timedelta_ticks_wide.s  c2E: ryy,,Q/??S1 NPS T ##%2 WWaBW ' ##%/56!6 6=!S%9999///7s<C6cttdtdd}tjj \}}t |j|y)Nr1dayrrr)r rBrrCrDrEr)r*)r1r~rJr4s r6test_timedelta_plotzTestTSPlot.test_timedelta_plotFs= 58_VQ? @ ##%2!&&R(r8ctddd}ttjj dj t ||}tjj\}}t|j|y)N1 day 2 hr 30 min 10 sr:rrrrr rr r>r?r@rArXrCrDrEr)r*r1r%r~rJr4s r6test_timedelta_long_periodz%TestTSPlot.test_timedelta_long_periodLs_ 8"5Q 299((+;;CJG O ##%2!&&R(r8ctddd}ttjj dj t ||}tjj\}}t|j|y)Nrr:z1 nsrrrrrrs r6test_timedelta_short_periodz&TestTSPlot.test_timedelta_short_periodSs_ 8"6R 299((+;;CJG O ##%2!&&R(r8ctddd}|}tjddd}tjdddddd}tjj \}}|j ||g||g y) Nrr:r rrr(g?r')weights)rr>rrCrDrEhist)r1rrlw1w2rJr4s r6 test_histzTestTSPlot.test_histZspRc:  YYq!S ! YYq!S !$B$ ' ##%2 AR)r8c ~tgdtdddtdddtdddg}tgdtdddtd ddtd ddg}tjj \}}|j | |j | |j | y) Nrbrmrfrrir$iir~rr)r rrCrDrEr*)r1rrrJr4s r6test_overlapping_datetimez$TestTSPlot.test_overlapping_datetimecs  r2&r2&r2&  r2&r2&r2&  ##%2 2 2 2r8z1GH9053 matplotlib does not use ax.xaxis.convertercttjjdj dt dd}|j }tjt5|j |j|jdddd|j\}}tj|j|jy#1swYKxYw)Nrr:z 1970-01-02rr$r)r)r r>r?r@rArr*r$r%DeprecationWarningr%rWrrr )r1r~r4l1l2s r6test_add_matplotlib_datetime64z)TestTSPlot.test_add_matplotlib_datetime64}s  II ! !! $ 4 4R 8\26 VVX  ' '(: ; 2 GGAGGQXXSG 1 2B ##BMMOR]]_E  2 2s .)C!!C*cttjjdjdddg}t ddd |d <t j j\}}|jd d| t j j|jd }d}|j|k(sJy) Nr)r:rrlrmrz 2018-01-01r:rrr)rlrmr"r) r r>r?r@rrCrDrEscatterrrFr)r1rIrJr4rKrEs r6"test_matplotlib_scatter_datetime64z-TestTSPlot.test_matplotlib_scatter_datetime64s ryy,,Q/66w?#s T bsC6  ##%2 Vs , ""$Q'~~8+++r8c~tgd}t|gdd}|jdd}t|dy)N) 2020-05-01 2020-05-02z 2020-05-03rbrlrmrlrmrxrotrr r*rr1rlrIrs r6test_check_xticks_rotz TestTSPlot.test_check_xticks_rots: B C QY/ 0www$4a(r8c~tgd}t|gdd}|jdd}t|dy)Nrrz 2020-05-04rbrrlrmr2rrrs r6test_check_xticks_rot_irregularz*TestTSPlot.test_check_xticks_rot_irregulars8 B C QY/ 0www$4b)r8ctgd}t|gdd}|jdjdd}t |d |jdjdd }t |d y) NrrbrrlrmT)rm use_indexr2rFr)rr set_indexr*rrs r6test_check_xticks_rot_use_idxz(TestTSPlot.test_check_xticks_rot_use_idxsl B C QY/ 0||C %%t%<4b)||C %%u%=4a(r8ctgd}t|gdd}|jdddd}t|d |jdddd }t|d y) NrrbrrlrmT)rlrmrErr2rFrrrs r6test_check_xticks_rot_sharexz'TestTSPlot.test_check_xticks_rot_sharexs\ B C QY/ 0wwd4w@4b)wwd5wA4a(r8N)__name__ __module__ __qualname__rymarkfilterwarningsr7rLr\r`rhrur} parametrizerrrrrrrrrrrrrrrrrrxfailrrrrr*r-r/r6r9r r>rrrr rFrMr]rdrgrjrsslowryr}rrrrrrrrrrrrrrrrrrrrrrrrr r rrrr r+r-r2r4r6r8rIrKrPrSrbrfrirkrmrurwrzr|rrrrrrrrrrrrrrrrrrrrr8r6rr/s [[ 56 <7 <-$"#* [[V%OP+Q+  [[L++ 60  [[VdD\2+3+ QH$ [[V%OP4Q4  [[E:: [[L>>  [[V%RS2T2 [[E ) ) [[ VW [[L )X ) [[L$$'$ $ $  [[45 6 ( G 7  8 4 "+ G [[B [[  "BJJ/ r:  ! "BJJ7(rB ! "BJJ7(rB     ,-22E0,,  [[   *&**""#. + , +, CCCC)6 H),H B H * D [[ VW X  R R [[78 R9 R 4 ' H?, [[^.>@P-QR5PS5Pn [[^.>@P-QR3QS3Qj C C#* 8+ Z! F =4"  2* ( [[45161FC0T&* * +T( 000) ))*4 [[QR FS F ,)*))r8rcddlm}|j} |j|j d}|j d|j }t|dd} ||i|} | J|j d|j }|E|jj} t| tr | j} | |j| k(sJ|t|jd} | |  |k(sJ|j d}||d<||i|} | Jtjd5} t!j"|| ddd|j%|y#1swYxYw#|j%|wxYw) NrrUr4r"T) is_period)return_filelike)matplotlib.pyplotrDgcfclfr\popgcagetattrr%r"rrrrr$ ensure_cleanpickledumprs)fr"seriesargskwargspltrtr4orig_ax orig_axfreqrdfreqax_freqpaths r6r)r)sj# '')C  __S !**T3779-gvt4    ZZcggi (  LL%%E%,"ww%'''  48G   3d? "? __S !t   __T 2 #d KKT " # # # # #s$DE25E& E2&E/+E22F)NN)+__doc__rrrrrnumpyr>rypandas._libs.tslibsrrpandas._libs.tslibs.dtypesr pandasr r r r rrrpandas._testing_testingr$pandas.core.indexes.datetimesrrrpandas.core.indexes.periodrrrpandas.core.indexes.timedeltasrpandas.tests.plotting.commonrpandas.tseries.offsetsrrrCrr)rr8r6r s~B  >  ;;.f,'J)J)Z4$r8