
    eCif                        S SK Jr  S SKJr  S SKJr  S SKrS SKr	S SK
JrJrJrJrJrJrJrJrJr   " S S5      r\\ " S S	\\5      5       5       r\\ " S
 S\\5      5       5       rg)    )annotations)defaultdict)	dataclassN)	MarkMappableMappableBoolMappableFloatMappableColorMappableStyleresolve_propertiesresolve_colordocument_propertiesc                  2    \ rS rSrS rS rS rS rS rSr	g)	AreaBase   c                j   [        [        5      nU" 5        H  u  pVn0 nU R                  Xc5      n[        XU5      n	U R	                  Xc5      n
UR                  U
5        [        XSU5      nU	S   (       d   [        R                  R                  US5      nXS'   [        XSU5      US'   U	S   US'   U	S	   US
'   XG   R                  [        R                  R                  " U
40 UD65        M     UR                  5        H1  u  p|U H&  nU R                  XU5        UR                  U5        M(     M3     g )N fillr   	facecoloredge	edgecolor	edgewidth	linewidth	edgestyle	linestyle)r   list"_standardize_coordinate_parametersr   
_get_vertsupdate_datalimr   mplcolorsto_rgbaappendpatchesPolygonitems_postprocess_artist	add_patch)self	split_genscalesorientr$   keysdataaxkwsresolvedvertsfc
ax_patchespatchs                 M/home/james-whalen/.local/lib/python3.13/site-packages/seaborn/_marks/area.py_plotAreaBase._plot   s   d#'kNDC::4HD)$f=HOOD1Ee$ t2v6BF#ZZ''A.!,THC'4C'4CKs{{225@C@A% *( &mmoNB#((F;U# $ .    c                    U$ N )r)   r.   r,   s      r6   r   +AreaBase._standardize_coordinate_parameters5   s    r9   c                    g r;   r<   )r)   artistr/   r,   s       r6   r'   AreaBase._postprocess_artist8   s    r9   c                    SSS.U   nUR                  USS9n[        R                  " XU S3/   R                  5       XU S3/   R                  5       S S S2   /5      nUS:X  a  US S 2S S S24   nU$ )	NyxrC   rB   	mergesort)kindminmax)sort_valuesnpconcatenateto_numpy)r)   r.   r,   dvr2   s        r6   r   AreaBase._get_verts;   s    S!&)[9RD*%&//1RD*%&//1$B$7 
  S=!TrT'NEr9   c           
     6   U Vs0 s H  oDU_M     nn[        XU5      n[        XSU5      nUS   (       d   [        R                  R	                  US5      n[        R
                  R                  " SU[        XSU5      US   US   S.U R                  D6$ s  snf )	Nr   r   r   r   r   r   )r   r   r   r   r<   )r   r   r    r!   r"   r$   Patch
artist_kws)r)   	variablesvaluer+   vr-   r1   r3   s           r6   _legend_artistAreaBase._legend_artistG   s    "+,)Q5),%d&94r62##B*B{{   
#D?{+{+	

 oo
 	
 -s   Br<   N)
__name__
__module____qualname____firstlineno__r7   r   r'   r   rV   __static_attributes__r<   r9   r6   r   r      s    $<

r9   r   c                      \ rS rSr% Sr\" S5      rS\S'   \" S5      rS\S'   \" S	5      r	S
\S'   \" SS9r
S\S'   \" S5      rS\S'   \" SS9rS\S'   \" S5      rS\S'   \" SSS9rS\S'   S rS rSrg)AreaY   z
A fill mark drawn from a baseline to data values.

See also
--------
Band : A fill mark representing an interval between values.

Examples
--------
.. include:: ../docstrings/objects.Area.rst

C0r
   color皙?r	   alphaTr   r   dependr      	edgealphazpatch.linewidth)rcr   -r   r   r   F)groupingbaselinec                B    SSS.U   nUR                  SU S3X3 S30S9$ )NrB   rC   rD   rk   rG   rH   )columns)rename)r)   r.   r,   rN   s       r6   r   'Area._standardize_coordinate_parameterss   s5    S!&){{J2$c
B$c
#K{LLr9   c                *   UR                  UR                  5       S-  5        UR                  5       nUS   (       a  US   [        S US    5       5      4nUR	                  U5        UR                  UR                  5       UR                  5       UR                  -   5        U R                  R                  SS5      (       a  UR                  UR                  5        SS/R                  U5      nS[        R                  4UR                   U   S S & g )	N   rf   r   c              3  *   #    U  H	  oS -  v   M     g7f)rq   Nr<   ).0rC   s     r6   	<genexpr>+Area._postprocess_artist.<locals>.<genexpr>   s     ,ILqULs   clip_onTrB   rC   )set_linewidthget_linewidthget_linestyletupleset_linestyleset_clip_pathget_pathget_transform	transDatarR   getset_clip_boxbboxindexrK   infsticky_edges)r)   r?   r/   r,   r   val_idxs         r6   r'   Area._postprocess_artistw   s    
 	V113a78((*	Q<"1u,IIaL,I'IJIY'V__.0D0D0F0UV??y$//(*""6*+,bff+G$Q'r9   r<   N)rX   rY   rZ   r[   __doc__r   ra   __annotations__rc   r   r   rg   r   r   rk   r   r'   r\   r<   r9   r6   r^   r^   Y   s     $D+E=+#B>E=)!$)D,)'w7I}7'}I},'+<?I}?'I}. 'q59Hm9M6r9   r^   c                      \ rS rSr% Sr\" S5      rS\S'   \" S5      rS\S'   \" S	5      r	S
\S'   \" SS9r
S\S'   \" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   S rSrg)Band   z
A fill mark representing an interval between values.

See also
--------
Area : A fill mark drawn from a baseline to data values.

Examples
--------
.. include:: ../docstrings/objects.Band.rst

r`   r
   ra   rb   r	   rc   Tr   r   rd   r   rf   rg   r   r   ri   r   c                    SSS.U   n[        UR                  5      U S3U S31-  (       d?  U S3US4U S3US40nUR                  U5      R                  " S0 UD6R	                  5       nU$ )NrB   rC   rD   rG   rH   r<   )setrm   groupbyaggreset_index)r)   r.   r,   otherr   s        r6   r   'Band._standardize_coordinate_parameters   s     $V,4<< ugSMeWC=#AAWC=5%.UG3-%PC<<'++2c2>>@Dr9   r<   N)rX   rY   rZ   r[   r   r   ra   r   rc   r   r   rg   r   r   r   r\   r<   r9   r6   r   r      ss     $D+E=+#B>E=)!$)D,)'w9I}9'}I},'}I},'I}.r9   r   )
__future__r   collectionsr   dataclassesr   numpyrK   
matplotlibr    seaborn._marks.baser   r   r   r	   r
   r   r   r   r   r   r^   r   r<   r9   r6   <module>r      s{    " # !  
 
 
A
 A
H 
-68T -6  -6` 
8T   r9   