§
    tŠtj G  ã                  óÔ  — d dl mZ d dlmZmZmZmZ d dlZd dlZ	d dl
Zd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d dlZd dlmc mZ d d
lmZ d dl m!Z! d dl"m#Z#m$Z$ d dl%m&Z& d dl'm(Z( d dl)m*Z*m+Z+m,Z, erd dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d2d„Z7 G d„ de#¦  «        Z8d3d „Z9	 	 	 	 	 	 	 	 d4d5d'„Z:	 	 	 	 	 	 	 	 	 d6d7d,„Z;	 	 	 	 	 	 	 	 	 d6d7d-„Z<	 	 	 	 	 	 	 	 	 	 d8d9d1„Z=dS ):é    )Úannotations)ÚTYPE_CHECKINGÚAnyÚLiteralÚ
NamedTupleN)Ú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)ÚMatplotlibColorÚaxr   Úlabelsú	list[str]Úis_verticalÚboolÚreturnÚNonec                ó²  — |r|                       ¦   «         n|                      ¦   «         }t          |¦  «        t          |¦  «        k    rlt          t          |¦  «        t          |¦  «        ¦  «        \  }}t	          t
          j        ¦  «        t	          d¦  «        k     r|dk    s
J |¦   «         ‚||z  }|r | j        |fi |¤Ž dS  | j        |fi |¤Ž dS )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.
    z3.10r   N)	Ú
get_xticksÚ
get_yticksÚlenÚdivmodr   ÚmplÚ__version__Úset_xticklabelsÚset_yticklabels)r   r   r!   ÚkwargsÚticksÚiÚ	remainders          úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/plotting/_matplotlib/boxplot.pyÚ_set_ticklabelsr3   1   sÙ   € ð  +Ð?ˆB�MŠM‰OŒOˆO°·²±´€EÝ
ˆ5�z„z•S˜‘[”[Ò Ð Ý�c %™jœj­#¨f©+¬+Ñ6Ô6‰ˆˆ9Ý•3”?Ñ#Ô#¥g¨f¡o¤oÒ5Ð5Ø ’>�>�> 9‘>”>�>Ø�!‰ˆØð -ØˆÔ˜6Ð,Ð, VÐ,Ð,Ð,Ð,Ð,àˆÔ˜6Ð,Ð, VÐ,Ð,Ð,Ð,Ð,ó    c                  óJ  ‡ — e Zd Zed&d„¦   «         ZdZdZ G d„ de¦  «        Zd'd(d„Z	e
	 d)d*d„¦   «         Zd„ Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	 	 d+d,d„Zd-d„Zd.d „Zd-d!„Zd/d"„Zed0d$„¦   «         Zeˆ fd%„¦   «         Zˆ xZS )1ÚBoxPlotr#   úLiteral['box']c                ó   — dS )NÚbox© ©Úselfs    r2   Ú_kindzBoxPlot._kindE   s   € àˆur4   Ú
horizontal)NÚaxesÚdictÚbothc                  ó$   — e Zd ZU ded<   ded<   dS )ú
BoxPlot.BPr   r   zdict[str, list[Line2D]]ÚlinesN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r:   r4   r2   ÚBPrC   M   s'   € € € € € € àˆˆ‰Ø&Ð&Ð&Ñ&Ð&Ð&r4   rI   r?   Úreturn_typeÚstrr$   c                ó²   — || j         vrt          d¦  «        ‚|| _        t          j        | |fi |¤Ž | j        r| j        dk    r	d| _        d S d| _        d S d S )Nz2return_type must be {None, 'axes', 'dict', 'both'}ÚverticalF)	Ú_valid_return_typesÚ
ValueErrorrJ   r   Ú__init__ÚsubplotsÚorientationÚsharexÚsharey)r<   ÚdatarJ   r.   s       r2   rP   zBoxPlot.__init__R   s|   € Ø˜dÔ6Ð6Ð6ÝÐQÑRÔRÐRà&ˆÔåÔ˜˜tÐ.Ð. vÐ.Ð.Ð.àŒ=ð 	$ð Ô :Ò-Ð-Ø#�”��à#�”��ð	$ð 	$r4   Nr   r   Úyú
np.ndarrayc                óÞ   — |j         dk    rd„ |D ¦   «         }d„ |D ¦   «         }nt          |¦  «        } |j        |fi |¤Ž}|dk    r||fS |dk    r|                      ||¬¦  «        |fS ||fS )Né   c                ó,   — g | ]}t          |¦  «        ‘ŒS r:   r   ©Ú.0Úvs     r2   ú
<listcomp>z!BoxPlot._plot.<locals>.<listcomp>i   s!   € Ð4Ð4Ð4¨QÕ% aÑ(Ô(Ð4Ð4Ð4r4   c                óf   — g | ].}|j         d k    r|nt          j        t          j        g¦  «        ‘Œ/S )r   )ÚsizeÚnpÚarrayÚnanr[   s     r2   r^   z!BoxPlot._plot.<locals>.<listcomp>m   s4   € ÐFÐFÐF¸a�q”v ’z�z�!�!¥r¤xµ´°Ñ'9Ô'9ÐFÐFÐFr4   r@   rA   ©r   rD   )Úndimr   ÚboxplotrI   )Úclsr   rV   Ú
column_numrJ   ÚkwdsÚysÚbps           r2   Ú_plotzBoxPlot._plotc   s£   € ð
 Œ6�QŠ;ˆ;Ø4Ð4°!Ð4Ñ4Ô4ˆBð GÐFÀ2ÐFÑFÔFˆBˆBå$ QÑ'Ô'ˆBØˆRŒZ˜Ð#Ð#˜dÐ#Ð#ˆà˜&Ò Ð Ø�r�6ˆMØ˜FÒ"Ð"Ø—6’6˜R r�6Ñ*Ô*¨BÐ.Ð.à�r�6ˆMr4   c                óÜ   — |t           j        u rd S |�"t          j        dt	          ¦   «         ¬¦  «         t          |t          ¦  «        r"g d¢}|D ]}||vrt          d|› 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
   Ú
isinstancer@   rO   )r<   ÚcolorÚcolormapÚ
valid_keysÚkeys        r2   Ú_validate_color_argszBoxPlot._validate_color_argsy   s´   € Ø•C”NÐ"Ð"Ø�4àÐÝŒMØUÝ+Ñ-Ô-ðñ ô ð õ
 �e�TÑ"Ô"ð 	ØAÐAÐAˆJØð ð �Ø˜jÐ(Ð(Ý$ð?¸Cð ?ð ?Ø2<ð?ð ?ñô ð ð )ð
 ˆr4   c                ó0   — t          d| j        d ¬¦  «        S )Né   )Ú
num_colorsr{   rz   )r   r{   r;   s    r2   Ú_color_attrszBoxPlot._color_attrs�   s   € õ #¨a¸$¼-ÈtÐTÑTÔTÐTr4   c                ó   — | j         d         S ©Nr   ©r‚   r;   s    r2   Ú_boxes_czBoxPlot._boxes_c•   ó   € àÔ  Ô#Ð#r4   c                ó   — | j         d         S r„   r…   r;   s    r2   Ú_whiskers_czBoxPlot._whiskers_c™   r‡   r4   c                ó   — | j         d         S )NrY   r…   r;   s    r2   Ú
_medians_czBoxPlot._medians_c�   r‡   r4   c                ó   — | j         d         S r„   r…   r;   s    r2   Ú_caps_czBoxPlot._caps_c¡   r‡   r4   rz   Ú
color_kwdsúQdict[str, MatplotlibColor] | MatplotlibColor | Collection[MatplotlibColor] | Nonec                ó   — d S ©Nr:   )r<   r�   rŽ   s      r2   Ú_get_colorszBoxPlot._get_colors¥   s	   € ð 	ˆr4   c                óà  — t          | j        t          ¦  «        r�| j                             d| j        ¦  «        }| j                             d| j        ¦  «        }| j                             d| j        ¦  «        }| j                             d| j        ¦  «        }n8| j        p| j        }| j        p| j        }| j        p| j        }| j        p| j        }||||f}t          |fd|i| j	        ¤Ž d S )Nrp   rq   rr   rs   Ú	color_tup)
ry   rz   r@   Úgetr†   r‰   r‹   r�   Úmaybe_color_bpri   )r<   rk   rp   rq   rr   rs   r”   s          r2   r–   zBoxPlot.maybe_color_bp¯   sá   € Ý�d”j¥$Ñ'Ô'ð 	.Ø”J—N’N 7¨D¬MÑ:Ô:ˆEØ”z—~’~ j°$Ô2BÑCÔCˆHØ”j—n’n Y°´Ñ@Ô@ˆGØ”:—>’> &¨$¬,Ñ7Ô7ˆDˆDð ”JÐ/ $¤-ˆEØ”zÐ5 TÔ%5ˆHØ”jÐ3 D¤OˆGØ”:Ð- ¤ˆDà˜H g¨tÐ4ˆ	Ý�rÐ<Ð< YÐ<°$´)Ð<Ð<Ð<Ð<Ð<r4   Úfigr   c                óÂ  — | j         �rƒg }g }| j        �t          | j        | j        ¦  «        n| j        }t          |                      |¬¦  «        ¦  «        D �]\  }\  }}|                      |¦  «        }| j         	                    ¦   «         }	| j        �M|j
        }|                     t          |¦  «        ¦  «         | j        j        j        }
d„ |
d         D ¦   «         }nt          |¦  «        g} | j        ||f|| j        dœ|	¤Ž\  }}|                      |¦  «         |                     |¦  «         |                     |¦  «         t'          ||| j        dk    ¬¦  «         �Œt+          j        ||t.          ¬¦  «        | _        d S | j        j        j
        }|                      d¦  «        }| j         	                    ¦   «         }	 | j        ||fd| j        dœ|	¤Ž\  }}|                      |¦  «         || _        d„ | j        j        D ¦   «         }| j        s&d	„ t7          t9          |¦  «        ¦  «        D ¦   «         }t'          ||| j        dk    ¬¦  «         d S )
N)rU   c                ó,   — g | ]}t          |¦  «        ‘ŒS r:   r   )r\   Úcols     r2   r^   z&BoxPlot._make_plot.<locals>.<listcomp>Ú   s    € Ð!IÐ!IÐ!I¸¥,¨sÑ"3Ô"3Ð!IÐ!IÐ!Ir4   r   )rh   rJ   rM   )r   r   r!   )ÚindexÚdtypec                ó,   — g | ]}t          |¦  «        ‘ŒS r:   r   )r\   Úlefts     r2   r^   z&BoxPlot._make_plot.<locals>.<listcomp>ó   s    € ÐGÐGÐG¨T•l 4Ñ(Ô(ÐGÐGÐGr4   c                ó,   — g | ]}t          |¦  «        ‘ŒS r:   r   )r\   r}   s     r2   r^   z&BoxPlot._make_plot.<locals>.<listcomp>õ   s    € ÐJÐJÐJ°�, sÑ+Ô+ÐJÐJÐJr4   )rQ   Úbyr   rU   r=   Ú	enumerateÚ
_iter_dataÚ_get_axri   ÚcopyÚTÚ	set_titler   ÚcolumnsÚlevelsrl   rJ   r–   Úappendr3   rR   ÚpdÚSeriesÚobjectÚ_return_objÚvaluesÚ	use_indexÚranger(   )r<   r—   Úobj_axesÚ
obj_labelsrU   r0   ÚlabelrV   r   ri   r¨   Ú
ticklabelsÚretrk   r   s                  r2   Ú
_make_plotzBoxPlot._make_plotÀ   s¥  € ØŒ=ñ 7	ØˆHØˆJð
 ”7Ð&õ *¨$¬)°T´ZÑ@Ô@Ð@à”Yð õ "+¨4¯?ª?À¨?Ñ+EÔ+EÑ!FÔ!Fð ñ ‘�‘:�E˜1Ø—\’\ !‘_”_�Ø”y—~’~Ñ'Ô'�ð ”7Ð&Øœ�AØ—L’L¥¨eÑ!4Ô!4Ñ5Ô5Ð5ð
 "œYÔ.Ô5�FØ!IÐ!I¸vÀa¼yÐ!IÑ!IÔ!I�J�Jå".¨uÑ"5Ô"5Ð!6�Jà$˜$œ*Ø˜ðØ&'°TÔ5Eðð ØIMðð ‘��Rð ×#Ò# BÑ'Ô'Ð'Ø—’ Ñ$Ô$Ð$Ø×!Ò! %Ñ(Ô(Ð(ÝØ *¸$Ô:JÈjÒ:Xðñ ô ð ñ õ  "œy¨¸Í6ÐRÑRÔRˆDÔÐÐà”	Ô Ô"ˆAØ—’˜a‘”ˆBØ”9—>’>Ñ#Ô#ˆDà �d”jØ�AðØ"#°Ô1Aðð ØEIðð ‰GˆC�ð ×Ò Ñ#Ô#Ð#Ø"ˆDÔàGÐG°T´YÔ5FÐGÑGÔGˆFØ”>ð KØJÐJµu½SÀ¹[¼[Ñ7IÔ7IÐJÑJÔJ�ÝØ˜f°$Ô2BÀjÒ2Pðñ ô ð ð ð r4   c                ó   — d S r‘   r:   r;   s    r2   Ú_make_legendzBoxPlot._make_legendú   s   € Øˆr4   c                óÂ   — | j         r'|                     t          | j         ¦  «        ¦  «         | j        r)|                     t          | j        ¦  «        ¦  «         d S d S r‘   )ÚxlabelÚ
set_xlabelr   ÚylabelÚ
set_ylabel)r<   r   rU   s      r2   Ú_post_plot_logiczBoxPlot._post_plot_logicý   s^   € àŒ;ð 	5Ø�MŠM�, t¤{Ñ3Ô3Ñ4Ô4Ð4ØŒ;ð 	5Ø�MŠM�, t¤{Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4ð	5ð 	5r4   ú!Literal['horizontal', 'vertical']c                ó@   — | j                              dd¦  «        rdS dS )NÚvertTrM   r>   )ri   r•   r;   s    r2   rR   zBoxPlot.orientation  s$   € àŒ9�=Š=˜ Ñ&Ô&ð 	 Ø�:à�<r4   c                óF   •— | j         €t          ¦   «         j        S | j        S r‘   )rJ   ÚsuperÚresultr­   )r<   Ú	__class__s    €r2   rÄ   zBoxPlot.result  s!   ø€ àÔÐ#Ý‘7”7”>Ð!àÔ#Ð#r4   )r#   r7   )r?   )rJ   rK   r#   r$   )Nr?   )r   r   rV   rW   rJ   rK   )Nrz   )rŽ   r�   r#   r$   ©r#   r$   )r—   r   r#   r$   )r   r   r#   r$   )r#   r¿   )rE   rF   rG   Úpropertyr=   Ú_layout_typerN   r   rI   rP   Úclassmethodrl   r~   r	   r‚   r†   r‰   r‹   r�   r’   r–   r¶   r¸   r¾   rR   rÄ   Ú__classcell__)rÅ   s   @r2   r6   r6   D   s  ø€ € € € € Øðð ð ñ „Xðð  €Là8Ðð'ð 'ð 'ð 'ð 'ˆZñ 'ô 'ð 'ð
$ð $ð $ð $ð $ð" àJPðð ð ð ñ „[ðð*ð ð ð( ðUð Uñ „^ðUð ð$ð $ñ „^ð$ð ð$ð $ñ „^ð$ð ð$ð $ñ „^ð$ð ð$ð $ñ „^ð$ð
 ð ðð ð ð ð ð=ð =ð =ð =ð"8ð 8ð 8ð 8ðtð ð ð ð5ð 5ð 5ð 5ð ð ð  ð  ñ „Xð ð ð$ð $ð $ð $ñ „Xð$ð $ð $ð $ð $r4   r6   c                ó"  — |                      d¦  «        s.t          j                             | d         |d         d¬¦  «         |                      d¦  «        s.t          j                             | d         |d         d¬¦  «         |                      d¦  «        s.t          j                             | d	         |d
         d¬¦  «         |                      d¦  «        s0t          j                             | d         |d         d¬¦  «         d S d S )NÚboxpropsrp   r   é   )rz   ÚalphaÚwhiskerpropsrq   Úmedianpropsrr   rY   Úcappropsrs   r€   )r•   r*   ÚartistÚsetp)rk   r”   ri   s      r2   r–   r–     sò   € ð �8Š8�JÑÔð BÝŒ
�Š˜˜7œ¨9°Q¬<¸qˆÑAÔAÐAØ�8Š8�NÑ#Ô#ð EÝŒ
�Š˜˜:œ¨i¸¬lÀ!ˆÑDÔDÐDØ�8Š8�MÑ"Ô"ð DÝŒ
�Š˜˜9œ¨Y°q¬\ÀˆÑCÔCÐCØ�8Š8�JÑÔð AÝŒ
�Š˜˜6œ
¨)°A¬,¸aˆÑ@Ô@Ð@Ð@Ð@ðAð Ar4   TFÚnumeric_onlyÚgridÚfigsizeútuple[float, float] | Nonec
                óâ  — |                      |d¬¦  «        }|€Kt          |t          t          f¦  «        s|g}|                     ¦   «         j                             |¦  «        }t          |¦  «        }t          ||
 	                    dd¦  «        |
 	                    dd¦  «        |||¬¦  «        \  }}|
 	                    dd ¦  «        |
 	                    dd ¦  «        }}|
 
                    d	d¦  «        r|p|}n|p|}g }t          t          |¦  «        |d¬
¦  «        D ]i\  }}||         }t          |ddiŽ\  }} | |||f||dœ|
¤Ž}|                     |¦  «         |                     |¦  «         |                     |¦  «         Œjt!          j        ||d¬¦  «        }|	€|}t          |¦  «        dk    r|d         n|}|                     d|› �¦  «         t'          |ddddd¬¦  «         |S )NF)ÚobservedrS   TrT   )ÚnaxesrS   rT   rÖ   r   Úlayoutrº   r¼   rÁ   ©ÚstrictrÝ   )rº   r¼   )r›   r¤   rÍ   r   zBoxplot grouped by ç333333Ã?çÍÌÌÌÌÌì?çš™™™™™¹?çš™™™™™É?©ÚbottomÚtoprž   ÚrightÚwspace)Úgroupbyry   ÚlistÚtupleÚ_get_numeric_datar§   Ú
differencer(   r   Úpopr•   Úzipr   r¦   r©   rÕ   rª   r«   Úsuptitler   )ÚplotfrU   r§   r    rÔ   rÕ   rÖ   r   rÛ   rJ   r.   ÚgroupedrÚ   r—   r?   rº   r¼   Ú	ax_valuesrš   Úgp_colÚkeysr®   Úre_plotfrÄ   Úbylines                            r2   Ú_grouped_plot_by_columnrö      s  € ð �lŠl˜2¨ˆlÑ.Ô.€GØ€Ý˜"�t¥U˜mÑ,Ô,ð 	Ø�ˆBØ×(Ò(Ñ*Ô*Ô2×=Ò=¸bÑAÔAˆÝ�‰LŒL€EÝØØ�zŠz˜( DÑ)Ô)Ø�zŠz˜( DÑ)Ô)ØØØðñ ô �I€Cˆð —Z’Z ¨$Ñ/Ô/°·²¸HÀdÑ1KÔ1KˆF€FØ‡z‚z�&˜$ÑÔð Ø�˜2ˆˆà�˜2ˆà€Iå•| DÑ)Ô)¨7¸5ÐAÑAÔAð ð ‰ˆˆCØ˜”ˆÝ˜FÐ0¨4Ð0Ð0‰ˆˆfØ�5˜˜v rÐR°&ÀÐRÐRÈ6ÐRÐRˆØ
�Š�SÑÔÐØ×Ò˜Ñ"Ô"Ð"Ø
�Š�‰ŒˆˆåŒY�y¨°eÐ<Ñ<Ô<€Fð ÐØˆå˜"‘g”g ’l�lˆR�ŒUˆU¨€FØ‡L‚LÐ/ vÐ/Ð/Ñ0Ô0Ð0Ý˜ D¨c¸À3ÈsÐSÑSÔSÐSà€Mr4   Úfontsizeú
int | NoneÚrotÚintc
                ó  ‡‡‡	‡
‡— dd l m} ‰	t          j        vrt	          d¦  «        ‚t          | t          ¦  «        r|                      d¦  «        } d}ˆ
fd„}dˆˆˆ	ˆfd„} |¦   «         Š|€d }n"t          |t          t          f¦  «        r|}n|g}|�t          || f||||||‰	dœ‰
¤Ž}nØ‰	€d	Š	|�t	          d
¦  «        ‚|€H|�d|ini }t          j        |¦  «        5  |                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                      ¦   «         } t          | j        ¦  «        }|dk    rt	          d¦  «        ‚|€| j        }n| |         }  ||| j        j        |fi ‰
¤Ž}|                     |¦  «         |S )Nr   z,return_type must be {'axes', 'dict', 'both'}Úxc                 óÖ  •— t          d¬¦  «        } t          j        | g d¢¦  «        }t          j        |d¦  «        }‰                     dd ¦  «        }|r“t          |¦  «        rog d¢}t          t          |t          d¦  «        d¬	¦  «        ¦  «        }| 	                    ¦   «         D ])\  }}||v r||||         <   Œt          d
|› d|› �¦  «        ‚n|                     |¦  «         |S )Nr€   )r�   )r   r   rY   Úkrz   ro   é   TrÜ   rt   ru   )r   ra   Útaker©   rì   r   r@   rí   r°   ÚitemsrO   Úfill)Úresult_listrÄ   Úcolorsr|   Úkey_to_indexr}   Úvalueri   s          €r2   r’   zboxplot.<locals>._get_colorsq  s!  ø€ õ *°QÐ7Ñ7Ô7ˆÝ”˜ i i iÑ0Ô0ˆÝ”˜6 3Ñ'Ô'ˆà—’˜' 4Ñ(Ô(ˆØð 	$Ý˜FÑ#Ô#ð $ð FÐEÐE�
Ý#¥C¨
µE¸!±H´HÀTÐ$JÑ$JÔ$JÑKÔK�Ø"(§,¢,¡.¤.ð ð ‘J�C˜Ø˜jÐ(Ð(Ø49˜˜|¨CÔ0Ñ1Ð1å(ðCÀð Cð CØ6@ðCð Cñô ð ð	ð —’˜FÑ#Ô#Ð#àˆr4   r   r   c                ó.  •— |                      dd ¦  «        |                      dd ¦  «        }}|r"|                     t          |¦  «        ¦  «         |r"|                     t          |¦  «        ¦  «         d„ | D ¦   «         } d„ |D ¦   «         } |j        |fi |¤Ž}‰�|                     d‰¬¦  «         t          || |                     dd¦  «        ‰
¬	¦  «         t          |fd
‰i|¤Ž ‰	dk    r|S ‰	dk    rt           
                    ||¬¦  «        S |S )Nrº   r¼   c                ó,   — g | ]}t          |¦  «        ‘ŒS r:   r   )r\   rü   s     r2   r^   z/boxplot.<locals>.plot_group.<locals>.<listcomp>–  s   € Ð.Ð.Ð. A•˜Q‘”Ð.Ð.Ð.r4   c                ó,   — g | ]}t          |¦  «        ‘ŒS r:   r   r[   s     r2   r^   z/boxplot.<locals>.plot_group.<locals>.<listcomp>—  s!   € Ð9Ð9Ð9¨QÕ% aÑ(Ô(Ð9Ð9Ð9r4   rA   )ÚaxisÚ	labelsizerÁ   T)r   r   r!   Úrotationr”   r@   rd   )rì   r»   r   r½   rf   Útick_paramsr3   r•   r–   r6   rI   )ró   r®   r   ri   rº   r¼   rk   r  r÷   rJ   rù   s          €€€€r2   Ú
plot_groupzboxplot.<locals>.plot_groupŽ  sL  ø€ àŸš (¨DÑ1Ô1°4·8²8¸HÀdÑ3KÔ3K�ˆØð 	0Ø�MŠM�, vÑ.Ô.Ñ/Ô/Ð/Øð 	0Ø�MŠM�, vÑ.Ô.Ñ/Ô/Ð/à.Ð.¨Ð.Ñ.Ô.ˆØ9Ð9°&Ð9Ñ9Ô9ˆØˆRŒZ˜Ð'Ð' $Ð'Ð'ˆØÐØ�NŠN °(ˆNÑ;Ô;Ð;õ 	Ø˜$¨D¯HªH°V¸TÑ,BÔ,BÈSð	
ñ 	
ô 	
ð 	
õ 	�rÐ4Ð4 VÐ4¨tÐ4Ð4Ð4ð ˜&Ò Ð ØˆIØ˜FÒ"Ð"Ý—:’: ¨2�:Ñ.Ô.Ð.àˆIr4   )r§   r    rÕ   rÖ   r   rÛ   rJ   r?   z7The 'layout' keyword is not supported when 'by' is Nonezfigure.figsizez;boxplot method requires numerical columns, nothing to plot.)r   r   )Úmatplotlib.pyplotÚpyplotr6   rN   rO   ry   r   Úto_framerè   ré   rö   r*   Ú
rc_contextÚgcarê   r(   r§   r®   r¥   rÕ   )rU   Úcolumnr    r   r÷   rù   rÕ   rÖ   rÛ   rJ   ri   Úpltr’   r  r§   rÄ   ÚrcrÚ   r  s       ``   ``       @r2   rf   rf   Z  sf  øøøøø€ ð $Ð#Ð#Ð#Ð#Ð#ð �'Ô5Ð5Ð5ÝÐGÑHÔHÐHå�$�	Ñ"Ô"ð Ø�}Š}˜SÑ!Ô!ˆØˆðð ð ð ð ð:ð ð ð ð ð ð ð ð ð8 ˆ[‰]Œ]€FØ€~ØˆˆÝ	�F�T¥5˜MÑ	*Ô	*ð Øˆˆà�(ˆà	€~õ )ØØð
ð ØØØØØØ#ð
ð 
ð ð
ð 
ˆˆð ÐØ ˆKØÐÝÐVÑWÔWÐWàˆ:à5<Ð5HÐ'¨Ð1Ð1ÈbˆBÝ” Ñ#Ô#ð ð Ø—W’W‘Y”Y�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à×%Ò%Ñ'Ô'ˆÝ�D”LÑ!Ô!ˆØ�AŠ:ˆ:ÝØMñô ð ð ˆ?Ø”lˆGˆGà˜”=ˆDà�˜G T¤[¤]°BÐ?Ð?¸$Ð?Ð?ˆØ
�Š�‰Œˆà€Ms   Ã DÄDÄDc
                óh   — dd l m} t          | f|||||||||	dœ	|
¤Ž}|                     ¦   «          |S )Nr   )	r  r    r   r÷   rÕ   rù   rÖ   rÛ   rJ   )r  r  rf   Údraw_if_interactive)r<   r  r    r   r÷   rù   rÕ   rÖ   rÛ   rJ   ri   r  s               r2   Úboxplot_framer  Ý  sp   € ð $Ð#Ð#Ð#Ð#Ð#å	Øð
àØØØØØØØØð
ð 
ð ð
ð 
€Bð ×ÒÑÔÐØ€Ir4   rQ   rS   rT   c                ó†  — |du r¶t          | ¦  «        }t          |d||	|
||¬¦  «        \  }}i }t          | t          |¦  «        d¬¦  «        D ]B\  \  }}} |j        d|||||dœ|¤Ž}|                     t          |¦  «        ¦  «         |||<   ŒCt          j        |¦  «        }t          |ddddd	¬
¦  «         n†t          | ddiŽ\  }}t          j
        ||d¬¦  «        }|�It          j        |¦  «        }t          j                             ||g¦  «        }t          |j        ¦  «        } |j        d|||||||dœ|¤Ž}|S )NTF)rÚ   Úsqueezer   rS   rT   rÖ   rÛ   rÜ   )r   r  r÷   rù   rÕ   rÞ   rß   rà   rá   râ   rÝ   rÍ   )ró   r
  )r  r÷   rù   rÕ   r   rÖ   rÛ   r:   )r(   r   rí   r   rf   r¦   r   rª   r«   r   ÚconcatÚcomÚconvert_to_list_likeÚ
MultiIndexÚfrom_productrè   r®   )rð   rQ   r  r÷   rù   rÕ   r   rÖ   rÛ   rS   rT   ri   rÚ   r—   r?   rU   r}   ÚgroupÚdrµ   ró   ÚframesÚdfÚ	multi_keys                           r2   Úboxplot_frame_groupbyr&  ý  s°  € ð �4ÐÐÝ�G‘”ˆÝ#ØØØØØØØð
ñ 
ô 
‰	ˆˆTð ˆÝ # G­\¸$Ñ-?Ô-?ÈÐ NÑ NÔ Nð 	ð 	Ñ‰LˆS�%˜"Ø�”ð Ø˜f¨x¸SÀtðð ØOSðð ˆAð �LŠL� cÑ*Ô*Ñ+Ô+Ð+ØˆD�‰IˆIÝŒi˜‰oŒoˆÝ˜C¨°#¸CÀsÐSVÐWÑWÔWÐWÐWå˜GÐ1¨DÐ1Ð1‰ˆˆfÝŒY�v D¨qÐ1Ñ1Ô1ˆð ÐÝÔ-¨fÑ5Ô5ˆFÝœ×2Ò2°D¸&°>ÑBÔBˆIÝ˜)Ô*Ñ+Ô+ˆFØˆbŒjð 	
ØØØØØØØð	
ð 	
ð ð	
ð 	
ˆð €Jr4   )r   r   r   r    r!   r"   r#   r$   rÆ   )NNTFNNNN)rÔ   r"   rÕ   r"   rÖ   r×   )	NNNNr   TNNN)r÷   rø   rù   rú   rÕ   r"   rÖ   r×   )
TNNr   TNNNFT)rQ   r"   r÷   rø   rù   rú   rÕ   r"   rÖ   r×   rS   r"   rT   r"   )>Ú
__future__r   Útypingr   r   r   r   rw   Ú
matplotlibr*   Únumpyra   Ú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.corer   r   Ú#pandas.plotting._matplotlib.groupbyr   Ú!pandas.plotting._matplotlib.styler   Ú!pandas.plotting._matplotlib.toolsr   r   r   Úcollections.abcr   Úmatplotlib.axesr   Úmatplotlib.figurer   Úmatplotlib.linesr   Úpandas._typingr   r3   r6   r–   rö   rf   r  r&  r:   r4   r2   ú<module>r@     s[  ðØ "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð €€€à Ð Ð Ð Ø Ð Ð Ð à Ð Ð Ð Ð Ð Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø :Ð :Ð :Ð :Ð :Ð :à Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à 3Ð 3Ð 3Ð 3Ð 3Ð 3ðð ð ð ð ð ð ð ð JÐ IÐ IÐ IÐ IÐ IØ AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð ð ð ð /Ø*Ð*Ð*Ð*Ð*Ð*à$Ð$Ð$Ð$Ð$Ð$Ø(Ð(Ð(Ð(Ð(Ð(Ø'Ð'Ð'Ð'Ð'Ð'à.Ð.Ð.Ð.Ð.Ð.ð-ð -ð -ð -ð&L$ð L$ð L$ð L$ð L$ˆhñ L$ô L$ð L$ð^
Að 
Að 
Að 
Að  ØØØØ*.ØØØð7ð 7ð 7ð 7ð 7ðx ØØØØØØ*.ØØð@ð @ð @ð @ð @ðJ ØØØØØØ*.ØØðð ð ð ð ðD ØØØØØØ*.ØØØð8ð 8ð 8ð 8ð 8ð 8ð 8r4   