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
U
­ý°djdã@s„dZddlZddlZddlZddlmmZddl    Z
ddl    m Z ddl m ZddlmZmZddlmZejGdd„deƒƒZdS)z Test cases for DataFrame.plot éN)Ú    DataFrame)Ú TestPlotBaseÚ_check_plot_works)ÚVersionc @sveZdZej ddddddddd    d
d g
¡d d „ƒZdd„Zej dddg¡dd„ƒZdd„Z    dd„Z
ej dddgdfddddgddddgfg¡dd„ƒZ d d!„Z d"d#„Z d$d%„Zd&d'„Zd(d)„Zej d*d+d,g¡d-d.„ƒZd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Zejd=d>„ƒZejd?d@„ƒZdAdB„ZdCdD„ZdEdF„ZdGdH„Z dIdJ„Z!dKdL„Z"dMdN„Z#dOdP„Z$d+S)QÚTestDataFrameColorÚcolorZC0ZC1ZC2ZC3ZC4ZC5ZC6ZC7ZC8ZC9cCs.ttj dd¡dddgd}t|j|ddS)Né
éÚaÚbÚc©Úcolumns©r)rÚnpÚrandomÚrandnrÚplot©ÚselfrÚdf©rúcd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/plotting/frame/test_frame_color.pyÚtest_mpl2_color_cycle_strsz,TestDataFrameColor.test_mpl2_color_cycle_strcCs&tddddgiƒ}t|jdgddS)NÚAéér    Úredr©rrr©rrrrrÚtest_color_single_series_listsz0TestDataFrameColor.test_color_single_series_list)rrr)rrrçà?cCs,tddgddgdœƒ}t|jdd|ddS)    Nrrr    é©ÚxÚyr$r%©r$r%rrrrrrÚtest_rgb_tuple_color"sz'TestDataFrameColor.test_rgb_tuple_colorc    Cs<ttj dd¡ƒ}tjtdd|jddW5QRXdS)NrrzInvalid color argument:©ÚmatchÚr)rrrrÚpytestÚraisesÚ
ValueErrorrrrrrÚtest_color_empty_string(sz*TestDataFrameColor.test_color_empty_stringc    Cs¤tddgddgdœƒ}|jddgdd    gd
}d d „|jDƒ}|dd    gksLt‚d d „|jDƒ}|ddgkslt‚d}tjt|d|jddgddgd
W5QRXdS)Nrrr    r"r#rZblackú-ú--©rÚstylecSsg|] }| ¡‘qSr©Z get_linestyle©Ú.0ÚlinerrrÚ
<listcomp>3szETestDataFrameColor.test_color_and_style_arguments.<locals>.<listcomp>cSsg|] }| ¡‘qSr©Ú    get_colorr4rrrr76szCannot pass 'style' string with a color symbol and 'color' keyword argument. Please use one or the other or pass 'style' without a color symbolr(zk-zr--)rrÚlinesÚAssertionErrorr+r,r-)rrÚaxZ    linestylerÚmsgrrrÚtest_color_and_style_arguments-sÿz1TestDataFrameColor.test_color_and_style_argumentszcolor, expectedÚgreenr"ZyellowrÚbluecCsnttj d¡ƒ}|j|dd}dd„|jDƒ}||ks:t‚tdd„|jDƒƒsRt‚tdd„|jDƒƒsjt‚dS)    N)ér"zd--r1cSsg|] }| ¡‘qSrr8©r5Úirrrr7Nsz<TestDataFrameColor.test_color_and_marker.<locals>.<listcomp>css|]}| ¡dkVqdS)r0Nr3rBrrrÚ    <genexpr>Qsz;TestDataFrameColor.test_color_and_marker.<locals>.<genexpr>css|]}| ¡dkVqdS)ÚdN)Z
get_markerrBrrrrDRs)rrrrr:r;Úall)rrÚexpectedrr<ÚresultrrrÚtest_color_and_markerBs      z(TestDataFrameColor.test_color_and_markercs°ddlm}| |j¡}ttj dd¡ƒ}|j     ¡}|j
|j ddd…|dd…dt   ¡d}|jj    |d}|j
|j ddd…|dt   ¡ddlm‰|jj    dd}‡fd    d
„t dd d¡Dƒ}|j
|j ddd…|dt   ¡|jj    ˆjd}‡fd d
„t dd d¡Dƒ}|j
|j ddd…|dt   ¡|jdd…dgfjj    d d}|j
|j dgd gdt   ¡|jddd}|j
|j ddd…dgddt   ¡dS)Nré©Z
facecolorsÚrgcbyr©ÚcmÚjet©Úcolormapcsg|]}ˆ |¡‘qSr©rO©r5ÚnrMrrr7gsz6TestDataFrameColor.test_bar_colors.<locals>.<listcomp>rcsg|]}ˆ |¡‘qSrrRrSrMrrr7msÚ
DodgerBlueÚbarr?©Úkindr)Úmatplotlib.pyplotÚpyplotÚ_unpack_cyclerÚrcParamsrrrrrrVÚ _check_colorsÚpatchesÚtmÚcloseÚ
matplotlibrNÚlinspacerOÚloc)rÚpltÚdefault_colorsrr<Ú custom_colorsÚ rgba_colorsrrMrÚtest_bar_colorsTs2  
"  z"TestDataFrameColor.test_bar_colorscCsbttdƒtddƒddddgdœƒ}|jjd|dd    }d
d „|jDƒ}d d d d g}||ks^t‚dS)Nr"rrJrr@)rÚBrrr)r%rcSsg|] }| ¡‘qSr©Ú get_facecolor)r5Úprrrr7€sz;TestDataFrameColor.test_bar_user_colors.<locals>.<listcomp>)çð?çrnrm)rnrnrmrm)rÚrangerrVr^r;)rrr<rHrGrrrÚtest_bar_user_colorsysÿüz'TestDataFrameColor.test_bar_user_colorscCsÌtj d¡}t|dddgd}|jjddd}|jjdddd}dd    „|j ¡Dƒ}d
d    „|j ¡Dƒ}||kstt‚d d    „|j ¡Dƒ}d d    „|j ¡Dƒ}||ks¨t‚|j     ¡ 
¡|j     ¡ 
¡ksÈt‚dS) N©ièr    úA labelúB labelúC labelr r#©r$r%r cSsg|] }| ¡‘qSr©Ú get_visible©r5Zvisrrrr7“sz\TestDataFrameColor.test_if_scatterplot_colorbar_affects_xaxis_visibility.<locals>.<listcomp>cSsg|] }| ¡‘qSrrvrxrrrr7”scSsg|] }| ¡‘qSrrvrxrrrr7—scSsg|] }| ¡‘qSrrvrxrrrr7˜s) rrrrÚscatterÚxaxisÚget_minorticklabelsr;Úget_majorticklabelsÚ    get_labelrw)rÚ random_arrayrZax1Úax2Zvis1Zvis2rrrÚ5test_if_scatterplot_colorbar_affects_xaxis_visibility‰s   ÿzHTestDataFrameColor.test_if_scatterplot_colorbar_affects_xaxis_visibilitycCs~tj d¡}t|dddgd}|jjdddd}tdd    „|j ¡DƒƒsLt‚td
d    „|j     ¡Dƒƒsht‚|j 
¡  ¡szt‚dS) Nrqrrrsrtr é )Zgridsizecss|]}| ¡VqdS©NrvrxrrrrD§szKTestDataFrameColor.test_if_hexbin_xaxis_label_is_visible.<locals>.<genexpr>css|]}| ¡VqdSr‚rvrxrrrrD¨s) rrrrÚhexbinrFrzr{r;r|r}rw)rr~rr<rrrÚ%test_if_hexbin_xaxis_label_is_visibleŸs  z8TestDataFrameColor.test_if_hexbin_xaxis_label_is_visiblec
Csúddlm}tj d¡}t|dddgd}| dd¡\}}|jjddd|dd    |jjddd|dd    | ¡t     d
d „|j
Dƒ¡}|dd…dd…df}|ddd…f|ddd…f}|d dd…f|ddd…f}    tj ||    d d  ¡söt ‚dS)Nrrqrrrsrtr rr)r r<cSsg|]}| ¡ ¡‘qSr)Ú get_positionZ
get_points)r5r<rrrr7¶sz\TestDataFrameColor.test_if_scatterplot_colorbars_are_next_to_parent_axes.<locals>.<listcomp>r    gH¯¼šò×z>)Zatol)rYrZrrrÚsubplotsrryZ tight_layoutÚarrayÚaxesÚiscloserFr;)
rrdr~rÚfigrˆZpointsZ axes_x_coordsZparent_distanceZcolorbar_distancerrrÚ5test_if_scatterplot_colorbars_are_next_to_parent_axes«s    zHTestDataFrameColor.test_if_scatterplot_colorbars_are_next_to_parent_axesÚcmapNZGreysc    Cs¤tddgddgddgddgddggd    d
gd }d d d d dg|d<|dk    rxtjtdd|jjdd|dd}W5QRXn|jjddd|d}|jdjdks t‚dS)Ngffffff@g @gš™™™™™@g@g@gš™™™™™    @gš™™™™™@gš™™™™™@ÚlengthÚwidthr ÚrÚgr ZspeciesF)Zcheck_stacklevelrr)r$r%rŒr )r$r%r rŒ)    rr_Zassert_produces_warningÚ UserWarningrryÚ collectionsÚcolorbarr;)rrŒrr<rrrÚ+test_scatter_with_c_column_name_with_colors¼s þ z>TestDataFrameColor.test_scatter_with_c_column_name_with_colorsc    Csàtdddgdddgdddgdœƒ}tjtdd|jjddd    d
d W5QRX| |jj¡}|jjddd    d }t     
|j d   ¡d t  |j |d ¡¡¡|jjdddd}t     
|j d   ¡d t jddddgt jd¡dS)Nrrr    )r
r r z&Specify exactly one of `c` and `color`r(r
r r r?)r$r%r rrurZwhiter&)Zdtype)rr+r,Ú    TypeErrorrryr[rdr\r_Zassert_numpy_array_equalr’rkrr‡ZcolorconverterZto_rgbaÚfloat64)rrrer<rrrÚtest_scatter_colorsÌs"þþz&TestDataFrameColor.test_scatter_colorscCs¦ddlm}tdddgdddgdddgdœƒ}|dd|d<| ¡\}}|jddd    d
d |d |jddd    d
d |d |jdjjd ksŒt‚|jdjjd ks¢t‚dS)Nrrrr    rur$Zx2r%r ryZcividis)r rXrŒr<Zmagma)    rYrZrr†rr’rŒÚnamer;)rrdrrŠr<rrrÚ$test_scatter_colorbar_different_cmapßs " z7TestDataFrameColor.test_scatter_colorbar_different_cmapc    s°ddlm‰d}ttj dd¡ƒ}|j|d}|j| ¡|dt     
¡|j|d}| ¡}t | ¡|ƒD]\}}|  ¡|  ¡ksjt ‚qjt     
¡|jdd}‡fd    d
„t dd t|ƒ¡Dƒ}|j| ¡|dt     
¡|jˆjd}‡fd d
„t dd t|ƒ¡Dƒ}|j| ¡|dt     
¡|jdd…dgfjd d}|j|jd gd|jdd}|j| ¡dgddt     
¡dddddg}|j|d}|j| ¡|dt     
¡dS)NrrMrLrJr©Ú
linecolorsrOrPcsg|]}ˆ |¡‘qSrrRrSrMrrr7sz7TestDataFrameColor.test_line_colors.<locals>.<listcomp>rcsg|]}ˆ |¡‘qSrrRrSrMrrr7srUrú#FF0000ú#0000FFú#FFFF00ú#000000ú#FFFFFF)rarNrrrrrr]Ú    get_linesr_r`Úzipr9r;rbÚlenrOrcr:)    rrfrr<rZlines2Úl1Úl2rgrrMrÚtest_line_colorsís8        z#TestDataFrameColor.test_line_colorscCs8dddg}ttj dd¡ƒj|dt|ƒdks4t‚dS)Nrrr rrrr    )rrrÚrandrr£r;)rÚcolorsrrrÚtest_dont_modify_colorss
z*TestDataFrameColor.test_dont_modify_colorsc
sÜddlm‰| |jj¡}ttj dd¡ƒ}|j    dd}t
|t |ƒƒD]\}}|j |  ¡|gdqFt ¡|j    ddd}|D]}|j |  ¡dgdq~t ¡|j    dd    d}|D]}|j |  ¡d    gdq²t ¡d
}|j    |dd }t
|t |ƒƒD]\}}|j |  ¡|gdqôt ¡|j    t |ƒdd }t
|t |ƒƒD]\}}|j |  ¡|gdq:t ¡d d dddg}|j    |dd }t
|t |ƒƒD]\}}|j |  ¡|gdqŒt ¡‡fdd„t ddt|ƒ¡Dƒ}dˆjfD]F}|j    |dd}t
||ƒD]\}}|j |  ¡|gdqút ¡qÞ|jdd…dgfj    ddd }|j |djdgd|j    ddd}|D]}|j |  ¡dgdqlt ¡t d
ƒ}    |j    |    dd}t
||    ƒD]\}}|j |  ¡|gdq°t ¡dS)NrrMrJT)r†ršÚk)r†rr?rL)rr†rœrržrŸr csg|]}ˆ |¡‘qSrrRrSrMrrr7IszKTestDataFrameColor.test_line_colors_and_styles_subplots.<locals>.<listcomp>rrO)rQr†rUr)r2r†©rarNr[rdr\rrrrrr¢Úlistr]r¡r_r`rbr£rOrcr:©
rrerrˆr<r rfrgrŒZstylesrrMrÚ$test_line_colors_and_styles_subplotss\    z7TestDataFrameColor.test_line_colors_and_styles_subplotsc sôddlm‰ddlm‰d}ttj dd¡ƒ}|jj    |d}|j
|  ¡|d‡fdd    „|  ¡Dƒ}|j
||d
|  ¡\}}|j
||d
|D]}| ¡dkst‚qt ¡|jj    d d }‡fd d    „t ddt|ƒ¡Dƒ}|j
|  ¡|d‡fdd    „|  ¡Dƒ}|j
||d
|  ¡\}}|j
||d
|D]}| ¡dks0t‚q0t ¡|jj    ˆjdd}|j
|  ¡|d‡fdd    „|  ¡Dƒ}dd    „|Dƒ}    |j
||    d
|  ¡\}}|    }
|j
|dt|ƒ…|
d|D]}| ¡dksÖt‚qÖdS)NrrM©ÚPolyCollectionrLrJrršcsg|]}t|ˆƒr|‘qSr©Ú
isinstance©r5Úor¯rrr7ks
z7TestDataFrameColor.test_area_colors.<locals>.<listcomp>rKrOrPcsg|]}ˆ |¡‘qSrrRrSrMrrr7vsrcsg|]}t|ˆƒr|‘qSrr±r³r¯rrr7xs
F)rQZstackedcsg|]}t|ˆƒr|‘qSrr±r³r¯rrr7„s
cSs$g|]}|d|d|ddf‘qS)rrrr!r©r5r rrrr7…sr!)rarNZmatplotlib.collectionsr°rrrr§rÚarear]r¡Z get_childrenZget_legend_handles_labelsZ    get_alphar;r_r`rbr£rO) rrfrr<ZpolyÚhandlesÚlabelsÚhÚ
jet_colorsZjet_with_alphar›r)r°rNrÚtest_area_colorsbsB      z#TestDataFrameColor.test_area_colorscsž| |jj¡}ttj dd¡ƒ}|j ¡}|j    |j
ddd…|dd…dt   ¡d}|jj|d}|j    |j
ddd…|dt   ¡ddl m‰|jjdd    }‡fd
d „t dd d¡Dƒ}|j    |j
ddd…|dt   ¡|jjˆjd    }‡fd d „t dd d¡Dƒ}|j    |j
ddd…|dt   ¡|jdd…dgfjjdd}|j    |j
dgdgd|jddd}|j    |j
ddd…dgddt   ¡dS)NrJrrKrLrrrMrOrPcsg|]}ˆ |¡‘qSrrRrSrMrrr7Ÿsz7TestDataFrameColor.test_hist_colors.<locals>.<listcomp>rcsg|]}ˆ |¡‘qSrrRrSrMrrr7¥srUÚhistr?rW)r[rdr\rrrrrr¼r]r^r_r`rarNrbrOrc)rrerr<rfrgrrMrÚtest_hist_colorsŽs.
"  z#TestDataFrameColor.test_hist_colorscsØddlm‰d}ttj dd¡ƒ}|jj|d}|j|     ¡|dt
  ¡|jjdd}‡fd    d
„t  dd t |ƒ¡Dƒ}|j|     ¡|dt
  ¡|jjˆjd}‡fd d
„t  dd t |ƒ¡Dƒ}|j|     ¡|ddS) NrrMrLrJrršrOrPcsg|]}ˆ |¡‘qSrrRrSrMrrr7¼sz6TestDataFrameColor.test_kde_colors.<locals>.<listcomp>rcsg|]}ˆ |¡‘qSrrRrSrMrrr7Ás)rarNrrrr§rÚkder]r¡r_r`rbr£rO)rrfrr<rgrrMrÚtest_kde_colors°s   z"TestDataFrameColor.test_kde_colorsc
sRddlm‰| |jj¡}ttj dd¡ƒ}|j    ddd}t
|t |ƒƒD]\}}|j |  ¡|gdqHt ¡|j    dddd    }|D]}|j |  ¡dgdq‚t ¡|j    dd
dd    }|D]}|j |  ¡d
gdq¸t ¡d }|j    d|dd    }t
|t |ƒƒD]\}}|j |  ¡|gdqüt ¡‡fd d „t ddt|ƒ¡Dƒ}dˆjfD]H}|j    d|dd}t
||ƒD]\}}|j |  ¡|gdqjt ¡qL|jdd…dgfj    dddd    }|j |djdgd|j    dddd}|D]}|j |  ¡dgdqàt ¡t d ƒ}    |j    d|    dd}t
||    ƒD]\}}|j |  ¡|gdq&t ¡dS)NrrMrJr¾T)rXr†ršrª)rXrr†rrLcsg|]}ˆ |¡‘qSrrRrSrMrrr7ãszJTestDataFrameColor.test_kde_colors_and_styles_subplots.<locals>.<listcomp>rrO)rXrQr†rUr)rXr2r†r«r­rrMrÚ#test_kde_colors_and_styles_subplotsÄsJ    z6TestDataFrameColor.test_kde_colors_and_styles_subplotsc    sd(‡fdd„    }ˆ ˆjj¡}ttj dd¡ƒ}|jjdd}|||d|d|d|dƒt     
¡d    d
d d d œ}|jj|ddd}|||d|d|d|ddƒt     
¡dddœ}|jj|dd}|||ddd|dƒt     
¡ddl m ‰|jjddd}‡fdd„t  ddd¡Dƒ}|||d|d|d|dƒt     
¡|jjˆjdd}|||d|d|d|dƒt     
¡|jjd dd}||d d d d ƒ|jjd!d dd}||d!d!d!d!d ƒt d"¡}tjt|d#|jjd$d%d&œd'W5QRXdS))Nrªcs°|dkr d}ˆj|d|gt|dƒdˆj|d|gt|dƒdˆj|d|gt|dƒdˆj|d|gt|dƒdˆj|d|gt|dƒddS)NrªÚboxesršÚwhiskersÚmediansZfliersÚcaps)r]r£)ÚbpZbox_cZ
whiskers_cZ    medians_cZcaps_cZfliers_c)rrrr]ýs ÿÿ z=TestDataFrameColor.test_boxplot_colors.<locals>._check_colorsrJÚdict)Ú return_typerrz#572923z#982042z#804823z#123456)rÁrÂrÃrÄzr+)rÚsymrÇrÁrÂrÃrÄrr Úm)rÂrÃ)rrÇrMrO)rQrÇcsg|]}ˆ |¡‘qSrrRrSrMrrr73sz:TestDataFrameColor.test_boxplot_colors.<locals>.<listcomp>rr    rU)rrrzgcolor dict contains invalid key 'xxxx'. The key must be either ['boxes', 'whiskers', 'medians', 'caps']r(rr@)rÁZxxxxr)rªN)r[rdr\rrrrrZboxr_r`rarNrbrOÚreÚescaper+r,r-)rr]rerrÅZ dict_colorsrºr=r)rNrrÚtest_boxplot_colorsüs`ûüú
   ÿz&TestDataFrameColor.test_boxplot_colorscCsrddl}ddlm}tdƒ}| d|¡|jd<ttj dd¡ƒ}|     ¡}| 
|j¡dd…}|j |  ¡|ddS)NrZrgbkrúaxes.prop_cyclerJr    rš) ÚcyclerrYrZr¬r\rrrrrr[r]r¡)rrÎrdr¨rr<rGrrrÚtest_default_color_cycleLs z+TestDataFrameColor.test_default_color_cyclecCsbttjjddtjjddt d¡tjjdddœƒ}|jjdddd}|jdjdks^t    ‚dS)Né©Úsize©rriÚCrri)r$r%r“r)
rrrÚuniformÚarangerrƒr’r“r;)rrr<rrrÚtest_no_color_barYs  ýÿz$TestDataFrameColor.test_no_color_barc    Csnttjjddtjjddt d¡tjjdddœƒ}d}tjt|d|jj    dddd    d
W5QRXdS) NrÐrÑrÓz)Only specify one of `cmap` and `colormap`r(rriZYlGnZBuGn)r$r%rŒrQ)
rrrrÕrÖr+r,r•rrƒ©rrr=rrrÚ$test_mixing_cmap_and_colormap_raisesds  ýÿz7TestDataFrameColor.test_mixing_cmap_and_colormap_raisescCsTddl}dddg}|j |¡}tdddggƒjd|d    }|d
d „|jDƒksPt‚dS) Nr©çÍÌÌÌÌÌì?rrr©rrÛrr©rrrÛrrrr    rV)rXrŒcSsg|] }| ¡‘qSrrjrµrrrr7vsz=TestDataFrameColor.test_passed_bar_colors.<locals>.<listcomp>)rar¨ZListedColormaprrr^r;)rÚmplÚ color_tuplesrQÚbarplotrrrÚtest_passed_bar_colorsps
 
 z)TestDataFrameColor.test_passed_bar_colorsc    Csjddl}dddg}|jd| d|¡idtdd    d
ggƒjd d }W5QRX|d d„|jDƒksft‚dS)NrrÚrÜrÝrÍr)Úrcrrr    rV)rXcSsg|] }| ¡‘qSrrjrµrrrr7~sz?TestDataFrameColor.test_rcParams_bar_colors.<locals>.<listcomp>)raZ
rc_contextrÎrrr^r;)rrÞrßràrrrÚtest_rcParams_bar_colorsxs
 
"z+TestDataFrameColor.test_rcParams_bar_colorsc    Cs¤ddl}tdddgdddgdœƒ}tddddgiƒ}tj||gdd    }| ¡}| ¡}t|jƒtd
ƒkrp|j}n|j    }t
||j ƒD]\}}|  ¡|  ¡ks‚t ‚q‚dS) Nrrrr    )r r
r
r"é)Zaxisz3.7)rarÚpdÚconcatrZ
get_legendrÚ __version__Z legendHandlesZlegend_handlesr¢r:r9r;)    rrÞrZdf1Z    df_concatrHZlegendr·r6rrrÚ%test_colors_of_columns_with_same_name€sz8TestDataFrameColor.test_colors_of_columns_with_same_namec    CsLttj dd¡ddgd}d}tjttf|d|jdd    W5QRXdS)
Nr    rrrir z0(is not a valid value)|(is not a known colormap)r(Zinvalid_colormaprP)    rrrrr+r,r-ÚKeyErrorrrØrrrÚtest_invalid_colormap‘sz(TestDataFrameColor.test_invalid_colormap)%Ú__name__Ú
__module__Ú __qualname__r+ÚmarkZ parametrizerr r'r.r>rIrhrpr€r„r‹r”r—r™r¦r©r®r»r½ÚtdZskip_if_no_scipyr¿rÀrÌrÏr×rÙrárãrèrêrrrrrsVÿ
 
 þþ
% 
,D,"
 
7P   r)Ú__doc__rÊÚnumpyrr+Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrïZpandasrårZpandas._testingZ_testingr_Zpandas.tests.plotting.commonrrZpandas.util.versionrZskip_if_no_mplrrrrrÚ<module>s