ó
    “’¤jÄ  ã                   óˆ   • S SK Jr  S SKJr   " S S\5      r " S S\5      r " S S\5      r " S	 S
5      r " S S\5      r	g)é    )Úcbook)ÚArtistc                   ó²   • \ rS rSrSrS rS rS
S jrS rS r	\
R                  r\
R                  r\
R                  r\
R                  r\
R                  rS	rg)Ú	Containeré   z~
Base class for containers.

Containers are classes that collect semantically related Artists such as
the bars of a bar plot.
c                 óL   • S[        U 5      R                   S[        U 5       S3$ )NÚ<z object of z	 artists>)ÚtypeÚ__name__Úlen)Úselfs    Ú¢C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\matplotlib/container.pyÚ__repr__ÚContainer.__repr__   s&   € Ø”4˜“:×&Ñ&Ð' {´3°t³9°+¸YÐGÐGó    c                 ó2   • [         R                  XS   5      $ )Nr   )ÚtupleÚ__new__)ÚclsÚargsÚkwargss      r   r   ÚContainer.__new__   s   € Ü�}‰}˜S q¡'Ó*Ð*r   Nc                 ó|   • [         R                  " S/S9U l        S U l        Ub  [	        U5      U l        g S U l        g )NÚpchanged)Úsignals)r   ÚCallbackRegistryÚ
_callbacksÚ_remove_methodÚstrÚ_label)r   ÚklÚlabels      r   Ú__init__ÚContainer.__init__   s4   € Ü×0Ò0¸*¸ÑFˆŒØ"ˆÔØ$)Ñ$5”c˜%“jˆ�¸4ˆ�r   c                 ó®   • [         R                  " U S S9 H  nUc  M  UR                  5         M     U R                  (       a  U R                  U 5        g g )Nc                 ó"   • [        U [        5      $ ©N)Ú
isinstancer   )Úxs    r   Ú<lambda>Ú"Container.remove.<locals>.<lambda>   s   € ¬
°1´fÔ(=r   )Úscalarp)r   ÚflattenÚremover   )r   Úcs     r   r.   ÚContainer.remove   sG   € Ü—’ØÑ=ô?ˆAà‹}Ø—‘–
ñ?ð ××Ø×Ñ Õ%ð r   c                 ób   • [         R                  " U 5       Vs/ s H	  oc  M  UPM     sn$ s  snf r'   )r   r-   )r   Úchilds     r   Úget_childrenÚContainer.get_children    s%   € Ü#(§=¢=°Ô#6ÓLÒ#6˜%—Ñ#6ÑLÐLùÒLs   ™,£,)r   r    r   r'   )r   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r#   r.   r3   r   Ú	get_labelÚ	set_labelÚadd_callbackÚremove_callbackr   Ú__static_attributes__© r   r   r   r      sZ   † ñòHò+ô@ò
&òMð × Ñ €IØ× Ñ €IØ×&Ñ&€LØ×,Ñ,€OØ�‰ƒHr   r   c                   ój   ^ • \ rS rSrSrS
SSS.U 4S jjjr\S 5       r\S 5       r\S 5       r	S	r
U =r$ )ÚBarContaineré*   að  
Container for the artists of bar plots (e.g. created by `.Axes.bar`).

The container can be treated as a tuple of the *patches* themselves.
Additionally, you can access these and further parameters by the
attributes.

Attributes
----------
patches : list of :class:`~matplotlib.patches.Rectangle`
    The artists of the bars.

errorbar : None or :class:`~matplotlib.container.ErrorbarContainer`
    A container for the error bar artists if error bars are present.
    *None* otherwise.

datavalues : None or array-like
    The underlying data values corresponding to the bars.

orientation : {'vertical', 'horizontal'}, default: None
    If 'vertical', the bars are assumed to be vertical.
    If 'horizontal', the bars are assumed to be horizontal.

N)Ú
datavaluesÚorientationc                óX   >• Xl         X l        X0l        X@l        [        TU ]  " U40 UD6  g r'   )ÚpatchesÚerrorbarrB   rC   Úsuperr#   )r   rE   rF   rB   rC   r   Ú	__class__s         €r   r#   ÚBarContainer.__init__D   s*   ø€ àŒØ ŒØ$ŒØ&ÔÜ‰Ò˜Ñ+ FÓ+r   c                 ó  • U R                   S:X  a*  U R                   Vs/ s H  oR                  5       PM     sn$ U R                   S:X  a*  U R                   Vs/ s H  oR                  5       PM     sn$ [	        S5      es  snf s  snf )zI
Return the values at the lower end of the bars.

.. versionadded:: 3.11
ÚverticalÚ
horizontalú/orientation must be 'vertical' or 'horizontal'.)rC   rE   Úget_yÚget_xÚ
ValueError©r   Úps     r   ÚbottomsÚBarContainer.bottomsL   sn   € ð ×Ñ˜zÓ)Ø'+§|¢|Ó4¢| !—G‘G–I¡|Ñ4Ð4Ø×Ñ Ó-Ø'+§|¢|Ó4¢| !—G‘G–I¡|Ñ4Ð4äÐNÓOÐOùò	 5ùâ4s   ŸB ÁBc                 óX  • U R                   S:X  a;  U R                   Vs/ s H#  oR                  5       UR                  5       -   PM%     sn$ U R                   S:X  a;  U R                   Vs/ s H#  oR	                  5       UR                  5       -   PM%     sn$ [        S5      es  snf s  snf )zI
Return the values at the upper end of the bars.

.. versionadded:: 3.11
rK   rL   rM   )rC   rE   rN   Ú
get_heightrO   Ú	get_widthrP   rQ   s     r   ÚtopsÚBarContainer.topsZ   s…   € ð ×Ñ˜zÓ)Ø8<¿ºÓEº°1—G‘G“I §¡£Ô.¹ÑEÐEØ×Ñ Ó-Ø7;·|²|ÓD²|°!—G‘G“I §¡£Ô-±|ÑDÐDäÐNÓOÐOùò	 FùâDs   Ÿ*B"Á**B'c                 ód  • U R                   S:X  a>  U R                   Vs/ s H&  oR                  5       UR                  5       S-  -   PM(     sn$ U R                   S:X  a>  U R                   Vs/ s H&  oR	                  5       UR                  5       S-  -   PM(     sn$ [        S5      es  snf s  snf )z>
Return the centers of bar positions.

.. versionadded:: 3.11
rK   é   rL   rM   )rC   rE   rO   rW   rN   rV   rP   rQ   s     r   Úposition_centersÚBarContainer.position_centersh   s�   € ð ×Ñ˜zÓ)Ø;?¿<º<ÓHº<°a—G‘G“I §¡£°Ñ 1Ô1¹<ÑHÐHØ×Ñ Ó-Ø<@¿LºLÓIºL°q—G‘G“I §¡£°Ñ 2Ô2¹LÑIÐIäÐNÓOÐOùò	 IùâIs   Ÿ-B(Á--B-)rB   rF   rC   rE   r'   )r   r5   r6   r7   r8   r#   ÚpropertyrS   rX   r\   r=   Ú__classcell__©rH   s   @r   r@   r@   *   s^   ø† ñð2,¸TØ!÷,ñ ,ð ñPó ðPð ñPó ðPð ñPó öPr   r@   c                   ó0   ^ • \ rS rSrSrSU 4S jjrSrU =r$ )ÚErrorbarContaineréw   a´  
Container for the artists of error bars (e.g. created by `.Axes.errorbar`).

The container can be treated as the *lines* tuple itself.
Additionally, you can access these and further parameters by the
attributes.

Attributes
----------
lines : tuple
    Tuple of ``(data_line, caplines, barlinecols)``.

    - data_line : A `~matplotlib.lines.Line2D` instance of x, y plot markers
      and/or line.
    - caplines : A tuple of `~matplotlib.lines.Line2D` instances of the error
      bar caps.
    - barlinecols : A tuple of `~matplotlib.collections.LineCollection` with the
      horizontal and vertical error ranges.

has_xerr, has_yerr : bool
    ``True`` if the errorbar has x/y errors.

c                 óL   >• Xl         X l        X0l        [        TU ]  " U40 UD6  g r'   )ÚlinesÚhas_xerrÚhas_yerrrG   r#   )r   re   rf   rg   r   rH   s        €r   r#   ÚErrorbarContainer.__init__�   s$   ø€ ØŒ
Ø ŒØ ŒÜ‰Ò˜Ñ) &Ó)r   )rf   rg   re   )FF©r   r5   r6   r7   r8   r#   r=   r_   r`   s   @r   rb   rb   w   s   ø† ñ÷0*õ *r   rb   c                   ó`   • \ rS rSrSrS r\S 5       r\S 5       r\S 5       r	S r
S rS	 rS
rg)ÚPieContaineré—   aË  
Container for the artists of pie charts (e.g. created by `.Axes.pie`).

.. versionadded:: 3.11

.. warning::
    The class name ``PieContainer`` name is provisional and may change in future
    to reflect development of its functionality.

You can access the wedge patches and further parameters by the attributes.

Attributes
----------
wedges : list of `~matplotlib.patches.Wedge`
    The artists of the pie wedges.

values : `numpy.ndarray`
    The data that the pie is based on.

fracs : `numpy.ndarray`
    The fraction of the pie that each wedge represents.

texts : list of list of `~matplotlib.text.Text`
    The artists of any labels on the pie wedges.  Each inner list has one
    text label per wedge.

c                 ó6   • Xl         / U l        X l        X0l        g r'   )ÚwedgesÚ_textsÚ_valuesÚ
_normalize)r   rn   ÚvaluesÚ	normalizes       r   r#   ÚPieContainer.__init__³   s   € ØŒØˆŒØŒØ#�r   c                 óV   • U R                    Vs/ s H  o(       d  M  UPM     sn$ s  snf r'   )ro   )r   Út_lists     r   ÚtextsÚPieContainer.texts¹   s"   € ð &*§[¢[Ó;¢[˜6³F—¡[Ñ;Ð;ùÒ;s   �
&�&c                 ó\   • U R                   R                  5       nSUR                  l        U$ ©NF)rp   ÚcopyÚflagsÚ	writeable©r   Úresults     r   rr   ÚPieContainer.values¿   s%   € à—‘×"Ñ"Ó$ˆØ!&ˆ�‰ÔØˆr   c                 ó²   • U R                   (       a(  U R                  U R                  R                  5       -  nOU R                  nSUR                  l        U$ rz   )rq   rp   Úsumr|   r}   r~   s     r   ÚfracsÚPieContainer.fracsÅ   s>   € à�?�?Ø—\‘\ D§L¡L×$4Ñ$4Ó$6Ñ6‰Fà—\‘\ˆFà!&ˆ�‰ÔØˆr   c                 ó:   • U R                   R                  U5        g)z?Add a list of `~matplotlib.text.Text` objects to the container.N)ro   Úappend)r   rw   s     r   Ú	add_textsÚPieContainer.add_textsÏ   s   € à�‰×Ñ˜5Õ!r   c                 óœ   • U R                   U R                  4 H0  n[        R                  " U5       H  nUR	                  5         M     M2     g)z)Remove all wedges and texts from the axesN)rn   ro   r   r-   r.   )r   Úartist_listÚartists      r   r.   ÚPieContainer.removeÓ   s5   € àŸ;™;¨¯©Ó3ˆKÜŸ-š-¨Ö4�Ø—‘–ó 5ò 4r   c                 ó<   • U R                   /U R                  Q7U   $ r'   )rn   ro   )r   Úkeys     r   Ú__getitem__ÚPieContainer.__getitem__Ù   s   € ð —‘Ð*˜dŸk™kÑ*¨3Ñ/Ð/r   )rq   ro   rp   rn   N)r   r5   r6   r7   r8   r#   r^   rw   rr   rƒ   r‡   r.   r�   r=   r>   r   r   rk   rk   —   sW   † ñò6$ð ñ<ó ð<ð
 ñó ðð
 ñó ðò"ò õ0r   rk   c                   ó,   ^ • \ rS rSrSrU 4S jrSrU =r$ )ÚStemContaineréß   aÅ  
Container for the artists created in a :meth:`.Axes.stem` plot.

The container can be treated like a namedtuple ``(markerline, stemlines,
baseline)``.

Attributes
----------
markerline : `~matplotlib.lines.Line2D`
    The artist of the markers at the stem heads.

stemlines : `~matplotlib.collections.LineCollection`
    The artists of the vertical lines for all stems.

baseline : `~matplotlib.lines.Line2D`
    The artist of the horizontal baseline.
c                 óV   >• Uu  p4nX0l         X@l        XPl        [        TU ]  " U40 UD6  g)a  
Parameters
----------
markerline_stemlines_baseline : tuple
    Tuple of ``(markerline, stemlines, baseline)``.
    ``markerline`` contains the `.Line2D` of the markers,
    ``stemlines`` is a `.LineCollection` of the main lines,
    ``baseline`` is the `.Line2D` of the baseline.
N)Ú
markerlineÚ	stemlinesÚbaselinerG   r#   )r   Úmarkerline_stemlines_baseliner   r•   r–   r—   rH   s         €r   r#   ÚStemContainer.__init__ñ   s2   ø€ ð +HÑ'ˆ
˜xØ$ŒØ"ŒØ ŒÜ‰ÒÐ6ÑA¸&ÓAr   )r—   r•   r–   ri   r`   s   @r   r’   r’   ß   s   ø† ñ÷"Bó Br   r’   N)
Ú
matplotlibr   Úmatplotlib.artistr   r   r   r@   rb   rk   r’   r>   r   r   Ú<module>rœ      sQ   ðÝ Ý $ô"�ô "ôJJP�9ô JPôZ*˜	ô *÷@E0ñ E0ôP B�Iõ  Br   