hyb
2026-01-09 4cb426cb3ae31e772a09d4ade5b2f0242aaeefa0
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
Ë
nñúhÑGãó—ddlmZddlmZmZmZddlZddlZddl    m
Z
ddl Z ddl mZddlmZddlmZddlmZdd    lmZdd
lmZddlZddlmcmZdd lm Z dd l!m"Z"dd l#m$Z$m%Z%ddl&m'Z'ddl(m)Z)ddl*m+Z+m,Z,m-Z-erddl.m/Z/ddl0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7dd„Z8Gd„de$«Z9dd„Z:                                d                     d!d„Z;                                    d"                            d#d„Z<                                    d"                            d#d„Z=                                        d$                                                    d%d„Z>y)&é)Ú annotations)Ú TYPE_CHECKINGÚLiteralÚ
NamedTupleN)Úsetp)Úlib)Úcache_readonly)Úfind_stack_level)Ú is_dict_like)Ú    ABCSeries)Úremove_na_arraylike)ÚVersion)Ú pprint_thing)ÚLinePlotÚMPLPlot)Úcreate_iter_data_given_by)Úget_standard_colors)Úcreate_subplotsÚ flatten_axesÚmaybe_adjust_figure)Ú
Collection)ÚAxes)ÚFigure)ÚLine2D)ÚMatplotlibColorc óv—|r|j«n|j«}t|«t|«k7rWtt|«t|««\}}t    t
j «t    d«kr |dk(sJ|«‚||z}|r|j|fi|¤Žy|j|fi|¤Žy)zãSet the tick labels of a given axis.
 
    Due to https://github.com/matplotlib/matplotlib/pull/17266, we need to handle the
    case of repeated ticks (due to `FixedLocator`) and thus we duplicate the number of
    labels.
    z3.10rN)    Ú
get_xticksÚ
get_yticksÚlenÚdivmodrÚmplÚ __version__Úset_xticklabelsÚset_yticklabels)ÚaxÚlabelsÚ is_verticalÚkwargsÚticksÚiÚ    remainders       úVH:\Change_password\venv_build\Lib\site-packages\pandas/plotting/_matplotlib/boxplot.pyÚ_set_ticklabelsr-1s€ñ +ˆBM‰MŒO°· ± ³€EÜ
ˆ5ƒz”S˜“[Ò Üœc %›j¬#¨f«+Ó6‰ ˆˆ9Ü ”3—?‘?Ó #¤g¨f£oÒ 5Ø ’>Ð , 9Ó ,>ؐ!‰ ˆÙ؈×ј6Ñ, VÓ,àˆ×ј6Ñ, VÓ,ócó‡—eZdZedd„«ZdZdZGd„de«Zddd„Z    e
    d                    dd„«Z d„Z e d    „«Ze d
„«Ze d „«Ze d „«Ze d „«Z        d            dd„Zdd„Zdd„Zdd„Zdd„Zedd„«Zeˆfd„«ZˆxZS) ÚBoxPlotcó—y)NÚbox©©Úselfs r,Ú_kindz BoxPlot._kindEs€àr.Ú
horizontal)NÚaxesÚdictÚbothcó"—eZdZUded<ded<y)ú
BoxPlot.BPrr%zdict[str, list[Line2D]]ÚlinesN)Ú__name__Ú
__module__Ú __qualname__Ú__annotations__r3r.r,ÚBPr<Ms …à ‹Ø&Ô&r.rBc óȗ||jvr td«‚||_tj||fi|¤Ž|j
r|j dk(rd|_yd|_yy)Nz2return_type must be {None, 'axes', 'dict', 'both'}ÚverticalF)    Ú_valid_return_typesÚ
ValueErrorÚ return_typerÚ__init__ÚsubplotsÚ orientationÚsharexÚsharey)r5ÚdatarGr(s    r,rHzBoxPlot.__init__Rsc€Ø ˜d×6Ñ6Ñ 6ÜÐQÓRÐ Rà&ˆÔä×ј˜tÑ. vÒ.à =Š=ð×Ñ :Ò-Ø#• à#• ð r.c ót—|jdk(r[|Dcgc] }t|«‘Œ}}|Dcgc]7}|jdkDr|n#tjtj
g«‘Œ9}}n t|«}|j |fi|¤Ž}|dk(r||fS|dk(r|j||¬«|fS||fScc}wcc}w)Nérr9r:©r%r=)Úndimr ÚsizeÚnpÚarrayÚnanÚboxplotrB)    Úclsr%ÚyÚ
column_numrGÚkwdsÚvÚysÚbps             r,Ú_plotz BoxPlot._plotcsÁ€ð
6‰6QŠ;Ø23Ö4¨QÔ% aÕ(Ð4ˆBÐ4ðDFÖF¸aq—v‘v ’z‘!¤r§x¡x´·±°Ó'9Ñ9ÐFˆBÑFä$ QÓ'ˆBØ ˆRZ‰Z˜Ñ #˜dÑ #ˆà ˜&Ò  Ør6ˆMØ ˜FÒ "Ø—6‘6˜R r6Ó*¨BÐ.Ð .àr6ˆMùò5ùòGs
”B0¬<B5cóΗ|tjury|tjdt    «¬«t |t «r gd¢}|D]}||vsŒtd|›d|›«‚|S)NzC'color' and 'colormap' cannot be used simultaneously. Using 'color')Ú
stacklevel©ÚboxesÚwhiskersÚmediansÚcapsú!color dict contains invalid key 'ú'. The key must be either )rÚ
no_defaultÚwarningsÚwarnr
Ú
isinstancer9rF)r5ÚcolorÚcolormapÚ
valid_keysÚkeys     r,Ú_validate_color_argszBoxPlot._validate_color_argsys€Ø ”C—N‘NÑ "Øà Ð Ü M‰Mð0ä+Ó-õ ô eœTÔ "ÚAˆJØò Ø˜jÒ(Ü$Ø;¸C¸5ðA2Ø2<°ð?óðð ð ˆ r.có2—td|jd¬«S)Né)Ú
num_colorsrmrl)rrmr4s r,Ú _color_attrszBoxPlot._color_attrsŽs€ô #¨a¸$¿-¹-ÈtÔTÐTr.có —|jdS©Nr©rtr4s r,Ú_boxes_czBoxPlot._boxes_c–ó€à× Ñ  Ñ#Ð#r.có —|jdSrvrwr4s r,Ú _whiskers_czBoxPlot._whiskers_cšryr.có —|jdS)NrOrwr4s r,Ú
_medians_czBoxPlot._medians_cžryr.có —|jdSrvrwr4s r,Ú_caps_czBoxPlot._caps_c¢ryr.có—y©Nr3)r5rsÚ
color_kwdss   r,Ú _get_colorszBoxPlot._get_colors¦s€ð     r.cóv—t|jt«r™|jjd|j«}|jjd|j
«}|jjd|j «}|jjd|j«}nh|jxs |j}|jxs |j
}|jxs |j }|jxs |j}||||f}t|fd|i|j¤Žy)NrbrcrdreÚ    color_tup)
rkrlr9Úgetrxr{r}rÚmaybe_color_bprZ)r5r]rbrcrdrer…s       r,r‡zBoxPlot.maybe_color_bp°sâ€Ü d—j‘j¤$Ô 'Ø—J‘J—N‘N 7¨D¯M©MÓ:ˆEØ—z‘z—~‘~ j°$×2BÑ2BÓCˆHØ—j‘j—n‘n Y°·±Ó@ˆGØ—:‘:—>‘> &¨$¯,©,Ó7‰Dð—J‘JÒ/ $§-¡-ˆEØ—z‘zÒ5 T×%5Ñ%5ˆHØ—j‘jÒ3 D§O¡OˆGØ—:‘:Ò- §¡ˆDà˜H g¨tÐ4ˆ    ÜrÑ< YÐ<°$·)±)Ó<r.cóL—|jr„tjt¬«|_|j
 t |j|j«n |j}t|j|¬««D] \}\}}|j|«}|jj«}|j
b|j}|jt!|««|jj"j$}|dD    cgc] }    t!|    «‘Œ}
}    n t!|«g}
|j&||f||j(dœ|¤Ž\} } |j+| «| |j|<t-||
|j.dk(¬«Œy|jj0j}|jd«}|jj«}|j&||fd|j(dœ|¤Ž\} } |j+| «| |_|jj"D cgc] } t!| «‘Œ}} |j2s*t5t7|««Dcgc] }t!|«‘Œ}}t-|||j.dk(¬«ycc}    wcc} wcc}w)N©Údtype)rMr)rYrGrD)r%r&r')rIÚpdÚSeriesÚobjectÚ _return_objÚbyrrMr6Ú    enumerateÚ
_iter_dataÚ_get_axrZÚcopyÚTÚ    set_titlerÚcolumnsÚlevelsr^rGr‡r-rJÚvaluesÚ    use_indexÚranger)r5ÚfigrMr*ÚlabelrXr%rZr—ÚcolÚ
ticklabelsÚretr]Úleftr&ros                r,Ú
_make_plotzBoxPlot._make_plotÁsM€Ø =‹=Ü!Ÿy™y¬vÔ6ˆDÔ ð
—7‘7Ð&ô*¨$¯)©)°T·Z±ZÔ@à—Y‘Yð ô"+¨4¯?©?À¨?Ó+EÓ!Fó ‘ ‘:E˜1Ø—\‘\ !“_Ø—y‘y—~‘~Ó'ð—7‘7Ð&ØŸ™AØ—L‘L¤¨eÓ!4Ô5ð
"ŸY™Y×.Ñ.×5Ñ5FØ?EÀa¹yÖ!I¸¤,¨sÕ"3Ð!IJÑ!Iä".¨uÓ"5Ð!6Jà$˜$Ÿ*™*ؘðØ&'°T×5EÑ5EñØIMñ‘Rð×#Ñ# BÔ'Ø*-× Ñ  Ñ'ÜØ *¸$×:JÑ:JÈjÑ:X÷ñ/ ð6—    ‘    × Ñ ×"Ñ"ˆAØ—‘˜a“ˆBØ—9‘9—>‘>Ó#ˆDࠐd—j‘jؐAðØ"#°×1AÑ1AñØEIñ‰GˆCð × Ñ  Ô #Ø"ˆDÔ à59·Y±Y×5FÑ5FÖG¨T”l 4Õ(ÐGˆFÐGØ—>’>Ü7<¼SÀ»[Ó7IÖJ°œ, sÕ+ÐJÐJÜ Ø˜f°$×2BÑ2BÀjÑ2Pö ùò5"Jùò.HùâJsÄJÈ1JÉ'J!có—yrr3r4s r,Ú _make_legendzBoxPlot._make_legendûs€Ø r.cóƗ|jr$|jt|j««|jr%|j    t|j««yyr)ÚxlabelÚ
set_xlabelrÚylabelÚ
set_ylabel)r5r%rMs   r,Ú_post_plot_logiczBoxPlot._post_plot_logicþs?€à ;Š;Ø M‰Mœ, t§{¡{Ó3Ô 4Ø ;Š;Ø M‰Mœ, t§{¡{Ó3Õ 4ð r.có>—|jjdd«ryy)NÚvertTrDr7)rZr†r4s r,rJzBoxPlot.orientations€à 9‰9=‰=˜ Ô &Øàr.cóH•—|j€
t‰|S|jSr)rGÚsuperÚresultrŽ)r5Ú    __class__s €r,r®zBoxPlot.result s%ø€à × Ñ Ð #Ü‘7‘>Ð !à×#Ñ#Ð #r.)ÚreturnzLiteral['box'])r8)rGÚstrr°ÚNone)Nr8)r%rrXz
np.ndarrayrGr±)Nrl)r‚zQdict[str, MatplotlibColor] | MatplotlibColor | Collection[MatplotlibColor] | Noner°r²©r°r²)r›rr°r²)r%rr°r²)r°z!Literal['horizontal', 'vertical'])r>r?r@Úpropertyr6Ú _layout_typerErrBrHÚ classmethodr^rpr    rtrxr{r}rrƒr‡r¡r£r©rJr®Ú __classcell__)r¯s@r,r0r0Ds-ø„Ø òóðð €Là8Ðô'ˆZô'ô
$ð"àJPðØðØ$ðØDGòóðò*ð*ñUóðUðñ$óð$ðñ$óð$ðñ$óð$ðñ$óð$ð
ðð  ðð ð
ó ó=ó"8ót ó5ðò óð ð ó$óô$r.r0c ó.—|jd«st|d|dd¬«|jd«st|d|dd¬«|jd«st|d    |d
d¬«|jd «st|d |d d¬«yy)NÚboxpropsrbré)rlÚalphaÚ whiskerpropsrcÚ medianpropsrdrOÚcappropsrerr)r†r)r]r…rZs   r,r‡r‡s‰€ð 8‰8JÔ Ü ˆR‰[     ¨!¡ °AÕ6Ø 8‰8NÔ #Ü ˆR
‰^ 9¨Q¡<°qÕ9Ø 8‰8MÔ "Ü ˆR    ‰] )¨A¡,°aÕ8Ø 8‰8JÔ Ü ˆR‰Z˜y¨™|°1Ö5ð  r.c
 óP—|j|d¬«} |€Bt|ttf«s|g}|j    «j
j |«}t|«} t| |
jdd«|
jdd«|||¬«\} }t|«}|
jdd«|
jdd«}}|
jd    d«r|xs|}n|xs|}g}t|«D][\}}||}| |}t|Ž\}}||||f||d
œ|
¤Ž}|j|«|j|«|j!|«Œ]t#j$||d¬ «}|    €|}t|«d k(r|d n|}| j'd|›«t)| ddddd¬«|S)NF)ÚobservedrKTrL)ÚnaxesrKrLÚfigsizer%Úlayoutr¥r§r«)r¥r§)Úindexr“rºrzBoxplot grouped by ç333333Ã?çÍÌÌÌÌÌì?皙™™™™¹?皙™™™™É?©ÚbottomÚtopr ÚrightÚwspace)ÚgroupbyrkÚlistÚtupleÚ_get_numeric_datar–Ú
differencerrÚpoprr†rÚzipr•ÚappendÚgridr‹rŒÚsuptitler)ÚplotfrMr–rÚ numeric_onlyrÖrÂr%rÃrGr(ÚgroupedrÁr›r8Ú_axesr¥r§Ú    ax_valuesr*rÚgp_colÚkeysr˜Úre_plotfr®Úbylines                           r,Ú_grouped_plot_by_columnrá!s·€ðl‰l˜2¨ˆlÓ.€G؀ܘ"œt¤U˜mÔ,ؐˆBØ×(Ñ(Ó*×2Ñ2×=Ñ=¸bÓAˆÜ ‹L€EÜØØz‰z˜( DÓ)؏z‰z˜( DÓ)ØØ Øô I€Cˆô ˜Ó €Eð—Z‘Z ¨$Ó/°·±¸HÀdÓ1KˆF€FØ ‡zz&˜$ÔØ’˜2‰à’˜2ˆà€Iä˜GÓ$ò‰ˆˆ3Ø 1‰XˆØ˜‘ˆÜ˜F|‰ ˆˆfÙ˜˜v rÐR°&ÀÑRÈ6ÑRˆØ
 ‰ SÔØ×јÔ"Ø
‰ ðôY‰Yy¨°eÔ <€FðÐØˆä˜"“g ’lˆRŠU¨€F؇LLÐ& v hÐ/Ô0ܘ D¨c¸À3ÈsÕSà €Mr.c
󷇇    ‡
‡—ddlm} ‰    tjvr t    d«‚t |t «r|jd«}d}ˆ
fd„} d ˆˆˆ    ˆfd„ } | «Š|€d}nt |ttf«r|}n|g}|t| |f||||||‰    dœ‰
¤Ž}|S‰    €dŠ    | t    d«‚|€2|d    |ini}| j|«5| j«}ddd«|j«}t|j«}|dk(r t    d
«‚|€ |j}n||}| ||j j"|fi‰
¤Ž}|j%|«|S#1swYŒ„xYw) Nrz,return_type must be {'axes', 'dict', 'both'}ÚxcóŽ•—td¬«}tj|gd¢«}tj|d«}‰j    dd«}|rut |«rYgd¢}t t|td«««}|j«D]"\}}||vr    ||||<Œtd|›d    |›«‚|S|j|«|S)
Nrr)rs)rrrOÚkrlraérfrg) rrSÚtakerÕrÓr r9rÔršÚitemsrFÚfill)r®ÚcolorsrnÚ key_to_indexroÚvaluerZs      €r,rƒzboxplot.<locals>._get_colorsusÖø€ô%°Ô2ˆÜ—‘˜¢Ó+ˆÜ—‘˜6 3Ó'ˆà—‘˜' 4Ó(ˆÙ ܘFÔ#òF
Ü#¤C¨
´E¸!³HÓ$=Ó> Ø"(§,¡,£.ò‘JC˜Ø˜jÑ(Ø49˜˜|¨CÑ0Ò1ä(Ø?À¸uðE6Ø6@°\ðCóðð    ðˆ ð— ‘ ˜FÔ#àˆ r.cóV•—|jdd«|jdd«}}|r|jt|««|r|jt|««|Dcgc] }t|«‘Œ}}|Dcgc]&}t    j
t |«t¬«‘Œ(}}|j|fi|¤Ž}‰
|jd‰
¬«t|||jdd«‰ ¬«t|fd    ‰    i|¤Ž‰ d
k(r|S‰ dk(rtj||¬ «S|Scc}wcc}w) Nr¥r§r‰r:)ÚaxisÚ    labelsizer«T)r%r&r'Úrotationr…r9rP)rÓr¦rr¨rSÚasarrayr rrVÚ tick_paramsr-r†r‡r0rB) rÞr˜r%rZr¥r§rãr[r]rêÚfontsizerGÚrots          €€€€r,Ú
plot_groupzboxplot.<locals>.plot_group’sø€àŸ™ (¨DÓ1°4·8±8¸HÀdÓ3KˆÙ Ø M‰Mœ, vÓ.Ô /Ù Ø M‰Mœ, vÓ.Ô /à)-Ö. A” ˜Q•Ð.ˆÐ.ØLRÖSÀq”"—*‘*Ô0°Ó3¼6ÖBÐSˆÐSØ ˆRZ‰Z˜Ñ ' $Ñ 'ˆØ Ð Ø N‰N °(ˆNÔ ;ô    Ø˜$¨D¯H©H°V¸TÓ,BÈSõ    
ô    rÑ4 VÐ4¨tÒ4ð ˜&Ò  ØˆIØ ˜FÒ "Ü—:‘: ¨2:Ó.Ð .àˆIùò%/ùÚSs Á"D!Á:+D&)r–rrÖrÂr%rÃrGr8z7The 'layout' keyword is not supported when 'by' is Nonezfigure.figsizez;boxplot method requires numerical columns, nothing to plot.)r%r)Úmatplotlib.pyplotÚpyplotr0rErFrkr Úto_framerÏrÐráÚ
rc_contextÚgcarÑrr–r˜r”rÖ)rMÚcolumnrr%rórôrÖrÂrÃrGrZÚpltrƒrõr–r®ÚrcrÁrês    ``   ``       @r,rVrV^s›ü€õ$ðœ'×5Ñ5Ñ5ÜÐGÓHÐHä$œ    Ô"؏}‰}˜SÓ!ˆØˆô÷:ðñ8‹]€FØ €~؉ܠ   FœT¤5˜MÔ    *؉à(ˆà    €~ô)Ø Ø ð 
ðØØØØØØ#ñ 
ðñ 
ˆðH €Mð/ Ð Ø ˆKØ Ð ÜÐVÓWÐ Wà ˆ:Ø07Ð0CÐ" GÑ,ȈBØ—‘ Ó#ñ Ø—W‘W“Y÷ à×%Ñ%Ó'ˆÜD—L‘LÓ!ˆØ AŠ:ÜØMóð ð ˆ?Ø—l‘l‰Gà˜‘=ˆDá˜G T§[¡[§]¡]°BÑ?¸$Ñ?ˆØ
‰Œ à €M÷! ð ús ÃEÅE$c
ó^—ddlm} t|f|||||||||    dœ    |
¤Ž}| j«|S)Nr)    rûrr%rórÖrôrÂrÃrG)rör÷rVÚdraw_if_interactive) r5rûrr%rórôrÖrÂrÃrGrZrüs             r,Ú boxplot_frameràsQ€õ$ä    Ø ð
àØ Ø ØØ Ø ØØØñ
ð ñ
€Bð×ÑÔØ €Ir.c óø—|dur°t|«} t| d||    |
||¬«\} }t|«}tjt
¬«}t ||«D]I\\}}}|jd|||||dœ| ¤Ž}|jt|««||j|<ŒKt| ddddd    ¬
«|St |Ž\}}|jd k(rtj||d ¬ «}n+t|«d kDr|d j|d d«}n|d }|Ktj |«}tj"j%||g«}t'|j(«}|jd|||||||dœ| ¤Ž}|S)NTF)rÁÚsqueezer%rKrLrÂrÃr‰)r%rûrórôrÖrÅrÆrÇrÈrÉrrº)rÞrî)rûrórôrÖr%rÂrÃr3)rrrr‹rŒrrÔrVr•rÚlocrrîÚconcatÚjoinÚcomÚconvert_to_list_likeÚ
MultiIndexÚ from_productrÏr˜)rÚrIrûrórôrÖr%rÂrÃrKrLrZrÁr›r8rŸroÚgroupÚdrÞÚframesÚdfÚ    multi_keys                       r,Úboxplot_frame_groupbyrs©€ð4ÑܐG“ ˆÜ#ØØØØØØØô
‰    ˆˆTô˜DÓ!ˆäi‰iœfÔ%ˆä # G¨TÓ 2ò    Ñ ‰LˆS%˜"ؐ— ‘ ðؘf¨x¸SÀtñØOSñˆAð L‰Lœ cÓ*Ô +؈CG‰GCŠLð     ô     ˜C¨°#¸CÀsÐSVÕWð8 €Jô5˜G}‰ ˆˆfØ <‰<˜1Ò Ü—‘˜6¨°1Ô5‰BÜ ‹[˜1Š_ؘ‘—‘  q s  Ó,‰Bà˜‘ˆBð Ð Ü×-Ñ-¨fÓ5ˆFÜŸ ™ ×2Ñ2°D¸&°>ÓBˆIܘ)×*Ñ*Ó+ˆF؈bj‰jð    
ØØØØØØØñ    
ðñ    
ˆð €Jr.)r%rr&z    list[str]r'Úboolr°r²r³)NNTFNNNN)rÙrrÖrrÂútuple[float, float] | None)    NNNNrTNNN)róú
int | NonerôÚintrÖrrÂr)
TNNrTNNNFT)rIrrórrôrrÖrrÂrrKrrLr)?Ú
__future__rÚtypingrrrriÚ
matplotlibr!Úmatplotlib.artistrÚnumpyrSÚ pandas._libsrÚpandas.util._decoratorsr    Úpandas.util._exceptionsr
Úpandas.core.dtypes.commonr Úpandas.core.dtypes.genericr Úpandas.core.dtypes.missingr Úpandasr‹Úpandas.core.commonÚcoreÚcommonrÚpandas.util.versionrÚpandas.io.formats.printingrÚ pandas.plotting._matplotlib.corerrÚ#pandas.plotting._matplotlib.groupbyrÚ!pandas.plotting._matplotlib.stylerÚ!pandas.plotting._matplotlib.toolsrrrÚcollections.abcrÚmatplotlib.axesrÚmatplotlib.figurerÚmatplotlib.linesrÚpandas._typingrr-r0r‡rárVrrr3r.r,ú<module>r.sÈðÝ"÷ñó
ãÝ"ÛåÝ2Ý4å2Ý0Ý:ãߠРÝ'å3÷õJÝA÷ññ Ý*å$Ý(Ý'å.ó-ô&M$ˆhôM$ó`
6ð  Ø ØØØ*.Ø Ø Øð:ð
ð :ð ð :ð(ó:ð~ Ø Ø ØØØØ*.Ø Øðð
ð ð
ð ð ðð(óðH Ø Ø ØØØØ*.Ø Øðð
ð ð
ð ð ðð(óðDØ ØØØØ Ø*.Ø ØØð?àð?ðð    ?ð
 
ð ?ð ð ?ð(ð?ð ð?ð ô?r.