ó
    “’¤já  ã                   ó@   • S r SSKrSSKJrJrJrJr  S/rSSSS.S jr	g)	z¨
Stacked area plot for 1D arrays inspired by Douglas Y'barbo's stackoverflow
answer:
https://stackoverflow.com/q/2225995/

(https://stackoverflow.com/users/66549/doug)
é    N)ÚcbookÚcollectionsÚ_apiÚ_style_helpersÚ	stackplot© Úzero)ÚlabelsÚcolorsÚbaselinec                ó  • [         R                  " U5      n[        U5      nUc)  U Vs/ s H  o€R                  R	                  5       PM     nn[
        R                  " U[        R                  5      nUR                  SU5        [        R                  " U5      u  pi[         R                  " US[         R                  " UR                  [         R                  5      S9n
[         R"                  " / SQUS9  US:X  a  SnGOJUS	:X  a(  [         R$                  " US5      * S
-  nX«SSS24   -  n
GOUS:X  aM  UR&                  S   nX|S
-
  [         R(                  " U5      SS2S4   -
  -  R%                  S5      nX¼* -  nX«-  n
OÉUS:X  aÃ  [         R$                  " US5      n[         R*                  " U5      nUS:„  nSXß   -  Xï'   [         R,                  " USS2SS24   [         R.                  " U5      45      nXÚ-
  nUS
U-  -  nUU-  nS
USS2S4'   US
-
  U-  n[         R                  " UR%                  S5      5      nUS
U-  -
  nX«-  n
U R0                  " UWU
SSS24   4S[3        US5      0[3        U	5      DUD6nS/UR4                  R6                  SS& U/n[9        [;        U5      S-
  5       HN  nUR=                  U R0                  " XUSS24   U
US-   SS24   4S[3        US5      0[3        U	5      DUD65        MP     U$ s  snf )a:  
Draw a stacked area plot or a streamgraph.

Parameters
----------
x : (N,) array-like

y : (M, N) array-like
    The data can be either stacked or unstacked. Each of the following
    calls is legal::

        stackplot(x, y)  # where y has shape (M, N) e.g. y = [y1, y2, y3, y4]
        stackplot(x, y1, y2, y3, y4)  # where y1, y2, y3, y4 have length N

baseline : {'zero', 'sym', 'wiggle', 'weighted_wiggle'}
    Method used to calculate the baseline:

    - ``'zero'``: Constant zero baseline, i.e. a simple stacked plot.
    - ``'sym'``:  Symmetric around zero and is sometimes called
      'ThemeRiver'.
    - ``'wiggle'``: Minimizes the sum of the squared slopes.
    - ``'weighted_wiggle'``: Does the same but weights to account for
      size of each layer. It is also called 'Streamgraph'-layout. More
      details can be found at http://leebyron.com/streamgraph/.

labels : list of str, optional
    A sequence of labels to assign to each data series. If unspecified,
    then no labels will be applied to artists.

colors : list of :mpltype:`color`, optional
    A sequence of colors to be cycled through and used to color the stacked
    areas. The sequence need not be exactly the same length as the number
    of provided *y*, in which case the colors will repeat from the
    beginning.

    If not specified, the colors from the Axes property cycle will be used.

data : indexable object, optional
    DATA_PARAMETER_PLACEHOLDER

**kwargs
    All other keyword arguments are passed to `.Axes.fill_between`.  The
        following parameters additionally accept a sequence of values
        corresponding to the *y* datasets:

        - *hatch*
        - *edgecolor*
        - *facecolor*
        - *linewidth*
        - *linestyle*

        .. versionadded:: 3.9
           Allowing a sequence of strings for *hatch*.

        .. versionadded:: 3.11
           Allowing sequences of values in above listed `.Axes.fill_between`
           parameters.

Returns
-------
list of `.PolyCollection`
    A list of `.PolyCollection` instances, one for each element in the
    stacked area plot.
NÚ	facecolorr   )ÚaxisÚdtype)r	   ÚsymÚwiggleÚweighted_wiggle)r   r	   g        r   g      à?r   r   g      ð?é   Úlabel)ÚnpÚvstackÚiterÚ
_get_linesÚget_next_colorr   Únormalize_kwargsr   ÚPolyCollectionÚ
setdefaultr   Ústyle_generatorÚcumsumÚpromote_typesr   Úfloat32r   Úcheck_in_listÚsumÚshapeÚarangeÚ
zeros_likeÚhstackÚdiffÚfill_betweenÚnextÚsticky_edgesÚyÚrangeÚlenÚappend)ÚaxesÚxr
   r   r   ÚargsÚkwargsr,   Ú_Ú	style_genÚstackÚ
first_lineÚmÚtotalÚ	inv_totalÚmaskÚincreaseÚ
below_sizeÚmove_upÚcenterÚcollÚrÚis                          Ú¢C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\matplotlib/stackplot.pyr   r      sô  € ôH 	�	Š	�$‹€Aä�&‹\€FØ�~Ù<=Ó>ºA°q—/‘/×0Ñ0Ö2¹AˆÐ>ä×#Ò# F¬K×,FÑ,FÓG€FØ
×Ñ�k 6Ô*ä&×6Ò6°vÓ>Ñ€Fô �IŠI�a˜a¤r×'7Ò'7¸¿¹ÄÇÁÓ'LÑM€Eä×ÒÒCØ (ò*à�6ÓØŠ
à	�UÓ	Ü—f’f˜Q “l�] SÑ(ˆ
Ø˜D¢!˜GÑ$Ñ$Šà	�XÓ	Ø�G‰G�A‰JˆØ˜s™7¤R§Y¢Y¨q£\²!°T°'Ñ%:Ñ:Ñ;×@Ñ@ÀÓCˆ
Ø�bÑˆ
ØÑ‰à	Ð&Ó	&Ü—’�q˜!“ˆä—M’M %Ó(ˆ	Ø�q‰yˆØ ¡Ñ+ˆ	‰Ü—9’9˜a¢ 1 Q 3 ™i¬¯ª°«Ð4Ó5ˆØ‘]ˆ
Ø�c˜A‘gÑˆ
Ø˜yÑ(ˆØˆ’�1�‰Ø˜C‘- 8Ñ+ˆÜ—’˜6Ÿ:™: a›=Ó)ˆØ˜c E™kÑ)ˆ
ØÑˆð ×Ò˜Q 
¨E°!²Q°$©Kñ :Ü#'¨°Ó#5ð:ä# I›ð:à28ñ:€Dð  ˜S€D×Ñ×Ñ™ÐØ	ˆ€Aô ”3�q“6˜A‘:ÖˆØ	�‰�×"Ò" 1¨Aªq¨D¡k°5¸¸Q¹Â¸±?ñ @Ü)-¨f°dÓ);ð@ä%)¨)£_ð@à8>ñ@ö 	Añ ð €Hùòm ?s   ©#L)
Ú__doc__Únumpyr   Ú
matplotlibr   r   r   r   Ú__all__r   r   ó    rC   Ú<module>rI      s+   ðñó ç ?Ó ?àˆ-€ð  ¨vö~rH   