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
U
­ý°dß"ã@s^ddlZddlZddlmmZddlmZm    Z    ddl
m Z ddl m Z Gdd„de ƒZdS)éN)Ú    DataFrameÚ
date_range)Ú TestPlotBase)ÚVersionc
@s†eZdZejjdddd„ƒZdd„Zej    dd„ƒZ
d    d
„Z d d „Z ej  d dddejdej    dddg¡dd„ƒZdd„Zdd„ZdS)ÚTestFrameLegendzLOpen bug in matplotlib https://github.com/matplotlib/matplotlib/issues/11357)ÚreasoncCs¶ddl}ddlm}ddlm}tddddœddddœgƒ}|jdd    d
d d
d }|jdd dd|dd| ¡}t|j    ƒtdƒkrˆ|j
}n|j }t |d|ƒs t ‚t |d|ƒs²t ‚dS)Nr)ÚLineCollection)ÚLine2Dé)ÚxÚaÚbéér r Zorangegš™™™™™¹?)ÚcÚyerrÚlabelr Úblue)rrÚaxrú3.7)Ú
matplotlibZmatplotlib.collectionsrZmatplotlib.linesr    rÚplotÚ
get_legendrÚ __version__Ú legendHandlesÚlegend_handlesÚ
isinstanceÚAssertionError)ÚselfÚmplrr    ÚdfrÚlegendZresult_handles©r"údd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/plotting/frame/test_frame_legend.pyÚtest_mixed_yerrs  zTestFrameLegend.test_mixed_yerrc    Cs¨ddl}tddgddgdœƒ}tdddgiƒ}|jdd    d
dœd d }|jddd i|d| ¡}t|jƒtdƒkrz|j}n|j}dd„|Dƒ}d    d
d g}||ks¤t‚dS)Nrr
rr)r r Údg@TrÚgreenr )r!ÚcolorÚ secondary_yÚred)r!r'rrcSsg|] }| ¡‘qSr")Z    get_color)Ú.0Úhandler"r"r#Ú
<listcomp>7sz5TestFrameLegend.test_legend_false.<locals>.<listcomp>)    rrrrrrrrr)    rrr Údf2rr!ZhandlesÚresultÚexpectedr"r"r#Útest_legend_false)s
z!TestFrameLegend.test_legend_falsec Csrddddddg}ttj dd¡dd    d
gd }ttj dd¡d d dgd }ttj dd¡dddgd }ttj dd¡dddgd }|D]¨}|j|dd}|j||jd|j|d|d}|j||jd|j|d|d}|j||j |j¡d|j|d|d}t|j |j¡ƒtt    |jƒƒ}|j||dq„|jdd    d}|j|ddd
gd|jd|d}|j|ddd
gd|jddd|d}|j|ddd
dddgdt
d dd!}    ttj  dd¡dd    d
g|    d"}ttj  dd¡d d dg|    d"}ttj  dd¡dddg|    d"}|jdd    d}|j|ddd
gd|jd|d}|j|ddd
gd|jd|d}|j|ddd
dddgd|jj dd    d#d$}|j|d#gd|jj d d dd%|d&}|j|d#gd|jj ddd'|d(}|j|d#d'gd|  d¡}
|
jd    d)}|j|d    gd|
jd    d*d+}|j|d*gd| |j ¡d¡|
jd
d,|d-}|j|d*d,gd|
j ¡d    d
gksnt‚dS).NÚlineÚbarÚbarhÚkdeÚareaÚhistrr r r©Úcolumnsr%ÚeÚfÚgÚhÚiÚjÚkÚlT©Úkindr!©ÚlabelsF)rBr!rÚreverse)r!r(z    b (right)©r!r)rBr!r(rz    h (right)z1/1/2014)Zperiods)r8ÚindexZdata1)r ÚyrZdata2)r rHr!rrZdata3)r rHrr)rHZLABEL_b)rHrZLABEL_c)rHrr)rÚnpÚrandomÚrandrÚ_check_legend_labelsr8ÚunionÚlistÚreversedrÚrandnZscatterZ    set_indexÚ_check_text_labelsZxaxisZ    get_labelÚtolistr) rÚkindsr r-Zdf3Zdf4rBrr/ÚindZdf5r"r"r#Útest_df_legend_labels;sb ÿ 
 z%TestFrameLegend.test_df_legend_labelscCsºtddddgddddggddddgd    }|jjdd
d \}}|jddd d d|d d|jddddd|d d|jdddd d|d d|j|d dddgd|j|d d dd gd|jdddd d|dd|jddd d d|dd|jddddd|dd|j|ddddgd|j|dd d dgd|jddddd|dd|jdddd d|dd|jddd d d|dd|j|ddddgd|j|ddd d gddS)Nr
réér Úrr;r )Údatar8r)ZnrowsZncolsrÚo)r rHZ    linewidthÚmarkerr'rrC©Zexpected_markers©rZpltZsubplotsrrLÚ_check_legend_marker)rr Úfigrr"r"r#Ú*test_missing_marker_multi_plots_on_same_ax|s"(z:TestFrameLegend.test_missing_marker_multi_plots_on_same_axc    Csêttj dd¡t ddddg¡t ddddg¡gd}ddg|j_| ¡}|j     ¡}| 
|d    ¡ttj d
d
¡ƒ}|jd |d }|j     ¡}| 
|d    ¡d |j_ |jd|d }|j     ¡}| 
|d    ¡|jd |d }|j     ¡}| 
|d ¡dS)NrVr r r rHr7ÚgroupZ
individualzgroup,individualéTrFÚnewF) rrIrJrPÚarrayr8ÚnamesrZlegend_Z    get_titlerQÚname)rZmultirZ    leg_titler r"r"r#Útest_legend_name“s& "þ 
 
 
 
z TestFrameLegend.test_legend_namerBr1r2r3r4)Zmarksr5r6cCs<ttj dd¡dddgd}|j|dd}|j|dddS)    Nrr r rr7FrA)Zvisible)rrIrJrKrrL)rrBr rr"r"r#Útest_no_legend¬s zTestFrameLegend.test_no_legendcCs‚ttj dd¡dddgd}|jdgddd    }|jdgd
d |d |jdgd d |d |j|dddgd|j|dd
d gddS)NrWrÚAÚBÚCr7r Zsolid)rHr[Ú    linestylerZZdotted)rHr[rlrú<rCr\)rrIrJrPrrLr^)rr rr"r"r#Útest_missing_markers_legend¼s z+TestFrameLegend.test_missing_markers_legendc
Csštddddddgddddddgddddddgddddddgdœƒ}|j ¡\}}dD]}|jd    |||d
d qT|j|d d dgd|j|d
d
d
gddS)Nr
rrrVrbé)rirjrkÚXÚABCrpÚ.)rrÚstylerirjrkrCr\r])rr r_rrBr"r"r#Ú'test_missing_markers_legend_using_styleÆsüÿ    z7TestFrameLegend.test_missing_markers_legend_using_styleN)Ú__name__Ú
__module__Ú __qualname__ÚpytestÚmarkZxfailr$r0ÚtdZskip_if_no_scipyrUr`rgZ parametrizeÚparamrhrnrtr"r"r"r#rs,þ
 
@úþ
 
r)ÚnumpyrIrxZpandas.util._test_decoratorsÚutilZ_test_decoratorsrzZpandasrrZpandas.tests.plotting.commonrZpandas.util.versionrrr"r"r"r#Ú<module>s