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
U
­ý°deXã@s¨dZddlZddlZddlmmZddlm    Z    m
Z
m Z m Z m Z mZddlmZddlmZmZejdd„ƒZdd„ZejGd    d
„d
eƒƒZejGd d „d eƒƒZdS) z$ Test cases for misc plot functions éN)Ú    DataFrameÚIndexÚSeriesÚ    TimestampÚinterval_rangeÚplotting)Ú TestPlotBaseÚ_check_plot_worksc    Cs6tdddgiƒ}tjtdd| ¡W5QRXdS)NÚAééz#matplotlib is required for plotting©Úmatch)rÚpytestÚraisesÚ ImportErrorÚplot)Údf©rúVd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/plotting/test_misc.pyÚtest_import_error_messagesrc    Cs"tjjj}d}tjt|d|dggidW5QRXd}tjt|d |dttdddgidW5QRX|dt    ƒdgd    d
d d œd\}}}}|dks t
‚|d    ks¬t
‚|d
ks¸t
‚|d d iksÈt
‚|dttdgid\}}}}|dksòt
‚|dksþt
‚|dks t
‚t |ƒdkst
‚dS)Nz@Called plot accessor for type list, expected Series or DataFramer Ú)Ú backend_nameÚdataÚargsÚkwargsz.should not be called with positional arguments)ZdtypeÚlineÚxÚyÚbarF)rÚkindÚgridr!zpandas.plotting._matplotlibé) rZ_coreZ PlotAccessorZ_get_call_argsrrÚ    TypeErrorrÚobjectrÚAssertionErrorÚlen)ÚfuncÚmsgrrr rrrrÚtest_get_accessor_args s6
$
ü   ü  r)c@s:eZdZdd„Zej diddig¡dd„ƒZdd    „Zd
S) ÚTestSeriesPlotsc    Cshddlm}tjdd}t d¡,t||dt||jd||dd}W5QRX|j|dgddS)    Nr)Úautocorrelation_plotÚts©Úname)ÚseriesZTest)Úlabel)Úlabels)Úpandas.plottingr+ÚtmÚmakeTimeSeriesÚassert_produces_warningr    ÚvaluesZ_check_legend_labels)Úselfr+ÚserÚaxrrrÚtest_autocorrelation_plotDs    z)TestSeriesPlots.test_autocorrelation_plotrZlagécCs0ddlm}tjdd}t|fd|i|—ŽdS)Nr)Úlag_plotr,r-r/)r2r<r3r4r    )r7rr<r8rrrÚ test_lag_plotPs  zTestSeriesPlots.test_lag_plotcCs*ddlm}tjdd}t||dddS)Nr)Úbootstrap_plotr,r-é
)r/Úsize)r2r>r3r4r    )r7r>r8rrrÚtest_bootstrap_plotWs  z#TestSeriesPlots.test_bootstrap_plotN)    Ú__name__Ú
__module__Ú __qualname__r:rÚmarkÚ parametrizer=rArrrrr*Bs 
r*c@sØeZdZejej dddg¡dd„ƒƒZejj    dd„ƒZ
ejj    dd    „ƒZ ej  d
¡d d „ƒZ d d„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+S),ÚTestDataFramePlotsÚ    pass_axisFTc        Cstj}d}|r |j dd¡\}}ttj d¡ dd¡ƒ}t    j
t ddt ||d|d}W5QRX|ddj  ¡}d    d
d g}| ||¡|j|d d d dd|ddd|d<t    j
t ddt ||d|d}W5QRX|ddj  ¡}dddg}| ||¡|j|d d d dddS)Néé*édF)Zcheck_stacklevelgš™™™™™¹?)ÚframeZ range_paddingr9rz-2Ú0Ú2ééZ)Z
xlabelsizeZxrotZ
ylabelsizeZyrotr z-1.0z-0.5z0.0)rÚscatter_matrixÚpltÚsubplotsrÚnpÚrandomZ RandomStateÚrandnr3r5Ú UserWarningr    ZyaxisZget_majorticklabelsZ_check_text_labelsZ_check_ticks_props)    r7rHrQr9Ú_rZaxesZ axes0_labelsÚexpectedrrrÚtest_scatter_matrix_axis`s8ü
 ü
 z+TestDataFramePlots.test_scatter_matrix_axisc     s”ddlm‰ddlm}|}t d¡t||ddW5QRXd}t||d|d}|j| ¡dd…||ddd…d    d
d d g}t||d|d}|j| ¡dd…||ddd…d    t||dˆj    d }‡fdd„t
  dd|d  ¡¡Dƒ}|j| ¡dd…||ddd…d    d}t t
j |¡t
j |¡t
j |¡dg|dœƒ}t||ddd}t||d|d}|j| ¡dd…||ddd…d    d
d d g}t||d|d}|j| ¡dd…||ddd…d    t||dˆj    d }‡fdd„t
  dd|d  ¡¡Dƒ}|j| ¡dd…||ddd…d    dddg}    t dddgdddgdddg|    dœƒ}||d|    d}| ¡\}
} |j|
|    ddS)Nr©Úcm)Úandrews_curvesÚName©rLÚ class_column©z#556270z#4ECDC4z#C7F464©rLr`Úcolorr?©Ú
linecolorsÚmappingÚ
dodgerblueÚ
aquamarineÚseagreen©rLr`Zcolormapcsg|]}ˆ |¡‘qSr©Újet©Ú.0Únr[rrÚ
<listcomp>§sz:TestDataFramePlots.test_andrews_curves.<locals>.<listcomp>r r
©r
ÚBÚCr^csg|]}ˆ |¡‘qSrrkrmr[rrrpËsÚbÚgÚrr rI©rc©re)Ú
matplotlibr\r2r]r3r5r    Ú _check_colorsÚ    get_linesrlrTÚlinspaceÚnuniquerrUÚrandÚget_legend_handles_labels) r7Úirisr]rÚrgbar9ÚcnamesÚcmapsÚlengthÚcolorsÚhandlesr1rr[rÚtest_andrews_curves‰s¶   ÿÿ
ÿÿÿ$ÿ
 
 
üÿ    ÿÿ
ÿÿÿ$ÿ
$ z&TestDataFramePlots.test_andrews_curvesc s¤ddlm‰ddlm}|}t||dd}t| ¡ƒ}t|j ¡ƒ}d}t||d|d}|j    | ¡dd…||ddd…d    d
d d g}t||d|d}|j    | ¡dd…||ddd…d    t||dˆj
d }‡fdd„t   dd|d  ¡¡Dƒ}    |j    | ¡dd…|    |ddd…d    t||ddd}t| ¡ƒ||ksJt‚dddg}
tdddgdddgdddg|
dœƒ}||d|
d}| ¡\} } |j    | |
ddS)Nrr[©Úparallel_coordinatesr^r_rarbr?rdrgrhrirjcsg|]}ˆ |¡‘qSrrkrmr[rrrpõsz@TestDataFramePlots.test_parallel_coordinates.<locals>.<listcomp>r F)rLr`Zaxvlinesrtrurvr rIrqrwrx)ryr\r2r‰r    r&r{ÚxaxisZget_ticklabelsrzrlrTr|r}r%rr) r7r€r‰rr9ÚnlinesZnxticksrr‚rƒr…r†r1rr[rÚtest_parallel_coordinatesÖsl   ÿÿ
ÿÿÿ$ÿÿ
$ z,TestDataFramePlots.test_parallel_coordinatesz$ignore:Attempting to set:UserWarningc Csêddlm}tttdƒƒdd„tdƒDƒdd„tdƒDƒdd„tdƒDƒd    œƒ}||d
d d }| ¡\}}td d„|Dƒ|ƒ}t|dd„d}tt|dd…ƒt|dd…ƒƒ}|D],\}    }
|    d|
dkrà|    d|
dks¸t‚q¸dS)z
For #15908rrˆécSsg|]}d‘qS)r r©rnrXrrrrpszSTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<listcomp>r?cSsg|]}d‘qS)rIrrŽrrrrpscSsg|]}d‘qS)r rrŽrrrrps)ZfeatÚclassrT)Z sort_labelscSsg|] }| ¡‘qSr©Z    get_color)rnZpolylinerrrrpscSs|dS)Nr r)rrrrÚ<lambda>ózQTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<lambda>)Úkeyéÿÿÿÿr N)    r2r‰rÚlistÚrangerÚzipÚsortedr%) r7r‰rr9Z    polylinesr1Zcolor_label_tuplesZordered_color_label_tuplesZprev_next_tupelsÚprevZnxtrrrÚ,test_parallel_coordinates_with_sorted_labelss. 
ÿþþÿ  ÿÿ z?TestDataFramePlots.test_parallel_coordinates_with_sorted_labelsc     sÀddlm‰ddlm}|}t d¡t||ddW5QRXd}t||d|d}dd    „|jdd
…Dƒ}|j|dd …||ddd …d d ddg}t||d|ddd    „|jdd
…Dƒ}|j|||ddd …d t||dˆj    d‡fdd    „t
  dd|d  ¡¡Dƒ}dd    „|jdd
…Dƒ}|j|||ddd …d ddddgddddgddddgg}    t dddgdddgdddgdddgdœƒ}||d|    d}| ¡\}
} |j|
|    ddS) Nrr[)Úradvizr^r_rarbcSsg|]}| ¡dkr|‘qS©r©Ú    get_label©rnÚprrrrp-s z2TestDataFramePlots.test_radviz.<locals>.<listcomp>ér?)Ú
facecolorsrfrgrhricSsg|]}| ¡dkr|‘qSrœrrŸrrrrp2s rjcsg|]}ˆ |¡‘qSrrkrmr[rrrp6sr cSsg|]}| ¡dkr|‘qSrœrrŸrrrrp7s gçð?çà?r rIrtrurvrqrw)r¢)ryr\r2r›r3r5r    ÚpatchesrzrlrTr|r}rr) r7r€r›rrr9r¥r‚rƒr…r†r1rr[rÚ test_radviz s0   $
$"$ÿ zTestDataFramePlots.test_radvizc    Cs|jddd ¡}t|jƒ}|jd|d}dd„|Dƒ|ks@t‚d}tjt|d    |jd|d
gdW5QRXtjt|d    |jd|dd …dW5QRXd }tjt|d    |jd |dW5QRX|jdddjdd|dd…d}dd„|Dƒ}||dd…dgkst‚dS)Nr^r )ZaxisT)rSÚtitlecSsg|] }| ¡‘qSr©Z    get_titlerŸrrrrpIsz:TestDataFramePlots.test_subplot_titles.<locals>.<listcomp>zjThe length of `title` must equal the number of columns if using `title` of type `list` and `subplots=True`r zkittens > puppiesr zNUsing `title` of type `list` is not supported unless `subplots=True` is passedFZ
SepalWidth)r r r”)rSZlayoutr§cSsg|]}|D] }| ¡‘q qSrr¨)rnZsublistr9rrrrpcsrIr)    ZdropÚheadr•Úcolumnsrr%rrÚ
ValueError)r7r€rr§rr(Z
title_listrrrÚtest_subplot_titlesBs*
ÿ ÿ
ÿz&TestDataFramePlots.test_subplot_titlescCsztt d¡ƒ}t |d¡tj ¡}t |d¡tj ¡}||ksFt‚ddlm}|ddd}|ddd}||ksvt‚dS)N)r?r?r©Úget_standard_colorsr rU©Z
color_type)    rrTÚzerosrr‰rUr%Ú!pandas.plotting._matplotlib.styler®)r7rZrand1Zrand2r®Úcolor1Úcolor2rrrÚ$test_get_standard_colors_random_seedfs 
 
    z7TestDataFramePlots.test_get_standard_colors_random_seedcCsdddlm}|ddd}|ddd}|ddd}t|ƒdks@t‚t|ƒdksPt‚t|ƒdks`t‚dS)Nrr­r Údefaultr¯é    r¡)r±r®r&r%)r7r®r²r³Zcolor3rrrÚ+test_get_standard_colors_default_num_colorsxs    z>TestDataFramePlots.test_get_standard_colors_default_num_colorsc    s‚tdddgdddgddd    gd
d d gd ddgdd dgdœƒ}|j ¡j ¡}dd„| ¡dd…Dƒ‰t‡fdd„ˆDƒƒs~t‚dS)Nz
2017-02-03z
2017-03-03z
2017-01-01z Alice Andersz    Bob BakerzCharlie Chaplingáz®Ga–Àg\Âõ(Ü$@gLÝ@iÒix    éûi iõiî    é4é )z account-startÚclientZbalancezdb-idzproxy-idZrankcSsg|] }| ¡‘qSr©Ú get_facecolor©rnZrectrrrrpsz=TestDataFramePlots.test_plot_single_color.<locals>.<listcomp>rrIc3s|]}|ˆdkVqdS)rNr)rnrc©r…rrÚ    <genexpr>‘sz<TestDataFramePlots.test_plot_single_color.<locals>.<genexpr>)rr»Z value_countsrrÚ get_childrenÚallr%)r7rr9rr¿rÚtest_plot_single_colorƒsúÿ
z)TestDataFramePlots.test_plot_single_colorcCsªddlm}ddlm}| tdƒ¡}|d|d}t|ƒt|ƒksFt‚tt    j
  dd¡t d    ƒd
}| t      ddd ¡¡}|jjjd |d }|jd ¡|jd ¡ks¦t‚dS)Nrr[r­r;r rwé0éÚABCD©rªé)rÈé)Zfigsizercé)ryr\r±r®Zgnuplotr–r&r%rrTrUrVr•r|r
rrr¥r½)r7r\r®Z color_beforeZ color_afterrZ
color_listr rrrÚ%test_get_standard_colors_no_appending“s   z8TestDataFramePlots.test_get_standard_colors_no_appendingcsÂddg}ddg‰ttj dd¡|d}dddœ}|jd|d    }d
d „| ¡d d d…Dƒ}t‡fdd„t|ƒDƒƒsxt‚|jd|d    }dd „|     ¡d d…Dƒ}t‡fdd„t|ƒDƒƒs¾t‚dS)NÚart)r¤g¸…ëQ¸Î?g333333ã?)g333333Ó?çffffffæ?rÍr rÇ)rtrÌr)r rccSsg|]}| ¡dd…‘qS)rr”r¼r¾rrrrp²sz<TestDataFramePlots.test_dictionary_color.<locals>.<listcomp>rrIc3s|]\}}|ˆ|kVqdS©Nr©rnÚindexrc©rYrrrÀ³sz;TestDataFramePlots.test_dictionary_color.<locals>.<genexpr>rcSsg|] }| ¡‘qSrrr¾rrrrp·sc3s|]\}}|ˆ|kVqdSrÎrrÏrÑrrrÀ¸s)
rrTrUr~rrÁrÂÚ    enumerater%r{)r7Ú
data_filesZdf1Z    dic_colorr9r…rrÑrÚtest_dictionary_color¦s
z(TestDataFramePlots.test_dictionary_colorcCsnddlm}|dddƒ|dddƒg}tdddgitddgƒd}|j ¡}td    d
„t| ¡|ƒDƒƒsjt    ‚dS) Nr©ÚTextrMr ZTotalrÌr ©rÐcss"|]\}}| ¡| ¡kVqdSrΩZget_text©rnrÌrtrrrrÀÈsÿz3TestDataFramePlots.test_bar_plot.<locals>.<genexpr>)
Úmatplotlib.textrÖrrrrrÂr—Úget_xticklabelsr%)r7rÖrYrZplot_barrrrÚ test_bar_plotºs ÿ
ü
 þz TestDataFramePlots.test_bar_plotcCspddlm}tdddœdddœgƒ}|jjddd}|ddd    ƒ|dddƒg}td
d „t| ¡|ƒDƒƒslt‚dS) NrrÕr )ÚwordÚvalueZknowledgr rÝ)rZlegendÚ1css"|]\}}| ¡| ¡kVqdSrÎrØ)rnÚactualrYrrrrÀÕsÿzPTestDataFramePlots.test_barh_plot_labels_mixed_integer_string.<locals>.<genexpr>)    rÚrÖrrZbarhrÂr—Zget_yticklabelsr%)r7rÖrZ    plot_barhZexpected_yticklabelsrrrÚ*test_barh_plot_labels_mixed_integer_stringÍs ÿþz=TestDataFramePlots.test_barh_plot_labels_mixed_integer_stringcCsØtjjj}|j ¡}| dd¡}|jd|ddd|dd<|jd|ddd|dd<|dd ¡|dd ¡||dddƒs’t    ‚||dddƒr¨t    ‚||dddƒs¾t    ‚||dd    dƒrÔt    ‚dS)
Nr rÅéçr r©ZsharexéérrI)
rÚ _matplotlibÚtoolsÚ_has_externally_shared_axisrRÚfigurerSÚ add_subplotÚtwinxr%©r7r'ÚfigÚplotsrrrÚ&test_has_externally_shared_axis_x_axisÜs
 
 z9TestDataFramePlots.test_has_externally_shared_axis_x_axiscCsØtjjj}|j ¡}| dd¡}|jd|ddd|dd<|jd|ddd|dd<|dd ¡|dd ¡||dddƒs’t    ‚||dddƒr¨t    ‚||dddƒs¾t    ‚||d    ddƒrÔt    ‚dS)
NrÅr éArr ©ZshareyiErrI)
rrårærçrRrèrSréZtwinyr%rërrrÚ&test_has_externally_shared_axis_y_axisõs
 
 z9TestDataFramePlots.test_has_externally_shared_axis_y_axisc    Csrtjjj}|j ¡}| dd¡}|jd|ddd|dd<d}tj    t
|d||ddd    ƒW5QRXdS)
NrÅr rïrr rðz&needs 'x' or 'y' as a second parameterr Úz) rrårærçrRrèrSrérrr«)r7r'rìrír(rrrÚ4test_has_externally_shared_axis_invalid_compare_axiss
 
 zGTestDataFramePlots.test_has_externally_shared_axis_invalid_compare_axiscCs´ttj d¡tj d¡dœƒ}|j ¡}| dd¡}|jd|ddd|dd<|jd    |ddd|dd<|dd ¡}|dd ¡}|d
j    |ddd d  
d ¡|d
j    |ddd|d
j    |dddd  
d¡|d
j    |ddd|d
j    |dddd  
d ¡|d
j    |ddd|dj    |dd|dj    |dd|ddj   ¡  ¡rxt‚|ddj   ¡  ¡s”t‚|ddj   ¡  ¡r°t‚dS)Niè)rÌrtr rIrâr rrãrärÌzExternal share only)r9r§z"this label should never be visible)r9zInternal share (twin) onlyz#this label should always be visibleZBothrtÚgreen)r9rcZyellow)rrTrUrVrRrèrSrérêrZ
set_xlabelrŠržZ get_visibler%)r7rrìríZtwin_ax1Ztwin_ax2rrrÚtest_externally_shared_axess0
 ÿÿÿz.TestDataFramePlots.test_externally_shared_axescCs:tdgtdƒgd}t|jƒtddiƒ}t|jjƒdS)Nr£z2022-02-22 22:22:22r×r
)rrr    rrr)r7rÚsrrrÚ-test_plot_bar_axis_units_timestamp_conversionJsþ
 z@TestDataFramePlots.test_plot_bar_axis_units_timestamp_conversioncCsvddlm}|dddƒ|dddƒg}tddgtddddgd    }t|jjƒtd
d „t|j ¡     ¡|ƒDƒƒsrt
‚dS) NrrÕz    ([0, 1],)r z    ([1, 2],)r Zboth)Úclosedr×css"|]\}}| ¡| ¡kVqdSrÎrØrÙrrrrÀasÿzFTestDataFramePlots.test_bar_plt_xaxis_intervalrange.<locals>.<genexpr>) rÚrÖrrr    rrrÂr—rÛr%)r7rÖrYrörrrÚ test_bar_plt_xaxis_intervalrangeVs þ þz3TestDataFramePlots.test_bar_plt_xaxis_intervalrangeN)rBrCrDÚtdZskip_if_no_scipyrrErFrZZslowr‡rŒÚfilterwarningsršr¦r¬r´r·rÃrËrÔrÜrárîrñrórõr÷rùrrrrrG^s0 '
L
/
 
"$ + rG)Ú__doc__ÚnumpyrTrZpandas.util._test_decoratorsÚutilZ_test_decoratorsrúZpandasrrrrrrZpandas._testingZ_testingr3Zpandas.tests.plotting.commonrr    Z skip_if_mplrr)Zskip_if_no_mplr*rGrrrrÚ<module>s  
"