+
    yȇi+                       ^ RI Ht ^ RIt^ RIHtHt ^ RIt^ RIHtH	t	H
t
 ^ RIHtHt ^ RIHtHtHt ^ RIHt ^ RIHtHtHt ^ R	IHtHtHt ]'       d   ^ R
IHt ^ RIHt ^ RI H!t! ^ RI"H#t#H$t$H%t%H&t& R R lt'R R lt(R R lt)R R lt*R R lt+R R lt,R R lt-R R lt.R R lt/R  R! lt0R" R# lt1R$ R% lt2R& R' lt3R( R) lt4R* R+ lt5R# ),    )annotationsN)TYPE_CHECKINGAny)
BaseOffsetPeriod	to_offset)OFFSET_TO_PERIOD_FREQSTR	FreqGroup)ABCDatetimeIndexABCPeriodIndexABCTimedeltaIndex)pprint_thing)TimeSeries_DateFormatterTimeSeries_DateLocatorTimeSeries_TimedeltaFormatter)get_period_aliasis_subperiodis_superperiod)	timedelta)Axes)NDFrameT)DatetimeIndexIndexPeriodIndexSeriesc               $    V ^8  d   QhRRRRRR/# )   seriesr   axr   kwargsdict[str, Any] )formats   "v/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/plotting/_matplotlib/timeseries.py__annotate__r%   :   s!     # #6 #t #^ #    c                   R V9   d   \        R4      h\        W4      w  r4Vf   \        R4      h\        V P                  \        4      '       d   V P                  VR7      p VEe   W48w  d   \        W44      '       d:   V P                  RR7      p V P                  P                  VRR7      V n        TpW03# \        W44      '       dd   Rp\        V P                  R	4      V4      ! 4       P                  4       p \        V P                  V4      V4      ! 4       P                  4       p TpW03# \        W44      '       g   \        W44      '       d   \        WV4       W03# \        R
4      hW03# )howzz'how' is not a valid keyword for plotting functions. If plotting multiple objects on shared axes, resample manually first.z.Cannot use dynamic axis without frequency infofreqFdeepsr(   lastDz!Incompatible frequency conversion)
ValueError	_get_freq
isinstanceindexr   	to_periodr   copyasfreq_is_supgetattrresampledropnar   _is_sub_upsample_others)r   r   r    r*   ax_freqr(   s   &&&   r$   maybe_resampler?   :   s^    H
 	

 b)MD|IJJ &,, 011!!t!,t$(([[e[,F!<<..S / FL D < T##CV__S1379@@BFV__W5s;=DDFFD
 <	 $((GD,B,BRv. < @AA<r&   c               $    V ^8  d   QhRRRRRR/# r   f1strf2returnboolr"   )r#   s   "r$   r%   r%   `   !         r&   c                    V P                  R 4      ;'       d    \        RV4      ;'       g&    VP                  R 4      ;'       d    \        V R4      # Wr0   )
startswithr   rB   rD   s   &&r$   r<   r<   `   sG    MM#88<R#8  
c44|B4r&   c               $    V ^8  d   QhRRRRRR/# rA   r"   )r#   s   "r$   r%   r%   f   rG   r&   c                    V P                  R 4      ;'       d    \        RV4      ;'       g&    VP                  R 4      ;'       d    \        V R4      # rI   )rK   r   rL   s   &&r$   r8   r8   f   sG    MM#::>#r#:  
c66~b#6r&   c               (    V ^8  d   QhRRRRRRRR/# )	r   r   r   r*   r   r    r!   rE   Noner"   )r#   s   "r$   r%   r%   l   s(     : : :Z : :D :r&   c                   V P                  4       p\        W4      w  rE\        W4       R p\        V R4      '       d   V P                  p\        V R4      '       d   V P                  pVe0   \        Wa4      w  rxVP                  V4       VP                  V4       Vej   VP                  RR4      '       dP   \        V4      ^ 8  d>   VP                  4       P                  4       p	V	R8X  d   R p	V P                  WERV	R7       R # R # R # R # )Nleft_axright_axlegendTrP   best)loctitle)
get_legend
_replot_axhasattrrR   rS   extendgetlen	get_titleget_textrT   )
r   r*   r    rT   lineslabelsother_axrlinesrlabelsrW   s
   &&&       r$   r=   r=   l   s    ]]_Fr(MErHr9::r:;;$X4Vgfjj488SZ!^",,.779F?E
		%V5	9	 >L8r&   c                    V ^8  d   QhRRRR/# )r   r   r   r*   r   r"   )r#   s   "r$   r%   r%      s      4 z r&   c                Z   \        V R R4      p. V n        V P                  4        \        W4       . p. pVe   V F  w  rVpVP	                  RR7      pVP
                  P                  VRR7      pWn        V P                  P                  WVV34       \        V\        4      '       d   ^ RI
Hp	 W,          P                  pVP                  V! WP
                  P                  4       VP                  3/ VB ^ ,          4       VP                  \        VP                   4      4       K  	  W43# )
_plot_dataNFr+   Sr.   )PLOT_CLASSES)r9   rg   cleardecorate_axesr6   r4   r7   appendr3   rC   pandas.plotting._matplotlibri   _plot	_mpl_reprvaluesr   name)
r   r*   datar`   ra   r   plotfkwdsidxri   s
   &&        r$   rY   rY      s    2|T*D BMHHJ"EF#'F4[[e[,F,,%%d%4CLMM  &!67 %%%D$+11LLr<<#9#9#;V]]SdSTUVWMM,v{{34 $(  =r&   c               $    V ^8  d   QhRRRRRR/# )r   r   r   r*   r   rE   rP   r"   )r#   s   "r$   r%   r%      s!     
 
d 
* 
 
r&   c                p    \        V R4      '       g   . V n        Wn        V P                  4       pWn        R# )z(Initialize axes for time-series plottingrg   N)rZ   rg   r*   	get_xaxis)r   r*   xaxiss   && r$   rk   rk      s-    2|$$ GLLNEJr&   c                   V ^8  d   QhRR/# )r   r   r   r"   )r#   s   "r$   r%   r%      s      T r&   c                n   \        V RR4      pVfT   \        V R4      '       d   \        V P                  RR4      pM)\        V R4      '       d   \        V P                  RR4      pVfM   V P	                  4       P                  V 4      p\        V4      ^8  d   V F  p\        VRR4      pVf   K   V# 	  V# )z
Get the freq attribute of the ax object if set.
Also checks shared axes (eg when using secondary yaxis, sharex=True
or twinx)
r*   NrR   rS   )r9   rZ   rR   rS   get_shared_x_axesget_siblingsr]   )r   r>   shared_axes	shared_axs   &   r$   _get_ax_freqr      s     b&$'G2y!!bjj&$7GR$$bkk648G**,99"={a(	!)VT:&N	 ) Nr&   c                    V ^8  d   QhRRRR/# )r   r*   ztimedelta | BaseOffset | strrE   z
str | Noner"   )r#   s   "r$   r%   r%      s     % %8 %Z %r&   c                    \        V \        4      '       d   V P                  pM\        V R R7      P                  p\        V4      # )T	is_period)r3   r   rq   r   	rule_coder   )r*   freqstrs   & r$   _get_period_aliasr      s5    $
##))DD1;;G$$r&   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   r"   )r#   s   "r$   r%   r%      s      $  r&   c                    \        VP                  R R4      pVf%   \        VP                  RR4      p\        VRR7      p\        V 4      pVf   Tp\	        V4      pW#3# )r*   Ninferred_freqTr   )r9   r4   r   r   r   )r   r   r*   r>   s   &&  r$   r2   r2      sa    6<<.D|v||_d;.2G | T"D=r&   c               $    V ^8  d   QhRRRRRR/# )r   r   r   r4   r   rE   rF   r"   )r#   s   "r$   r%   r%      s!      d 5 T r&   c                \   \        V4      p\        V 4      pVf   TpM$Vf!   \        V P                  4       4      ^ 8  d   R# Vf   R# \	        V4      pVf   R# \        V\        4      '       d   \        P                  ! WD4      p\        VRR7      P                  pV\        P                  P                  8:  d   VR,          P                  # \        V^ ,          V4      p\        V\        4      '       g   Q hVP!                  4       P#                  VP$                  4      V^ ,          8H  # R# )NFTr   :N   N)_get_index_freqr   r]   	get_linesr   r3   r   r	   r\   r   _period_dtype_coder
   FR_DAYvalueis_normalizedr   to_timestamptz_localizetz)r   r4   r*   r>   freq_strbaseperiods   &&     r$   use_dynamic_xr      s    5!D2G|
/BLLN 3a 7| &H %)**+//CT2EE9##)))9***a(+&&))))""$00:eAhFFr&   c                    V ^8  d   QhRRRR/# )r   r4   r   rE   zBaseOffset | Noner"   )r#   s   "r$   r%   r%     s      5 %6 r&   c                X    \        V R R4      pVf   \        V RR4      p\        V4      pV# )r*   Nr   )r9   r   )r4   r*   s   & r$   r   r     s1    5&$'D|uot4Kr&   c               $    V ^8  d   QhRRRRRR/# )r   r   r   rr   r   rE   r"   )r#   s   "r$   r%   r%   
  s!      D  X r&   c                   \        VP                  \        \        34      '       Ed   \	        VP                  4      pVf   \        V 4      pVf   \        R4      h\        V4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! RR\        R7       \        VP                  \        4      '       d#   VP                  R 4      P                  VR7      pMB\        VP                  \        4      '       d#   VP                  P                  VRR7      Vn        R R R 4       V# V#   + '       g   i     T# ; i)Nz*Could not get frequency alias for plottingignorezPeriodDtype\[B\] is deprecated)categoryr)   start)r*   r(   )r3   r4   r   r   r   r   r1   r   warningscatch_warningsfilterwarningsFutureWarningr   r5   r7   )r   rr   r*   r   s   &&  r$   maybe_convert_indexr   
  s     $**/@AAtzz*<#D<IJJ$T*$$&& ##1& $**&677''-77X7FDJJ77!ZZ..H'.J
 ' K4K '& Ks   B"D11E	c                    V ^8  d   QhRRRR/# )r   r*   r   rE   rC   r"   )r#   s   "r$   r%   r%   ,  s     , ,
 ,S ,r&   c                @    \        \        V4      V R 7      pRV RVR 2# ))ordinalr*   zt = z  y = 8f)r   int)r*   tytime_periods   &&& r$   _format_coordr   ,  s'    Qd3K+fQrF++r&   c               $    V ^8  d   QhRRRRRR/# )r   r*   r   r4   zDatetimeIndex | PeriodIndexrE   rP   r"   )r#   s   "r$   r%   r%   1  s$     + ++&A+	+r&   c                   ^ RI Hp \        V\        4      '       d   \	        VRRV R7      p\	        VRRV R7      pV P
                  P                  V4       V P
                  P                  V4       \        VRRV R7      p\        VRRV R7      pV P
                  P                  V4       V P
                  P                  V4       \        P                  ! \        V4      V n        MP\        V\        4      '       d0   V P
                  P                  \!        VP"                  4      4       M\%        R4      hVP'                  4        R# )a  
Pretty-formats the date axis (x-axis).

Major and minor ticks are automatically set for the frequency of the
current underlying series.  As the dynamic mode is activated by
default, changing the limits of the x axis will intelligently change
the positions of the ticks.
NTF)dynamic_modeminor_locatorplot_objzindex type not supported)matplotlib.pyplotpyplotr3   r   r   ry   set_major_locatorset_minor_locatorr   set_major_formatterset_minor_formatter	functoolspartialr   format_coordr   r   unit	TypeErrordraw_if_interactive)subplotr*   r4   plt
majlocator
minlocatormajformatterminformatters   &&&     r$   format_dateaxisr   1  s    $
 %((+t57

 ,t4'

 	''
3''
3/t57
 0t4'
 	)),7)),7  )00E	E,	-	-))*G

*ST233r&   c               (    V ^8  d   QhRRRRRRRR/# )	r   r   r   r   r   r    r!   rE   ztuple[BaseOffset | str, Series]r"   )r#   s   "r$   r%   r%   _  s,      &4$r&   c                    \        WV4      w  r4\        W4       \        VR 4      '       d   \        VP                  V4       \        VR4      '       d   \        VP                  V4       W43# )rR   rS   )r?   rk   rZ   rR   rS   )r   r   r    r*   rr   s   &&&  r$   prepare_ts_datar   _  sZ      F3JD "r9bjj$'r:bkk4(:r&   )6
__future__r   r   typingr   r   r   pandas._libs.tslibsr   r   r   pandas._libs.tslibs.dtypesr	   r
   pandas.core.dtypes.genericr   r   r   pandas.io.formats.printingr   %pandas.plotting._matplotlib.converterr   r   r   pandas.tseries.frequenciesr   r   r   datetimer   matplotlib.axesr   pandas._typingr   pandasr   r   r   r   r?   r<   r8   r=   rY   rk   r   r   r2   r   r   r   r   r   r   r"   r&   r$   <module>r      s    #   

  4 
  "$' #L:.@
0%$>D,
+\r&   