zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
U
­ý°dKÞã@södZddlmZmZmZmZddlZddlZddlZddl    m
Z
m Z ddl m mZddlmZmZmZmZmZmZmZddlmZddlmZmZmZddlm Z m!Z!m"Z"ddl#m$Z$dd    l%m&Z&dd
l'm(Z(ej)Gd d „d e&ƒƒZ*dd d„Z+dS)z< Test cases for time series specific (freq conversion, etc) é)ÚdateÚdatetimeÚtimeÚ    timedeltaN)Ú
BaseOffsetÚ    to_offset)Ú    DataFrameÚIndexÚNaTÚSeriesÚconcatÚisnaÚ to_datetime)Ú DatetimeIndexÚ bdate_rangeÚ
date_range)ÚPeriodÚ PeriodIndexÚ period_range)Útimedelta_range)Ú TestPlotBase)Ú WeekOfMonthc @seZdZej d¡dd„ƒZdd„Zdd„Zdd    „Z    d
d „Z
ej  d d dddddddg¡dd„ƒZ ej  d d ddddddddg    ¡dd„ƒZ dd„Zdd„Zej  d dd g¡d!d"„ƒZd#d$„Zd%d&„Zej  d d dddddddg¡d'd(„ƒZej  d)d*d+d,d-d.d/d0d1g¡d2d3„ƒZej  d d ddddddddg    ¡d4d5„ƒZej  d d dddddddg¡d6d7„ƒZej  d)d*d+d,d-d.d/d0d1g¡d8d9„ƒZej  d d ddddddddg    ¡d:d;„ƒZej  d d ddddddddg    ¡d<d=„ƒZd>d?„Zd@dA„ZdBdC„ZejjdDdEdFdG„ƒZdHdI„ZdJdK„Z dLdM„Z!dNdO„Z"dPdQ„Z#dRdS„Z$dTdU„Z%dVdW„Z&dXdY„Z'dZd[„Z(d\d]„Z)d^d_„Z*d`da„Z+dbdc„Z,ejj-ddde„ƒZ.dfdg„Z/dhdi„Z0djdk„Z1dldm„Z2dndo„Z3e4j5dpdq„ƒZ6drds„Z7dtdu„Z8dvdw„Z9dxdy„Z:dzd{„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•„ZHd–d—„ZId˜d™„ZJdšd›„ZKdœd„ZLdždŸ„ZMejjdDdEd d¡„ƒZNd¢d£„ZOd¤d¥„ZPd¦d§„ZQd¨d©„ZRdªd«„ZSd¬d­„ZTd®d¯„ZUd°d±„ZVd²d³„ZWd´dµ„ZXd¶d·„ZYd¸d¹„ZZdºd»„Z[ejjd¼dEd½d¾„ƒZ\d¿dÀ„Z]dÁd„Z^dÃS)ÄÚ
TestTSPlotzignore::UserWarningcCs†|}tddd|d}tddg|d}t|jƒ| ¡}t| ¡ƒd ¡}|dj|djfd    ksft    ‚|d
j|d
jfd ks‚t    ‚dS) Nú1/1/2011éÚH)ÚperiodsÚfreqÚtzgg@g„t@©Úindexr©rréÿÿÿÿ)ér)
rr Ú_check_plot_worksÚplotÚlistÚ    get_linesÚ    get_xdataÚhourÚminuteÚAssertionError)ÚselfZtz_aware_fixturerr ÚtsÚaxÚxdata©r0ú^d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/plotting/test_datetimelike.pyÚtest_ts_plot_with_tz/s
zTestTSPlot.test_ts_plot_with_tzcCs`ttj dd¡tdƒd}|j ¡\}}|jd|d| ¡|     ¡D]}| 
¡dksFt ‚qFdS)Né
é    rr©Zfontsizer.) rÚnpÚrandomÚrandnÚrangeÚpltÚsubplotsr%Úget_xticklabelsZget_yticklabelsZ get_fontsizer+)r,ÚdfÚfigr.Úlabelr0r0r1Útest_fontsize_set_correctly<s
z&TestTSPlot.test_fontsize_set_correctlycCsÂtdddd}t|jdd}ttj t|ƒd¡|d}t|j    ƒ|dd    … 
|d
d …¡}ttj t|ƒd¡|d}t|j    ƒtd d dd}t|jdd}ttj t|ƒd¡|d}t|j    ƒdS)Nú1/1/1987ZMSéd©rr©rérré(é-écz2008-1-1 00:15:00Z15Tr3) rrÚvaluesrr6r7r8Úlenr$r%Úunion)r,Úidxr=Údf2r0r0r1Útest_frame_inferredDs
 
zTestTSPlot.test_frame_inferredcCs<t dddg¡}t||d}t|j|dt|j|ddS)Nr#rrEr)Zxerr)Zyerr)r6Úarrayrr$r%)r,ÚiÚar0r0r1Útest_is_error_nozeroindexWs z$TestTSPlot.test_is_error_nozeroindexc    Cs’tdddd}tdddgdd    dgd
œ|ƒ}|j ¡\}}|j|d t| ¡ƒdksXt‚|j |¡d }t    j
t |d |d ¡W5QRXdS)NrAÚArErCÚxÚyÚzr#r)rSÚB©r.zno numeric data to plot©Úmatch) rrr:r;r%rJr'r+ÚcloseÚpytestÚraisesÚ    TypeError)r,rLr=r>r.Úmsgr0r0r1Útest_nonnumeric_exclude^s  z"TestTSPlot.test_nonnumeric_excluderÚSÚTrÚDÚWÚMÚQrScCsDtd|dd}ttj t|ƒ¡|ƒ}|j ¡\}}t|j    |ddS©Nú
12/31/1999rBrCrX)
rr r6r7r8rJr:r;r$r%©r,rrLÚserÚ_r.r0r0r1Útest_tsplot_periodkszTestTSPlot.test_tsplot_periodzQ-DECZ1B30MincCsDtd|dd}ttj t|ƒ¡|ƒ}|j ¡\}}t|j    |ddSrg)
rr r6r7r8rJr:r;r$r%rir0r0r1Útest_tsplot_datetimerszTestTSPlot.test_tsplot_datetimecCsDt ¡}|j ¡\}}|jd|dd}|| ¡d ¡ks@t‚dS)NÚk©Ústyler.)çrqrqr#r)ÚtmÚmakeTimeSeriesr:r;r%r'Ú    get_colorr+)r,r-rkr.Úcolorr0r0r1Ú test_tsplot{s
zTestTSPlot.test_tsplotc    Cslt ¡}d}tjt|d|jdddW5QRX|jdd}tjt|d|jdddW5QRXdS)NzCannot pass 'style' string with a color symbol and 'color' keyword argument. Please use one or the other or pass 'style' without a color symbolrYzb-z#000099)rpruT)Zdrop)rrrsr\r]Ú
ValueErrorr%Z reset_index)r,r-r_Úsr0r0r1Útest_both_style_and_color‚sÿ z$TestTSPlot.test_both_style_and_colorÚmsÚuscCsD|j ¡\}}tdd|d}ttj t|ƒ¡|ƒ}t|j    |ddS)Nú1/1/2012rB©rrrX)
r:r;rr r6r7r8rJr$r%)r,rrkr.Úrngrjr0r0r1Útest_high_freqszTestTSPlot.test_high_freqcCsnddlm}|ddƒdkst‚|ddƒdks0t‚|tddƒdƒtddƒjksPt‚|ddƒtd    dƒjksjt‚dS)
Nr)Ú get_datevaluercéÃrSrez1987-12rAz1987-1-1)Ú%pandas.plotting._matplotlib.converterr€r+rÚordinal)r,r€r0r0r1Útest_get_datevalue—s
  zTestTSPlot.test_get_datevaluecCszdd„}tdtddddd}|j ¡\}}|j|d    ||d
ƒtdtddd dd}|j|d    ||d ƒt ¡dS) NcSs>| ¡d}| ¡dj}| ¡d}|| ||¡ks:t‚dS)Nr)r'r(rƒÚ    get_ydataZ format_coordr+)r.Zexpected_stringÚ
first_lineZfirst_xZfirst_yr0r0r1Úcheck_format_of_first_point s  zITestTSPlot.test_ts_plot_format_coord.<locals>.check_format_of_first_pointr#z
2014-01-01rEzA-DECr}rrXzt = 2014  y = 1.000000rczt = 2014-01-01  y = 1.000000)r rr:r;r%rrr[)r,r‡Zannualrkr.Zdailyr0r0r1Útest_ts_plot_format_coordŸs 
 
z$TestTSPlot.test_ts_plot_format_coordcCs8td|dd}ttj t|ƒ¡|ƒ}t|j|jj    ƒdS©NrhrBrC)
rr r6r7r8rJr$r%r r©r,rrLrjr0r0r1Útest_line_plot_period_series²sz'TestTSPlot.test_line_plot_period_seriesÚfrqncyZ1SZ3SZ5TZ7HZ4DZ8WZ11MZ3AcCs:td|dd}ttj t|ƒ¡|ƒ}t|j|jj    j
ƒdSr‰) rr r6r7r8rJr$r%r rÚ    rule_code)r,rŒrLrxr0r0r1Ú test_line_plot_period_mlt_series¸sz+TestTSPlot.test_line_plot_period_mlt_seriescCs:td|dd}ttj t|ƒ¡|ƒ}t|j|jj    j
ƒdSr‰) rr r6r7r8rJr$r%r rrrŠr0r0r1Útest_line_plot_datetime_seriesÂsz)TestTSPlot.test_line_plot_datetime_seriescCsDtd|dd}ttj t|ƒd¡|dddgd}t|j|jj    ƒdS©    NrhrBrCrErSrWÚC©r Úcolumns)
rrr6r7r8rJr$r%r r©r,rrLr=r0r0r1Útest_line_plot_period_frameÊs"z&TestTSPlot.test_line_plot_period_framecCsTtd|dd}ttj t|ƒd¡|dddgd}|j |jjj    ¡j}t
|j |ƒdSr) rrr6r7r8rJr Úasfreqrrr$r%)r,rŒrLr=rr0r0r1Útest_line_plot_period_mlt_frameÐs"z*TestTSPlot.test_line_plot_period_mlt_framecCsTtd|dd}ttj t|ƒd¡|dddgd}|j |jjj    ¡j}t
|j |ƒdSr) rrr6r7r8rJr Ú    to_periodrrr$r%r”r0r0r1Útest_line_plot_datetime_frameÜs"z(TestTSPlot.test_line_plot_datetime_framecCsjtd|dd}ttj t|ƒ¡|ƒ}t|jtt |j    ¡ƒƒ}t
|j |j    j ƒ|ddddg}t
|j ƒdS)NrhrBrCrrEéé) rr r6r7r8rJrIr    Zasarrayr r$r%Z inferred_freqrŠr0r0r1Útest_line_plot_inferred_freqås z'TestTSPlot.test_line_plot_inferred_freqcCsf|j ¡\}}tddƒ}ttt|ƒƒ|d}t|dd…|dd…gƒ}|j|dt|dƒrbt    ‚dS)Nz2001-1-1z    2001-1-10rrEršrXr)
r:r;rr r9rJr r%Úhasattrr+)r,rkr.r~r-r0r0r1Útest_fake_inferred_businessñs 
 z&TestTSPlot.test_fake_inferred_businesscCsLt ¡}t|jƒt|jdddd}ttj     t
|ƒ¡|d}t|jƒdS)NrZBQSr3rCr) rrrsr$r%rr r r6r7r8rJ)r,rjÚdrr0r0r1Útest_plot_offset_freqùs
 
z TestTSPlot.test_plot_offset_freqcCsLttdddƒtdddƒtdddƒgƒ}ttj t|ƒ¡|d}t|jƒdS)NéÐr#r›é r)    r    rr r6r7r8rJr$r%)r,rŸrjr0r0r1Ú test_plot_multiple_inferred_freqs&z+TestTSPlot.test_plot_multiple_inferred_freqzApi changed in 3.6.0)Úreasonc Csºddlmmm}tdddd}ttj t    |ƒd¡|d}|j
  ¡\}}|j |d|  ¡}| ¡}| ¡}t||ƒD]8\}    }
| |    ¡ d    ¡} t|
 ¡ƒ} t    | ƒr|| | ks|t‚q|dS)
Nrz2012-6-22 21:59:51.960928ÚLéôrCrrrXú %H:%M:%S.%f)r‚ÚplottingÚ _matplotlibÚ    converterrrr6r7r8rJr:r;r%Ú    get_xaxisZ get_ticklocsÚget_ticklabelsÚzipZ _from_ordinalÚstrftimeÚstrÚget_textr+) r,ÚconvrLr=rkr.ZaxisZtlocsZtlabelsÚlocr?ÚxpÚrsr0r0r1Útest_uhfs  zTestTSPlot.test_uhfc    Cs$tdddd}ttj t|ƒd¡|d}|jddd    d
g}|j ¡\}}|j    |d t
|  ¡d  ¡dd…dfƒ  ¡}d }t |dd…||d|g¡d k ¡s¨t‚|j ¡\}}| ¡}|j t¡|_|j    |d t
|  ¡d  ¡dd…dfƒ  ¡}t |dd…|¡d k ¡s t‚dS)Nz2012-6-22 21:59:51rarBrCrrrr#rEérXg)QΠÈEè>g:Œ0âŽyE>)rrr6r7r8rJÚilocr:r;r%r r'Ú
get_xydataZdiffÚfabsÚallr+Úcopyr ÚastypeÚobject)    r,rLr=Úirregrkr.ZdiffsÚsecrMr0r0r1Ú test_irreg_hfs $, $zTestTSPlot.test_irreg_hfcCspt ¡}|ddddg}|j ¡\}}|j|d}|dk    s>t‚t| ¡d ¡|j    ƒD]\}}||ksVt‚qVdS)Nrr#rérX)
rrrsr:r;r%r+r­r'r(r )r,rjrkr.Úretr´r³r0r0r1Ú"test_irregular_datetime64_repr_bug,s   z-TestTSPlot.test_irregular_datetime64_repr_bugcCsnt ¡}|j ¡\}}|j|d| ¡d ¡d|jdjksFt    ‚| ¡d 
¡}t |dj dksjt    ‚dS)NrXrr!©ÚdatarW) rrZmakePeriodSeriesr:r;r%r'r¸r rƒr+r(rÚfreqstr©r,Úbtsrkr.rLr0r0r1Útest_business_freq8s  $zTestTSPlot.test_business_freqcCs€t d¡ d¡}| d¡}|j ¡\}}|j|d| ¡d ¡d|j    dj
ksXt ‚| ¡d  ¡}t |djdks|t ‚dS)Ni,ZBMrerXrr!rÄ)rrrsr–r˜r:r;r%r'r¸r rƒr+r(rrÆ)r,rÈr-rkr.rLr0r0r1Útest_business_freq_convert@s
 $z%TestTSPlot.test_business_freq_convertc    Csltƒ}t d¡ |¡}|j ¡\}}|j|d| ¡d ¡}d}t    j
t |dt |dW5QRXdS)NršrXrz)freq not specified and cannot be inferredrYrÄ) rrrrsr–r:r;r%r'r(r\r]rwr)r,rrÈrkr.rLr_r0r0r1Útest_freq_with_no_period_aliasIs z)TestTSPlot.test_freq_with_no_period_aliascCsftddddtdd}tt d¡|d}|j ¡\}}|j|d| ¡d         ¡}t
|ƒj rbt ‚dS)
Nz
2012-12-20érr}é©ÚminutesrrXr) rrrr6Úaranger:r;r%r'r(r    Ú is_normalizedr+)r,rLr=rkr.r´r0r0r1Útest_nonzero_baseUs  zTestTSPlot.test_nonzero_basecCsTtdt ¡iƒ}|j ¡\}}|j|d| ¡d ¡}t |j     
¡t |ƒ¡dS)NrQrXr) rrrrsr:r;r%r'r(Úassert_index_equalr r˜rrÇr0r0r1Útest_dataframe^s
 zTestTSPlot.test_dataframecsž‡fdd„}t ¡}ˆj ¡\}}|j|d||ƒˆj ¡\}}t||ddœƒ}|j|d||ƒt||ddœƒ}|jdd}|D] }||ƒqŒdS)NcsH| ¡}| |dd|dd¡| ¡}|d|ddksDt‚|d|ddks\t‚td|jƒtd|jƒf}| dd¡| ¡}t|dƒ|djks¢t‚t|dƒ|djks¼t‚td|jƒtd|jƒf}| tdddƒtdddƒ¡| ¡}t|dƒ|djkst‚t|dƒ|djks0t‚| ¡}ˆj     
|¡dS)    Nrršr#r3ú1/1/2000z4/1/2000r¡r¶) Úget_xlimÚset_xlimr+rrÚintrƒrÚ
get_figurer:r[)r.ZxlimÚresultÚexpectedr>©r,r0r1Ú_testfs" z*TestTSPlot.test_axis_limits.<locals>._testrXr#©rQÚbT)r;)rrrsr:r;r%r)r,rÝrjrkr.r=Úaxesr0rÜr1Útest_axis_limitses    zTestTSPlot.test_axis_limitscCs¬ddlmmm}| tdƒ¡|jks0t‚| tdƒ¡|jksHt‚| tdƒ¡|jks`t‚| tdƒ¡|j    ksxt‚| tdƒ¡|j
kst‚| tdƒ¡|jks¨t‚dS)NrrWrcrerfrSrd) r‚r¨r©rªZ
get_finderrZ _daily_finderr+Z_monthly_finderZ_quarterly_finderZ_annual_finder)r,r±r0r0r1Útest_get_finderszTestTSPlot.test_get_findercCsðdddddddg}tdd    d
jgt|ƒ}}g}g}|D]˜}td|d }ttj t|ƒ¡|ƒ}|j     ¡\}    }
|j
|
d |
  ¡} |  |   ¡d ¡|
 ¡\} } |
 | d| ¡|  |   ¡d ¡|j |
 ¡¡q:||ksàt‚||ksìt‚dS)Nr3rFéüii¶i¾
é'z1999-1-1rWrD©rrXrçÍÌÌÌÌÌì?)rrƒrJrr r6r7r8r:r;r%r«ÚappendÚget_majorticklocsrÖr×r[rÙr+)r,Zday_lstÚxpl1Úxpl2Úrs1Úrs2Únr~rjrkr.ÚxaxisÚvminÚvmaxr0r0r1Útest_finder_daily—s"    zTestTSPlot.test_finder_dailycCsìddg}tdƒjgt|ƒ}}g}g}|D]¢}tdt|dƒdd}ttj t|ƒ¡|ƒ}|j     
¡\}    }
|j |
d|
  ¡} |  |  ¡d    ¡|
 ¡\} } |
 | d
| ¡|  |  ¡d    ¡|j     |
 ¡¡q,||ksÜt‚||ksèt‚dS) Ng @r¢Ú1988Q1Ú1987Q2r¶rfr}rXrræ©rrƒrJrrØr r6r7r8r:r;r%r«rçrèrÖr×r[rÙr+©r,Zyrsrérêrërìrír~rjrkr.rîrïrðr0r0r1Útest_finder_quarterly­s"   z TestTSPlot.test_finder_quarterlycCsðddddg}tdƒjgt|ƒ}}g}g}|D]¢}tdt|dƒdd    }ttj t|ƒ¡|ƒ}|j     
¡\}    }
|j |
d
|
  ¡} |  |  ¡d ¡|
 ¡\} } |
 | d | ¡|  |  ¡d ¡|j     |
 ¡¡q0||ksàt‚||ksìt‚dS) Ngffffffò?g@r¶r¢zJan 1988róé rer}rXrrærôrõr0r0r1Útest_finder_monthlyÃs"    zTestTSPlot.test_finder_monthlycCsntdddd}ttj t|ƒ¡|ƒ}|j ¡\}}|j|d|     ¡}| 
¡d}t ddƒj }||ksjt ‚dS)Nròi rer}rXrZ1989Q1)rr r6r7r8rJr:r;r%r«rèrrƒr+)r,r~rjrkr.rîr´r³r0r0r1Útest_finder_monthly_longÙs   z#TestTSPlot.test_finder_monthly_longc    Cs¨ddddddddg}dd    „|Dƒ}g}d
D]l}td |d d }ttj t|ƒ¡|ƒ}|j ¡\}}|j|d|     ¡}| 
|  ¡d¡|j  |  ¡¡q*||ks¤t‚dS)NriÄiÆéËiäiizcSsg|]}t|ddj‘qS)rSrD)rrƒ©Ú.0rTr0r0r1Ú
<listcomp>åsz1TestTSPlot.test_finder_annual.<locals>.<listcomp>)ršr3éé1rHéÇiWiéZ1987rSr}rXr)rr r6r7r8rJr:r;r%r«rçrèr[rÙr+)    r,r³r´Znyearsr~rjrkr.rîr0r0r1Útest_finder_annualãs zTestTSPlot.test_finder_annualc    Cstd}tdd|d}ttj t|ƒ¡|ƒ}|j ¡\}}|j|d|     ¡}| 
¡d}t dddj }||kspt ‚dS)Ni@ú1/1/1999ZMinrCrXrrD©rr r6r7r8rJr:r;r%r«rèrrƒr+)    r,Znminutesr~rjrkr.rîr´r³r0r0r1Útest_finder_minutelyòs  zTestTSPlot.test_finder_minutelyc    Cstd}tdd|d}ttj t|ƒ¡|ƒ}|j ¡\}}|j|d|     ¡}| 
¡d}t dddj }||kspt ‚dS)NérrrCrXrrDr)    r,Znhoursr~rjrkr.rîr´r³r0r0r1Útest_finder_hourlyÿs  zTestTSPlot.test_finder_hourlyc
 
CsZt ¡}tj|jdd…<|j ¡\}}|j|d| ¡}t    |ƒdksJt
‚|d}|  ¡}tj j |t|ƒtjd}t|tj jj ƒs†t
‚|j}|dd…df ¡s¤t
‚|j | ¡¡t ¡}|dddddd    d
d d g    }tj|jdd…<|j ¡\}}|j|d}| ¡}t    |ƒdkst
‚|d}|  ¡}tj j |t|ƒtjd}t|tj jj ƒsXt
‚|j}|dd…df ¡sxt
‚|j | ¡¡dddddd    d
d d g    }ttj t    |ƒ¡|ƒ}    tj|    jdd…<|j ¡\}}|    j|d| ¡}t    |ƒdksøt
‚|d}|  ¡}tj j |t|ƒtjd}t|tj jj ƒs6t
‚|j}|dd…df ¡sVt
‚dS) NršérXr#r©ÚmaskZ
fill_valuerrÁr4r÷éé)rrrsr6Únanr·r:r;r%r'rJr+r¸ÚmaÚ MaskedArrayr Ú
isinstanceÚcorer    rºr[rÙr r7r8)
r,r-rkr.ÚlinesÚlinerÅr    rLrjr0r0r1Ú    test_gaps sP   zTestTSPlot.test_gapsc
Csút ¡}tj|jdd…<|j ¡\}}|j|dt|j    d|j    ddd}t
tj   t |ƒ¡|ƒ}|jdd    | ¡}t |ƒd
ks†t‚t |j ¡ƒd
ksœt‚|d}| ¡}tjj|t|ƒtjd }t|tjjjƒsØt‚|j}    |    dd…d
f ¡söt‚dS) NršrrXrr"Z12hrDT©Ú secondary_yr#r)rrrsr6r r·r:r;r%rr r r7r8rJr'r+Úright_axr¸r rr rrr    rº)
r,Úlowrkr.ÚidxhrxrrrÅr    r0r0r1Útest_gap_upsample>s   zTestTSPlot.test_gap_upsamplec
Csdttj d¡ƒ}ttj d¡ƒ}|j ¡\}}|jdd}t|dƒsHt‚t|dƒrVt‚|     ¡}| 
¡d}t|  ¡|  ¡ƒ}t  ||¡| ¡ ¡dksœt‚|d ¡ ¡r°t‚|j |¡|j ¡\}}    |j|    d|     ¡ ¡d    ksêt‚|j |     ¡¡| ¡}|jdd}    | ¡ ¡s t‚t|dƒr0t‚t|dƒs@t‚t|    dƒsPt‚t|    dƒr`t‚dS)
Nr3TrÚleft_axrrÚrightrXÚleft)r r6r7r8r:r;r%rr+Úget_axesr'r…r(rrÚassert_series_equalÚ    get_yaxisÚget_ticks_positionÚ get_visibler[rÙ)
r,rjÚser2r>rkr.ràrr³Úax2r0r0r1Útest_secondary_ySs0      zTestTSPlot.test_secondary_yc Cs8tddd}ttj d¡|ƒ}ttj d¡|ƒ}|j ¡\}}|jdd}t|dƒsXt    ‚t|dƒrft    ‚| 
¡}|  ¡d}t|  ¡|  ¡ƒ ¡}    t ||    ¡| ¡ ¡d    ks°t    ‚|d ¡ ¡rÄt    ‚|j |¡|j ¡\}}
|j|
d
|
 ¡ ¡d ksþt    ‚|j |
 ¡¡| ¡}|jdd}
| ¡ ¡s4t    ‚dS) NrÕr3råTrrrrrrXr)rr r6r7r8r:r;r%rr+rr'r…r(Z to_timestamprrrrr r!r[rÙ) r,rLrjr"r>rkr.ràrr³r#r0r0r1Útest_secondary_y_tsos*       zTestTSPlot.test_secondary_y_tscCsnttj d¡ƒ}|j ¡\}}|jdd|d}t|dƒs<t‚t|dƒrJt‚|     ¡}|d 
¡  ¡dksjt‚dS)    Nr3TZdensity©rÚkindr.rrr#r) r r6r7r8r:r;r%rr+rrr ©r,rjr>r.ràr0r0r1Útest_secondary_kdeˆszTestTSPlot.test_secondary_kdecCsRttj d¡ƒ}|j ¡\}}|jdd|d| ¡}|d ¡     ¡dksNt
‚dS)Nr3TÚbarr&r#r) r r6r7r8r:r;r%rrr r+r(r0r0r1Útest_secondary_bar’s
zTestTSPlot.test_secondary_barcCszttj dd¡dddgd}|jddgdd}|d     ¡ ¡d
ksFt‚|d  ¡ ¡d ks^t‚|d  ¡ ¡d
ksvt‚dS)NršrErQrßÚc©r“T)rr;rrr#rr©rr6r7r8r%rr r+©r,r=ràr0r0r1Útest_secondary_frame™s
zTestTSPlot.test_secondary_framecCs|ttj dd¡dddgd}|jdddgdd    }|d
 ¡ ¡d ksHt‚|d  ¡ ¡d ks`t‚|d ¡ ¡d ksxt‚dS)NršrErQrßr,r-r*T)r'rr;rrr#rrr.r/r0r0r1Útest_secondary_bar_frame s
z#TestTSPlot.test_secondary_bar_framec     CsÖt ¡}|ddddddddg}|j ¡\}}|j|d    |jd
|d }| ¡}t|d ¡ƒ}t|d  ¡ƒ}t ||j     
d ¡¡t ||j     
d ¡¡|  ¡\}    }
|j     
¡} |    | dj ksÀt ‚|
| dj ksÒt ‚dS©Nrršr3r¢r÷é ér
rXÚgror#rWr")rrrsr:r;r%r'rr(rÓr r˜rÖrƒr+© r,Ús1Ús2rkr.r#rÚidx1Úidx2rrZpidxr0r0r1Útest_mixed_freq_regular_first§s  
z(TestTSPlot.test_mixed_freq_regular_firstc    Cs¦t ¡}|ddddddddg}|j ¡\}}|jd    |d
|j|d t|d ƒrVt‚| ¡}|d ¡}t     ||j
  t ¡j ¡|d  ¡}t     ||j
  t ¡j ¡dS©Nrršr3r¢r÷r3r4r
r5rorXrr#)rrrsr:r;r%rr+r'r(Úassert_numpy_array_equalr r¼r½rI©r,r7r8rkr.rÚx1Zx2r0r0r1Útest_mixed_freq_irregular_first½s   z*TestTSPlot.test_mixed_freq_irregular_firstc     Csèt ¡ ¡}|jddddddddgdd…f}|j ¡\}}|j|d    |jd
|d }| ¡}t|d     ¡ƒ}t|d      ¡ƒ}| 
|j   d ¡¡s”t ‚| 
|j   d ¡¡sªt ‚| ¡\}    }
|j   ¡} |    | djksÒt ‚|
| djksät ‚dSr2)rrrsÚto_framer·r:r;r%r'rr(Úequalsr r˜r+rÖrƒr6r0r0r1Ú test_mixed_freq_regular_first_dfÊs "  
z+TestTSPlot.test_mixed_freq_regular_first_dfc    Cs´t ¡ ¡}|jddddddddgdd…f}|j ¡\}}|jd    |d
|j|d t|d ƒrdt‚|     ¡}|d 
¡}t  ||j   t¡j¡|d  
¡}t  ||j   t¡j¡dSr<)rrrsrAr·r:r;r%rr+r'r(r=r r¼r½rIr>r0r0r1Ú"test_mixed_freq_irregular_first_dfÛs "   z-TestTSPlot.test_mixed_freq_irregular_first_dfcCs˜tdddd}tdddd}ttj t|ƒ¡|ƒ}ttj t|ƒ¡|ƒ}|j ¡\}}|j|d|j|d|     ¡D]}t
|  ¡dj dksvt ‚qvdS)    Nrémrcr}r÷rerXrÄ©rr r6r7r8rJr:r;r%r'rr(rr+©r,rÚidxlÚhighrrkr.rr0r0r1Útest_mixed_freq_hf_firstés   z#TestTSPlot.test_mixed_freq_hf_firstcCsˆtdddd}tj d¡}t||d}| d¡ ¡}|j ¡\}}|j    |d}|j    d    |d
|j
d   ¡d |j
d   ¡d ks„t ‚dS) Nz2012-01-01 13:00ú
2012-01-02rrDr÷rrbrXÚrrorr#) rr6r7r8r r–Z interpolater:r;r%rr(r+)r,Zts_indZts_datar-Zts2rkr.r0r0r1Útest_mixed_freq_alignmentôs   z$TestTSPlot.test_mixed_freq_alignmentc    Cs^tdddd}tdddd}ttj t|ƒ¡|ƒ}ttj t|ƒ¡|ƒ}|j ¡\}}|jd|d|jd|d|     ¡D]}t
|  ¡d    j dkszt ‚qz| ¡}t|jƒd
ks²t ‚|j | ¡¡tdd d d}tdd dd}ttj t|ƒ¡|ƒ}ttj t|ƒ¡|ƒ}|j ¡\}}|j|d|j|d|     ¡D] }t
|  ¡d    j d ks8t ‚q8dS)NrrErcr}r÷reT)Zlegendr.rÄréðrbr¶rrX)rr r6r7r8rJr:r;r%r'rr(rr+Ú
get_legendZtextsr[rÙ)    r,rrHrIrrkr.rÚlegr0r0r1Útest_mixed_freq_lf_firsts*    z#TestTSPlot.test_mixed_freq_lf_firstcCs~t ¡}|ddddddddd    d
d d d dddg}tdddd}ttj t|ƒ¡|ƒ}|j     ¡\}}|j
|d|j
|ddS)Nrr#rrEr¶ršr›rÁér4r3r
ééééz1/3/2000rÍrWr}rX) rrrsrr r6r7r8rJr:r;r%)r,r-r¾r~Zpsrkr.r0r0r1Útest_mixed_freq_irreg_periods( z'TestTSPlot.test_mixed_freq_irreg_periodcCstdddd}|dd… |dd…¡}ttt|ƒƒ|ƒ}ttt|ƒƒ|ƒ}|jjddd\}\}}|j|d    |j|d    |jdksŠt    ‚|jdks˜t    ‚|j
d
  ¡d |j
d
  ¡d ksÀt    ‚|j ¡\}}|  ¡}|j|d    |j|d    |j
d
  ¡d |j
d
  ¡d kst    ‚dS) Nú
2015-01-01rErer}r#rT)ZnrowsÚsharexrXrr!) rrKr r9rJr:r;r%rr+rr¸Ztwinx)r,r9r:r7r8r>Zax1r#r0r0r1Útest_mixed_freq_shared_ax"s  (  z$TestTSPlot.test_mixed_freq_shared_axcCs‚|j ¡\}}tdtdgƒ}ttt|ƒƒ|ƒ}|j|d| ¡d     ¡}|j
  ¡t|ƒ  ¡ksdt ‚t|ƒ  ¡|j
  ¡ks~t ‚dS)NrXz
2015-01-03rXr)r:r;rr
r r9rJr%r'r(r Úminr+Úmax)r,rkr.Zdtirxr/r0r0r1Útest_nat_handlingBs zTestTSPlot.test_nat_handlingcCsštdddd}tdddd}ttj t|ƒ¡|ƒ}ttj t|ƒ¡|ƒ}|j ¡\}}|j|d|j|d|     ¡D]}t
|  ¡dj |j ksvt ‚qvdS)    Nré4rdr}r÷rerXrÄrFrGr0r0r1Útest_to_weekly_resamplingMs   z$TestTSPlot.test_to_weekly_resamplingc Cstdddd}tdddd}ttj t|ƒ¡|ƒ}ttj t|ƒ¡|ƒ}|j ¡\}}|j|d|j|d|     ¡j
  tj ¡}tj dd    d
d d d ddddddg tj d}| ¡D]P}    t|     ¡dj|jksÎt‚|    jdd}
t|
ƒdkrôt |
|¡q°t |
|¡q°t ¡dS)Nrr^rdr}r÷rerXéêéïéóé÷éûéééé ééé©ZdtyperÄF©Úorig)rr r6r7r8rJr:r;r%r˜Úasi8r¼Úfloat64rOr'rr(rr+rrr=r[) r,rrHrIrrkr.Z
expected_hZ
expected_lrr/r0r0r1Útest_from_weekly_resamplingXs&  þ   z&TestTSPlot.test_from_weekly_resamplingcCsZtdddd}tdddd}ttj t|ƒd¡|dd    d
gd }ttj t|ƒd¡|dd    d
gd }d D]p\}}|j ¡\}}|j|d |d|j|d |dtj    ddddddddddddg tj
d}    tj t|    ƒtj
d}
t dƒD]^} |j | } t|  ¡ƒj|jkst‚t | jdd|    ¡|
|| j7}
t | jdd|
¡qà| ¡j tj
¡}    tj t|    ƒtj
d}
t dƒD]f} |j d| } t|  ¡dj|jksœt‚t | jdd|    ¡|
|| j7}
t | jdd|
¡qnqdd D]v\}}|j ¡\}}|j|d |d|j|d |d| ¡j tj
¡}    tj t|    ƒtj
d}
t dƒD]b} |j | } t|  ¡dj|jkslt‚t | jdd|    ¡|
|| j7}
t | jdd|
¡qBtj    ddddddddddddg tj
d}    tj t|    ƒtj
d}
t dƒD]f} |j d| } t|  ¡dj|jkst‚t | jdd|    ¡|
|| j7}
t | jdd|
¡qêqÜdS)Nrr^rdr}r÷rerErr#rr’))rÚarea)rrrT)r'Zstackedr.r`rarbrcrdrerfrgrhrirjrkrlFrmrÄ)rrr6r7ÚrandrJr:r;r%rOrpÚzerosr9rrr(rr+rrr=rIr…r˜ror¼)r,rrHrIrZkind1Zkind2rkr.Z
expected_xZ
expected_yrPrrr0r0r1Ú$test_from_resampling_area_line_mixedos”""ôñ 
 
ôñ z/TestTSPlot.test_from_resampling_area_line_mixedcCstdddd}tdddd}ttj t|ƒ¡|ƒ}ttj t|ƒ¡|ƒ}|j ¡\}}|j|d|j|dt|     ¡ƒdks‚t
‚|     ¡D]}t |  ¡d    j d
ksŠt
‚qŠt ¡|j ¡\}}|j|d|j|dt|     ¡ƒdksêt
‚|     ¡D]}t |  ¡d    j d
ksòt
‚qòdS) Nz2014-07-01 09:00raé2rCZ100Lr¦rXrrÄr¥)rr r6r7r8rJr:r;r%r'r+rr(rrrr[rGr0r0r1Ú"test_mixed_freq_second_millisecondÊs"      z-TestTSPlot.test_mixed_freq_second_millisecondcCs¦tdddƒtdddƒtdddƒg}ttj t|ƒd¡t|tdƒ}t|j    ƒt
ddd    }|d
d dd g  t¡}ttj t|ƒd¡|ƒ}|j   ¡\}}t|j    |d dS)Nr¡r#ršr rErlrÕr3rårrr4rX)rrr6r7r8rJr    r½r$r%rr¼r:r;)r,rLr=rkr.r0r0r1Útest_irreg_dtypesás" 
 zTestTSPlot.test_irreg_dtypescstddddddƒ‰tj ddd¡ ¡}t ‡fdd„|Dƒ¡}ttj t|ƒ¡tj t|ƒ¡dœ|d    }|j     
¡\}}|j |d
|  ¡}|  ¡}t||ƒD]v\}}    tt|ƒd ƒ\}
} t|
d ƒ\} }
|     ¡} t| ƒdkrœ| dkrôt| |
| ƒ d ¡}nt| |
| ƒ d ¡}|| ksœt‚qœdS)Nr#rErÍrr cs"g|]}ˆtt|ƒd ¡‘qS©rΩrrØrrû©Útr0r1rýñsz(TestTSPlot.test_time.<locals>.<listcomp>rÞrrXé<ú%H:%M:%Sú%H:%M)rr6r7ÚrandintÚcumsumrOrr8rJr:r;r%Ú
get_xticksr<r­ÚdivmodrØr°rr®r+©r,Údeltasr-r=r>r.ÚticksÚlabelsÚ_tickÚ_labelÚmrxÚhr´r³r0r{r1Ú    test_timeîs( ÿ  zTestTSPlot.test_timecs¾tddddddƒ‰tj ddd¡ ¡}t ‡fdd„|Dƒ¡}ttj t|ƒ¡tj t|ƒ¡dœ|d    }|j     
¡\}}|j |d
|  ¡}|  ¡}t||ƒD]v\}}    tt|ƒd ƒ\}
} t|
d ƒ\} }
|     ¡} t| ƒdkrœ| dkrôt| |
| ƒ d ¡}nt| |
| ƒ d ¡}|| ksœt‚qœ| dd¡|  ¡}|  ¡}t||ƒD]~\}}    tt|ƒd ƒ\}
} t|
d ƒ\} }
|     ¡} t| ƒdkr:| dkr–t| |
| ƒ d ¡}nt| |
| ƒ d ¡}|| ks:t‚q:dS)Nr#rErÍrr cs"g|]}ˆtt|ƒd ¡‘qSryrzrûr{r0r1rý    sz4TestTSPlot.test_time_change_xlim.<locals>.<listcomp>rÞrrXr}r~rz1:30z5:00)rr6r7r€rrOrr8rJr:r;r%r‚r<r­rƒrØr°rr®r+r×r„r0r{r1Útest_time_change_xlims@ ÿ   
z TestTSPlot.test_time_change_xlimcs‚tddddddƒ‰tj ddd¡ ¡}t ‡fdd„|Dƒ¡}ttj t|ƒ¡tj t|ƒ¡dœ|d    }|j     
¡\}}|j |d
}|  ¡}|  ¡}t||ƒD]à\}}    tt|ƒd ƒ\}
} t|t|ƒd ƒ} t|
d ƒ\} }
|     ¡}t|ƒdkrœ| d dkrt| |
| | ƒ d¡}n`| d dkr<t| |
| | ƒ d¡dd…}n4| dkr\t| |
| | ƒ d¡}nt| |
| | ƒ d¡}||ksœt‚qœdS)Nr#rErÍrr cs"g|]}ˆtt|ƒd ¡‘qS))Ú microsecondsrzrûr{r0r1rý2sz.TestTSPlot.test_time_musec.<locals>.<listcomp>rÞrrXr}g€„.Aièr§éýÿÿÿr~r)rr6r7r€rrOrr8rJr:r;r%r‚r<r­rƒrØÚroundr°rr®r+)r,r…r-r=r>r.r†r‡rˆr‰rŠrxr{r‹r´r³r0r{r1Útest_time_musec/s2 ÿ  
zTestTSPlot.test_time_museccCsÚtdddd}tdddd}ttj t|ƒ¡|ƒ}ttj t|ƒ¡|ƒ}|j ¡\}}|j|d|jd|d    }|     ¡D]}t
|  ¡ƒj dksxt ‚qxt|d
ƒs¢t ‚t|d ƒr°t ‚|j     ¡D]}t
|  ¡ƒj dksºt ‚qºdS) NrrErcr}r÷rerXT©rr.rr)rr r6r7r8rJr:r;r%r'rr(rr+rrrGr0r0r1Útest_secondary_upsampleNs  z"TestTSPlot.test_secondary_upsamplecCsZ|j ¡}| d¡}t ¡}|jddg|d| ¡}t| ¡ƒdksJt    ‚| 
¡d  ¡dksbt    ‚| 
¡d  ¡d    kszt    ‚| 
¡d
  ¡d ks’t    ‚| 
¡d   ¡d ksªt    ‚|j  ¡dks¼t    ‚t ƒ}| ¡D]}| | ¡¡qÊt|ƒdksît    ‚|j |¡|j ¡}| d¡}|jdd gd|d| ¡}t| ¡ƒdks@t    ‚| 
¡d  ¡dksZt    ‚| 
¡d  ¡dkstt    ‚| 
¡d
  ¡d ksŽt    ‚| 
¡d   ¡d ks¨t    ‚|j |¡|j ¡\}}|jddg|d| ¡}| 
¡d  ¡dksöt    ‚| 
¡d  ¡dkst    ‚|j |¡|j ¡\}}|jddgd|d| ¡}| 
¡d  ¡dks`t    ‚| 
¡d  ¡dkszt    ‚|j |¡|j ¡}| d¡}t ¡}|jd d g|d}| ¡}t| ¡ƒdksÒt    ‚|j  ¡dksæt    ‚t ƒ}| ¡D]}| | ¡¡qôt|ƒdkst    ‚|j |¡t ¡}|j ¡}| d¡}|jddg|d}| ¡}t| ¡ƒdkstt    ‚|j  ¡dksˆt    ‚t ƒ}| ¡D]}| | ¡¡q–t|ƒdks¾t    ‚|j ¡|j ¡}| d¡}|jd d g|d}| ¡}t| ¡ƒdks t    ‚|j  ¡dks t    ‚t ƒ}| ¡D]}| | ¡¡q.t|ƒdksVt    ‚dS)NéÓrSrWr’r¶rz    A (right)r#z    B (right)rr‘rErcF)rÚ
mark_rightr.r*)r'rr.)r'rr•r.)r:ÚfigureÚ add_subplotrrZmakeTimeDataFramer%rOrJr'r+Z    get_textsr°rÚsetÚaddrtr[r;Z makeDataFrame)r,r>r.r=rPÚcolorsrr0r0r1Útest_secondary_legend]s
 
 
 
 
 
 
 
 
 
 
 z TestTSPlot.test_secondary_legendcCsztdddd}ttj t|ƒd¡|ƒ}|j ¡\}}|j|d}|     ¡}| 
¡D]$}t|  ¡ƒdkrP|  ¡dksPt ‚qPdS)    Nr|r÷rer}rErXrrÍ)rrr6r7r8rJr:r;r%r«r¬r°Z get_rotationr+)r,r~r=rkr.rîrr0r0r1Útest_format_date_axis¸s  z TestTSPlot.test_format_date_axiscCsXtdddd}ttt|ƒƒƒ}|j ¡\}}|j||dd}t t    |d 
¡ƒ|¡dS)NrKr3rc©ÚstartrrÚY)r?r) rr&r9rJr:r;r%rrrÓrr()r,rTrUrkr.rr0r0r1Ú test_ax_plotÃs
zTestTSPlot.test_ax_plotc
Csütdddƒtdddƒg}t ddd¡}t dd    d¡}d
d d œ}|j ¡\}}|jd d„|Dƒ|f|Ž|jdd„|Dƒ|f|Ž| ¡\}}tjdd„|Dƒtjd}    t     
|  ¡dd…df|    ¡tjdd„|Dƒtjd}    t     
|  ¡dd…df|    ¡dS)NéØr÷éiÙr#g$@g&@gà?g(@ú-r¶)ÚfmtZlwcSsg|] }| ¡‘qSr0©Ú    toordinalrûr0r0r1rýÒsz0TestTSPlot.test_mpl_nopandas.<locals>.<listcomp>cSsg|] }| ¡‘qSr0r¥rûr0r0r1rýÓscSsg|] }| ¡‘qSr0r¥rûr0r0r1rý×srlrcSsg|] }| ¡‘qSr0r¥rûr0r0r1rýÙs) rr6rÐr:r;Z    plot_dater'rOrprrr=r¸)
r,ÚdatesZvalues1Zvalues2Úkwrkr.Zline1Zline2Úexpr0r0r1Útest_mpl_nopandasÊs
 zTestTSPlot.test_mpl_nopandascCs¼ddlm}t ¡dd…}|dddddd    d
d d d dddg }|j ¡\}}|dd…j|d|dd…j|d| ¡\}}|| |j     
¡d|¡ksœt ‚|| |j      ¡d|¡ks¸t ‚dS)Nr©ÚDatetimeConverterr r#r¶ršr›rRr4r3r÷r3r4r
rTrUrXÚ© r‚r¬rrrsr:r;r%rÖÚconvertr r[r+r\©r,r¬r-Z ts_irregularrkr.rrr0r0r1Ú test_irregular_ts_shared_ax_xlimÜs " z+TestTSPlot.test_irregular_ts_shared_ax_xlimc CsŒddddg}ddddg}td|d    }td|d    }|j ¡\}}|j|d
| ¡\}}|jd |d | ¡\}    }
||    ks|t‚||
ksˆt‚dS) Nr#rrEr¶ršr›rÁrRrrXTr’)r r:r;r%rÖr+© r,Zindex_1Zindex_2r7r8rkr.Ú left_beforeÚ right_beforeÚ
left_afterÚ right_afterr0r0r1Útest_secondary_y_non_ts_xlimís        z'TestTSPlot.test_secondary_y_non_ts_xlimc Cstdddd}tdddd}td|d}td|d}|j ¡\}}|j|d    | ¡\}}|jd
|d | ¡\}    }
||    ks€t‚||
ksŒt‚dS) Nú
2000-01-01r¶rcrz
2000-01-05r#rrrXTr’)rr r:r;r%rÖr+r²r0r0r1Ú test_secondary_y_regular_ts_xlimýs      z+TestTSPlot.test_secondary_y_regular_ts_xlimc    Cs€tdddd}td|d}|j ¡\}}|j|d| ¡\}}| d¡ ¡jd    |d
| ¡\}}||kspt‚||ks|t‚dS) Nr¸rär[r}r#rrXrcTr’)    rr r:r;r%rÖZresampleZmeanr+)    r,r~r-rkr.r³r´rµr¶r0r0r1Ú#test_secondary_y_mixed_freq_ts_xlim s     z.TestTSPlot.test_secondary_y_mixed_freq_ts_xlimcCsÒddlm}t ¡dd…}|dddddd    d
d d d dddg }|j ¡\}}|dd…j|d|dd…jd|d|dd…j|d| ¡\}}|| |j     
¡d|¡ks²t ‚|| |j      ¡d|¡ksÎt ‚dS)Nrr«r r#r¶ršr›rRr4r3r÷r3r4r
rTrUrXTr’r­r®r°r0r0r1Ú"test_secondary_y_irregular_ts_xlims " z-TestTSPlot.test_secondary_y_irregular_ts_xlimcCsZtdddƒtdddƒg}|j ¡\}}| |¡tddddƒtddddƒg}| |¡dS)Nir#rr÷)rr:r;r%r)r,rIrkr.r0r0r1Útest_plot_outofbounds_datetime.s
 
z)TestTSPlot.test_plot_outofbounds_datetimecCsšdd„t d¡Dƒ}tdddd}ttj t|ƒd¡|ƒ}|j ¡\}}|j    d|d    |j 
¡|  ¡}d
d„|Dƒ}t|ƒt|ƒksŠt ‚||ks–t ‚dS) NcSsg|]}d|d›‘qS)z00:00:00.0000000z0>2dr0)rürPr0r0r1rý8szATestTSPlot.test_format_timedelta_ticks_narrow.<locals>.<listcomp>r3Ú0Únsr}rErr5cSsg|] }| ¡‘qSr0©r°rûr0r0r1rýAs) r6rÐrrr7r8rJr:r;r%Údrawr<r+©r,Zexpected_labelsr~r=r>r.r‡Z result_labelsr0r0r1Ú"test_format_timedelta_ticks_narrow7s
z-TestTSPlot.test_format_timedelta_ticks_narrowc    Csœddddddddd    g    }td
d d d }ttj t|ƒd¡|ƒ}|j ¡\}}|jd|d}|j     ¡| 
¡}dd„|Dƒ}t|ƒt|ƒksŒt ‚||ks˜t ‚dS)Nz00: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:20r½r3ú1 dr}rErr5cSsg|] }| ¡‘qSr0r¿rûr0r0r1rýYsz?TestTSPlot.test_format_timedelta_ticks_wide.<locals>.<listcomp>) rrr6r7r8rJr:r;r%rÀr<r+rÁr0r0r1Ú test_format_timedelta_ticks_wideEs&÷ 
z+TestTSPlot.test_format_timedelta_ticks_widecCs¶ttdƒtdddƒ}|j ¡\}}t|j|dtdddd}ttj     t
|ƒ¡|ƒ}|j ¡\}}t|j|dtddd    d}ttj     t
|ƒ¡|ƒ}|j ¡\}}t|j|ddS)
NršZ1dayrårXz1 day 2 hr 30 min 10 sr3rÃr}z1 ns) r r9rr:r;r$r%r6r7r8rJ)r,rxrkr.r r0r0r1Útest_timedelta_plot]szTestTSPlot.test_timedelta_plotcCs`tdddd}|}t ddd¡}t ddd¡ddd…}|j ¡\}}|j||g||gd    dS)
Nrr3rr}rr#gš™™™™™¹?r")Úweights)rr6rÐr:r;Úhist)r,r~rTZw1Zw2rkr.r0r0r1Ú    test_histos zTestTSPlot.test_histcCs–tdddgtdddƒtdddƒtdddƒgd    }tdddgtd
ddƒtd ddƒtd ddƒgd    }|j ¡\}}|j|d |j|d |j|d dS)Nr#rrErúr÷r¢r¡iÕriÍiÓr¡rX)r rr:r;r%)r,r7r8rkr.r0r0r1Útest_overlapping_datetimexs$
 
 
ýþ
 
 
ýþ   z$TestTSPlot.test_overlapping_datetimez1GH9053 matplotlib does not use ax.xaxis.converterc    Cspttj d¡tdddd}| ¡}t t¡|j|j    |j
ddW5QRX|j \}}t  |  ¡|  ¡¡dS)Nr3z
1970-01-02rårr5)ru)r r6r7r8rr%rrZassert_produces_warningÚDeprecationWarningr rIrr=r¸)r,rxr.Úl1Úl2r0r0r1Útest_add_matplotlib_datetime64’s  
z)TestTSPlot.test_add_matplotlib_datetime64cCs~ttj d¡ dd¡ddgd}tdddd    |d
<|j ¡\}}|jd
d|d |j     ¡| 
¡d}d}|  ¡|kszt ‚dS) Nrr3rrTrUr-z
2018-01-01rcr}r)rTrUrÅ) rr6r7Z RandomStatersrr:r;ZscatterrÀr<r°r+)r,r=r>r.r?rÛr0r0r1Ú"test_matplotlib_scatter_datetime64Ÿs 
 z-TestTSPlot.test_matplotlib_scatter_datetime64cCstdddgƒ}t|dddgdœƒ}|jdd    d}|j|d
d tddd gƒ}t|dddgdœƒ}|jdd    d}|j|d d | d¡jd    dd}|j|d d | d¡jd    dd}|j|d
d |jdd    ddd}|j|d d |jdd    ddd}|j|d
d dS)Nz
2020-05-01z
2020-05-02z
2020-05-03r#rrE)rTrUrTrUr)Zxrotz
2020-05-04rÍT)rUZ    use_indexF)rTrUr;rY)rrr%Z_check_ticks_propsZ    set_index)r,rTr=ràr0r0r1Útest_check_xticks_rotªs z TestTSPlot.test_check_xticks_rotN)_Ú__name__Ú
__module__Ú __qualname__r\ÚmarkÚfilterwarningsr2r@rNrRr`Z parametrizerlrmrvryrr„rˆr‹rŽrr•r—r™rœržr r£ZxfailrµrÀrÃrÉrÊrËrÒrÔrárârñrörørùrZslowrrrrr$r%ÚtdZskip_if_no_scipyr)r+r0r1r;r@rCrDrJrMrQrWrZr]r_rqrurwrxrŒrr‘r“r›rœr rªr±r·r¹rºr»r¼rÂrÄrÅrÈrÉrÍrÎrÏr0r0r0r1r-sì
 
 
ÿ
 
 
ÿ
ÿ
 
ÿ
    ÿ
ÿ
     
          (
 
 
 3
              [ )[ 
 
         
 rc     OsBddlm}| ¡}z| ¡| d¡}| d| ¡¡}t|ddƒ}    |||Ž}
|
dk    s\t    ‚| d| ¡¡}|dk    r¢|j
j } t | t ƒrŒ| j} |    dkr¢|j | ks¢t    ‚|dk    rÀ|    dkrÀ|j |ksÀt    ‚| d¡}||d<|||Ž}
|
dk    sèt    ‚tjdd} | | ¡W5QRXtjdd} t || ¡W5QRXW5| |¡XdS)Nrr”r.réÔT)Zreturn_filelike)Zmatplotlib.pyplotZpyplotZgcfr[Zclfr—ÚpopZgcaÚgetattrr+r rrrrrrZ ensure_cleanZsavefigÚpickleÚdump) ÚfrZseriesÚargsÚkwargsr:r>r.Zorig_axZ orig_axfreqrÂZdfreqÚpathr0r0r1r$Ås6 
 
 
 
 
 r$)NN),Ú__doc__rrrrrÙÚnumpyr6r\Zpandas._libs.tslibsrrZpandas.util._test_decoratorsÚutilZ_test_decoratorsrÕZpandasrr    r
r r r rZpandas._testingZ_testingrrZpandas.core.indexes.datetimesrrrZpandas.core.indexes.periodrrrZpandas.core.indexes.timedeltasrZpandas.tests.plotting.commonrZpandas.tseries.offsetsrZskip_if_no_mplrr$r0r0r0r1Ú<module>s6$        "