
    eCi#                       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KJr  \(       a  S SKJr  S SKJr  S S	K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MappableColorMappableFloatMappableStyleresolve_propertiesresolve_colordocument_properties)TYPE_CHECKING)Any)Artist)Scalec                  :    \ rS rSrS rS r        SS jrSrg)BarBase   c                   X#   R                   R                  5       nUR                  nUR                  5       R                  nSSS.U   nU" U" X   5      US   S-  -
  5      nU" U" X   5      US   S-  -   5      U-
  n	X   US   -
  R	                  5       n
US   R	                  5       nU R                  X5      nUS:X  a  UR                  XXS9  OUR                  XXS9  UR                  SS 5        UR                  SS 5        SS	S.U   n/ / p[        [        U5      5       H  nUR                  5        VVs0 s H  u  nnUUU   _M     nnn[        R                  " UU   5      (       d  ML  [        R                  R                  " SUS   US   4US	   US   US
   US   US   US   S.U R                   D6nUR#                  U5        UR#                  UU   5        M     X4$ s  snnf )Nyxr   r   width   baseline)r   r   whr   r   	facecolor	edgecolor	edgestyle	edgewidth)xyr   heightr   r    	linestyle	linewidth )_matplotlib_scaleget_transform	transforminvertedto_numpy_resolve_propertiesupdatepoprangelenitemsnp
nan_to_nummplpatches	Rectangle
artist_kwsappend)selfdatascalesorientr*   forwardreverseotherposr   valbasekwsval_dimbarsvalsikvrowbars                        L/home/james-whalen/.local/lib/python3.13/site-packages/seaborn/_marks/bar.py_make_patchesBarBase._make_patches   s   N44BBD	%%$$&00$V,gdl+d7ma.??@-W0AABSH{T*--779J((*&&t4S=JJJ5JJJ5
D!#&v.ds4y!A'*yy{3{tq!1ad7{C3
 ==W..++'' 	Hc#h'#h3xk*k*k*k*	 //	C KKKKG%+ ". z+ 4s   <G*c                    [        XU5      n[        XSU5      US'   [        XSU5      US'   US   n[        U[        5      (       a  US   US   US   US   US	   -  4US'   U$ US S 2S4   US	   -  US S 2S4'   XCS'   U$ )
N r   edger    r      r      fill)r   r   
isinstancetuple)r:   r;   r<   resolvedfcs        rM   r-   BarBase._resolve_propertiesP   s    %d&9 -d"f E -d&& Ik"b%  $&qE2a5"Q%A&AQ9Q$QH[!
  !Q$x(6"22Bq!tH$&[!    c                    U Vs0 s H  oDU_M     nnU R                  XS5      n[        R                  R                  US   US   US   US   S9nU$ s  snf )Nr   r    r"   r!   )r   r    r&   r%   )r-   r5   r6   Patch)r:   	variablesvaluer<   rJ   keyartists          rM   _legend_artistBarBase._legend_artist`   so     "++A%x+&&s3""+&+&+&+&	 # 
  ,s   Ar'   N)r^   z	list[str]r_   r   r<   zdict[str, Scale]returnr   )__name__
__module____qualname____firstlineno__rN   r-   rb   __static_attributes__r'   r[   rM   r   r      s2    1f "+.8H	r[   r   c                      \ rS rSr% Sr\" SSS9rS\S'   \" SSS9rS	\S
'   \" SSS9r	S\S'   \" SSS9r
S\S'   \" SSS9rS	\S'   \" SSS9rS	\S'   \" SSS9rS\S'   \" SSS9rS	\S'   \" SSS9rS	\S'   S rSrg)Baro   z
A bar mark drawn between baseline and data values.

See also
--------
Bars : A faster bar mark with defaults more suitable for histograms.

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

C0Fgroupingr	   colorffffff?r
   alphaTr   rU   )dependro   r    rS   	edgealphapatch.linewidthrcro   r"   -r   r!   g?r   r   r   c                6   SS/R                  U5      nU" 5        GHz  u  pVnU R                  XbU5      u  pU GH  n
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[        R                   4U
R"                  U   S S & UR%                  U
5        GM     S	S
S.U   n['        XS9n[(        R*                  R,                  " U40 UD6nUR/                  U5        GM}     g )Nr   r   r   rS   r   c              3  *   #    U  H	  oS -  v   M     g7f)r   Nr'   ).0r   s     rM   	<genexpr>Bar._plot.<locals>.<genexpr>   s     4QLqULs   clip_onTvertical
horizontalr   )
datavaluesorientation)indexrN   set_linewidthget_linewidthget_linestylerW   set_linestyleset_clip_pathget_pathr)   	transDatar8   getset_clip_boxbboxr3   infsticky_edges	add_patchdictr5   	containerBarContaineradd_container)r:   	split_genr<   r=   val_idx_r;   axrF   rG   rL   r%   r   container_kwsr   s                  rM   _plot	Bar._plot   sa   *""6*$;KAR++D&AJD !!#"3"3"5"9:--/	Q<!*1u4QIaL4Q/Q RI!!), !!#,,.#2C2C2E2TU??&&y$77$$RWW-01266{  )!,S!/ 4 !+>vFK DJM224I=IIY'C 'r[   r'   Nre   rf   rg   rh   __doc__r   rp   __annotations__rr   rU   r    rt   r"   r!   r   r   r   ri   r'   r[   rM   rk   rk   o   s     $D59E=9#B7E=7!$7D,7'wGI}G'E:I}:'+<uMI}M'e<I}< $B7E=7&q59Hm9%(r[   rk   c                      \ rS rSr% Sr\" SSS9rS\S'   \" SSS9rS	\S
'   \" SSS9r	S\S'   \" SSS9r
S\S'   \" SSS9rS	\S'   \" SSS9rS	\S'   \" SSS9rS\S'   \" SSS9rS	\S'   \" SSS9rS	\S'   S rSrg)Bars   z
A faster bar mark with defaults more suitable for histograms.

See also
--------
Bar : A bar mark drawn between baseline and data values.

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

rm   Frn   r	   rp   rq   r
   rr   Tr   rU   zpatch.edgecolorrv   r    rS   rt   )autoro   r"   rx   r   r!   r   r   r   c           	       ^ SS/R                  U5      mSS/R                  U5      n[        [        5      nU" 5        H-  u  pgnU R                  XrU5      u  pXX   R	                  U	5        M/     0 n
UR                  5        H  u  p[        R                  R                  USS9nS[        R                  4UR                  U   S S & UR                  USS9  XU'   [        R                  " UR                  5        Vs/ s H  oR                  PM     sn5      nUR!                  U5        M     SU;  Ga@  [#        U R$                  [&        5      (       Ga  U
 H  nUR)                  5         M     U4S	 jn[        R                  nU
R                  5        H  u  pU" U5      u  nnS
UR*                  R,                  -  [/        UR0                  R3                  UU-   /S-  5      UR0                  R3                  U/S-  5      -
  5      -  n[5        U[5        US S 2T4   5      5      nM     [5        SU-  [        R6                  S   5      nU
R                  5        H  u  plUR9                  U5        M     g g g s  snf )Nr   r   T)match_originalr   F)autolimr"   c                8  > / / p!S U R                  5        5        HP  nUR                  [        US S 2T4   5      5        UR                  [        R                  " US S 2T4   5      5        MR     [        R
                  " U5      [        R
                  " U5      4$ )Nc              3  8   #    U  H  oR                   v   M     g 7f)N)vertices)r{   paths     rM   r|   5Bars._plot.<locals>.get_dimensions.<locals>.<genexpr>   s     O8Nmm8Ns   )	get_pathsr9   minr3   ptparray)
collectionedgeswidthsvertsori_idxs       rM   get_dimensions"Bars._plot.<locals>.get_dimensions   sy     "BvO
8L8L8NOELLU1g:%6!78MM"&&q'z):";< P xx(888r[   H   r   g?ru   )r   r   listrN   extendr2   r5   collectionsPatchCollectionr3   r   r   add_collectionvstackr   r   update_datalimrV   r"   r   autoscale_viewfiguredpiabsr   r*   r   rcParamsr   )r:   r   r<   r=   r   r6   r   r;   r   rF   r   
ax_patchescolr   xysr   	min_widthr   r   pointsr&   r   s                        @rM   r   
Bars._plot   s-   *""6**""6*d#$;KAR((v>GDKt$ ' %mmoNB//11*T1RC,-rvv;CW%a(c51!O
 ))s}}Gt]]GHCc" . f$DNNH)M)M!!!# "9 I&,,. .s 3vbiimm+cLL**EFN+;a+?@ll,,eWq[9:/   	3vaj/A+BC	 / BNCLL9J,KLI%++-!!), .- *N$ Hs   <I5
r'   Nr   r'   r[   rM   r   r      s     $D59E=9#B7E=7!$7D,7'+<uMI}M'E:I}:'TEBI}B'e<I}< $A6E=6&q59Hm9/-r[   r   )
__future__r   r   r   dataclassesr   numpyr3   
matplotlibr5   seaborn._marks.baser   r   r   r	   r
   r   r   r   r   typingr   r   matplotlib.artistr   seaborn._core.scalesr   r   rk   r   r'   r[   rM   <module>r      s    " # !  
 
 
 !(*Qd Qh 
>(' >(  >(B 
H-7 H-  H-r[   