
    g{                     D    d dl Z d dlZd dlZd dlmZ d dlZ G d d      Z	y)    Nc                   
   e Zd Zej                  j                  d      d        Zej                  j                  d      ej                  j                  d      d               Z
ej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      ej                  j                  d      d	               Zej                  j                  d      d
        Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      ej                  j                  d      d               Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      ej                  j                  d      d               Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      d        Zej                  j                  d      ej                  j                  d      d               Zej                  j                  d      d        Z ej                  j                  d       ej                  j                  d      d!               Z!ej                  j                  d      d"        Z"ej                  j                  d      d#        Z#ej                  j                  d$      ej                  j                  d      d%               Z$ej                  j                  d      d&        Z%ej                  j                  d'      ej                  j                  d      d(               Z&ej                  j                  d)      ej                  j                  d      d*               Z'ej                  j                  d+      ej                  j                  d      d,               Z(ej                  j                  d      d-        Z)ej                  j                  d      d.        Z*ej                  j                  d/      ej                  j                  d      d0               Z+ej                  j                  d      d1        Z,ej                  j                  d2      ej                  j                  d      d3               Z-ej                  j                  d4      ej                  j                  d      d5               Z.ej                  j                  d      d6        Z/ej                  j                  d      d7        Z0ej                  j                  d      d8        Z1ej                  j                  d      d9        Z2ej                  j                  d:      ej                  j                  d      d;               Z3ej                  j                  d      d<        Z4ej                  j                  d=      ej                  j                  d      d>               Z5ej                  j                  d?      ej                  j                  d      d@               Z6ej                  j                  dA      ej                  j                  d      dB               Z7ej                  j                  dC      ej                  j                  d      dD               Z8ej                  j                  dE      ej                  j                  d      dF               Z9ej                  j                  dG      ej                  j                  d      dH               Z:ej                  j                  d      dI        Z;yJ)KTestDatetimePlottingdefaultc                    dt         j                  d<   t        j                  ddd      \  }\  }}}}t	        j                  ddd      }t        d	      D cg c]  }|t	        j                  |
      z    }}t        t        dd            }	d}
|j                  ||	       |j                  |
|d   |	d   f       |j                  |	|       |j                  |
|	d   |d   f       |j                  ||       |j                  |
|d   |d   f       |j                  ||       |j                  |
|d   |d   f|d   |d   ft        d             y c c}w )Nconcisedate.converter      constrainedlayout  
      days    z	Test Text   )textxy               red)	facecolor)r   r   xytext
arrowprops)mplrcParamspltsubplotsdatetimerange	timedeltalistplotannotatedict)selffigax1ax2ax3ax4
start_dateidatesdata	test_texts              [/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/matplotlib/tests/test_datetime.pytest_annotatez"TestDatetimePlotting.test_annotate   sP   )2%&$'LLAm$L!!c3S&&tR3
BG)LQh00a88LLE!RL!	)rDH(=>u)a%)(<=)rE!H(=>)q59(= %a%(3u@U 	 	W Ms    EzTest for arrow not written yet)reasonc                 T    t        j                         \  }}|j                  d       y N.)r"   r#   arrowr+   r,   axs      r6   
test_arrowzTestDatetimePlotting.test_arrow   s     ,,.R
    c                    dt         j                  d<   t        j                  ddd      \  }\  }}}|j	                  t        j
                  ddd      t        j
                  dd	d      
       |j	                  t        j                  d      t        j                  d      
       |j	                  t        j
                  ddd      t        j
                  ddd      
       |j                  t        j
                  ddd      dd       |j                  t        j                  d      dd       |j                  t        j
                  ddd      dd       y )Nr   r   r   r
   r   r     r	      )bottomtop
2005-01-01
2005-04-01r   	               ?ffffff?yxminxmax2005-02-25T03:30皙??rN   rO   r      皙?)	r    r!   r"   r#   set_ylimr$   np
datetime64axhliner+   r,   r-   r.   r/   s        r6   test_axhlinez!TestDatetimePlotting.test_axhline%   s   )2%&"||AqG_c3H--dAq9!**4A6 	 	8BMM,7|4 	 	6H--dAq9!**4Q7 	 	9h''a3#CHBMM"45CcJh''b"5CcJr?   c                    dt         j                  d<   t        j                  ddd      }t        d      D cg c]  }|t        j                  |      z    }}t        t        dd            }t        j                  ddd	d
      \  }\  }}}|j                  ||dd       t        ddd      D ]  }|j                  |dz   |dz   dd        |j                  d       |j                  d       |j                  d       |j                  ||dd       t        ddd      D ]I  }|t        j                  |      z   }	|	t        j                  d      z   }
|j                  |	|
dd       K |j                  d       |j                  d       |j                  d       |j                  ||dd       t        ddd      D ]I  }|t        j                  |      z   }	|	t        j                  d      z   }
|j                  |	|
dd       K |j                  d       |j                  d       |j                  d       y c c}w )Nr   r   r   r
   r   r   r   r   Tr      constrained_layoutfigsizeobluemarkercolorr      greenrJ   )yminymaxr   alphaDatetime vs. NumberDateNumberNumber vs. DatetimeDatetime vs. Datetime)r    r!   r$   r%   r&   r'   r"   r#   r(   axhspan	set_title
set_xlabel
set_ylabel)r+   r1   r2   r3   numbersr,   r-   r.   r/   ri   rj   s              r6   test_axhspanz!TestDatetimePlotting.test_axhspan3   s   )2%&&&tQ2
BG)LQh00a88LLuQ|$"||Aq?C4< >_c3 	6:q"a 	JAKKQqSqsgSKI	J+,vx %6:q"a 	LA 2 2 ::D(,,!44DKKTsKK	L 	+,x vc8q"a 	LA 2 2 ::D(,,!44DKKTsKK	L 	-.vv= M    IzTest for axline not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   axliner<   s      r6   test_axlinez TestDatetimePlotting.test_axlineX        ,,.R
		#r?   c                    dt         j                  d<   t        j                  ddd      \  }\  }}}|j	                  t        j
                  ddd      t        j
                  dd	d      
       |j	                  t        j                  d      t        j                  d      
       |j	                  t        j
                  ddd      t        j
                  ddd      
       |j                  t        j
                  ddd      dd       |j                  t        j                  d      dd       |j                  t        j
                  ddd      dd       y )Nr   r   r   r
   r   r   rA   r	   rB   leftrightrE   rF   r   rG   rH   rI   rJ   rK   xri   rj   rP   rQ   rR   )ri   rj   r   rT   rU   )	r    r!   r"   r#   set_xlimr$   rW   rX   axvlinerZ   s        r6   test_axvlinez!TestDatetimePlotting.test_axvline^   s   )2%&"||AqG_c3(++D!Q7#,,T1a8 	 	:"--5==6 	 	8(++D!Q7#,,T2q9 	 	;h''a3#CHBMM"45CcJh''b"5CcJr?   c                    dt         j                  d<   t        j                  ddd      }t        d      D cg c]  }|t        j                  |      z    }}t        t        dd            }t        j                  ddd	d
      \  }\  }}}|j                  ||dd       t        ddd      D ]I  }|t        j                  |      z   }	|	t        j                  d      z   }
|j                  |	|
dd       K |j                  d       |j                  d       |j                  d       |j                  ||dd       t        ddd      D ]  }|j                  |dz   |dz   dd        |j                  d       |j                  d       |j                  d       |j                  ||dd       t        ddd      D ]I  }|t        j                  |      z   }	|	t        j                  d      z   }
|j                  |	|
dd       K |j                  d       |j                  d       |j                  d       y c c}w )Nr   r   r   r
   r   r   r   r   Tr]   r_   rb   rc   rd   r   rg   r   rJ   )rN   rO   r   rk   rl   rm   rn   ro   rp   )r    r!   r$   r%   r&   r'   r"   r#   r(   axvspanrr   rs   rt   )r+   r1   r2   r3   ru   r,   r-   r.   r/   rN   rO   s              r6   test_axvspanz!TestDatetimePlotting.test_axvspanl   s   )2%&&&tQ2
BG)LQh00a88LLuQ|$"||Aq?C4< >_c3 	6:q"a 	JA 2 2 ::D(,,!44DKKTSKI	J 	+,vx %6:q"a 	HAKKQqSqse3KG	H+,x vc8q"a 	JA 2 2 ::D(,,!44DKKTSKI	J 	-.vv= Mrw   c           
      `   dt         j                  d<   t        j                  ddd      \  }\  }}t	        j
                  t        j                  ddd	      t        j                  dd
d      t        j                  ddd      t        j                  ddd      gt        j                        }g d}t	        j                  t        j                  ddd            }|j                  ||t	        j                  dd             |j                  t	        j                  d      ||z
  |       y )Nr   r   rg   r
   r   r   rA   rI   r   r      rB   r   rG      dtype)i`"  i(
  i4!  i  r	   D)widthrC   )r    r!   r"   r#   rW   arrayr$   rX   bartimedelta64arange)r+   r,   r-   r.   x_datesx_rangesr   s          r6   test_barzTestDatetimePlotting.test_bar   s    )2%&,,q!MBZc3((!!$2.!!$2.!!$1-!!$2.	 --
 ,MM(++D!Q783)?@		!gk!4r?   c                 P   t        d      D cg c]0  }t        j                  ddd      t        j                  |      z   2 }}g d}t        j                  dddd      \  }}|j                  ||      }|j                  ||D cg c]  }| d		 c}d
d       y c c}w c c}w )Nr   r   r
   r   )r      r      r   )r   rB   r   )ra   r   %edgeblack)labels
label_typerf   )r%   r$   r&   r"   r#   r   	bar_label)r+   r2   	date_listvaluesr,   r=   barsvals           r6   test_bar_labelz#TestDatetimePlotting.test_bar_label   s     :?qC45 &&tQ2''Q/0 C	 C% ,,q!W]KRvvi( 	T"?cU!9"? &g 	 	7C #@s   5BB#
c                     dt         j                  d<   t        j                  dddd      }t        d      D cg c]  }|t        j                  |      z    }}t        j                  t        j                  d	dt
        j                  z  d            }t        j                  d      d
z  }t        j                  d	dd
      }t        j                  ddd      \  }}|d	   j                  ||||d       |d	   j                  d       |d	   j                  d       |d	   j                  d       |d   j                  ||||d       |d   j                  d       |d   j                  d       |d   j                  d       y c c}w )Nr   r   i  rg   rB   r   r^   hoursr   r   x   r
   )r^   rI   )nrowsncolsra   r   )lengthzDatetime vs. Numeric DataDatetimezNumeric DatazNumeric vs. Datetime Data)r"   r!   r$   r%   r&   rW   sinlinspacepionesr   r#   barbsrr   rs   rt   )	r+   r1   r2   r3   ru   uvr,   axess	            r6   
test_barbszTestDatetimePlotting.test_barbs   sS   )2%&&&tQ26
CH9Mah00q99MM&&QBEE	267GGBK"IIab!LLq7C	TQeWa15Q56Q:&Q>*Qgua15Q56Q>*Q:&# Ns    Fc           
         dt         j                  d<   t        j                  ddd      \  }\  }}t	        j
                  t        j                  ddd	      t        j                  dd
d      t        j                  dd	d      t        j                  ddd      g      }t        j                  ddd      }t        j                  ddd      }g d}|j                  d       |j                  d       |j                  ||t        j                  d	             |j                  ||       |j                  d       |j                  d       |j                  t	        j                  d      ||z
  |       y )Nr   r   rg   r
   r   r   rA   r	   r   r   r   r^   rH   r   r   )   5   r   rT   Agez
Birth Dater   )r   heightr}   zOrder of Birth Dates)r~   )r    r!   r"   r#   rW   r   r$   rs   rt   barhr&   r   r   )r+   r,   r-   r.   
birth_date
year_startyear_endages           r6   	test_barhzTestDatetimePlotting.test_barh   s3   )2%&,,q!MBZc3XXx00q"='00q"='00r2>'00r2>@ A
 &&tQ2
$$T2r2u|$3x/A/Ar/JK*H5|$-.1z*4:Fr?   z Test for boxplot not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   boxplotr<   s      r6   test_boxplotz!TestDatetimePlotting.test_boxplot        ,,.R


3r?   c                    dt         j                  d<   t        j                         \  }}|j	                  t        j
                  ddd      t        j                  d      ft        j
                  ddd      t        j                  d	      fgd
d       |j	                  t        j
                  ddd      t        j                  d      ft        j
                  ddd      t        j                  d      fgdd       y )Nr   r   r   r
   r	   rg   r   rB   r   )r   rG   ztab:blue)
facecolors)r   rG   ztab:red)r    r!   r"   r#   broken_barhr$   r&   r<   s      r6   test_broken_barhz%TestDatetimePlotting.test_broken_barh   s     *3%&,,.R
**4A68J8JPQ8RS!**4A68J8JPQ8RSUJ 	 	8 	**4A68J8JPQ8RS"++D!Q79K9KQR9STV i 	 	:r?   c                 N   dt         j                  d<   t        j                         \  }}t	        j                  ddd      t	        j                  ddd      t	        j                  ddd      t	        j                  ddd      t	        j                  ddd	      t	        j                  ddd
      t	        j                  ddd      gdg}|j                  |d       |j                  j                  t         j                  j                  d             |j                  d       y )Nr   r   rA   r
   r   r   r   r   r   r      )medq1q3whislowhishifliers
horizontal)orientationz%Y-%m-%dzBox plot with datetime data)r    r!   r"   r#   r$   bxpxaxisset_major_formatterr3   DateFormatterrr   )r+   r,   r=   r4   s       r6   test_bxpzTestDatetimePlotting.test_bxp   s    )2%&,,.R$$T1b1##D!R0##D!R0''a3''a4!!$1-!!$2.

 
 	t.
$$SYY%<%<Z%HI
23r?   zTest for clabel not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   clabelr<   s      r6   test_clabelz TestDatetimePlotting.test_clabel  r{   r?   c           
      <   dt         j                  d<   d}t        j                  ddd      \  }\  }}}t	        j
                  t        d|      D cg c]  }t        j                  dd|       c}      }t	        j
                  t        d|      D cg c]  }t        j                  dd|       c}      }t	        j
                  t        d|            }	t	        j
                  t        d|            }
t	        j                  ||      \  }}t	        j                  |	|
      \  }}t	        j                  |d	z        t	        j                  |d	z        z   }|j                  |||       |j                  |||       |j                  |||       y c c}w c c}w 
Nr   r   r   r   r
   r   r   r   r	   )r    r!   r"   r#   rW   r   r%   r$   meshgridcosr   contourr+   range_thresholdr,   r-   r.   r/   deltar   y_datesr   y_rangesX_datesY_datesX_rangesY_rangesZ_rangess                   r6   test_contourz!TestDatetimePlotting.test_contour  sO   )2%&"||AqG_c3((=B1o=VWEXtR/W
 ((=B1o=VWEXtR/W
 88E!_5688E!_56;;w8[[8<(66(Q,'"&&A*>>GWh/GXx0Hgx0 X X   FFc           
      <   dt         j                  d<   d}t        j                  ddd      \  }\  }}}t	        j
                  t        d|      D cg c]  }t        j                  dd|       c}      }t	        j
                  t        d|      D cg c]  }t        j                  dd|       c}      }t	        j
                  t        d|            }	t	        j
                  t        d|            }
t	        j                  ||      \  }}t	        j                  |	|
      \  }}t	        j                  |d	z        t	        j                  |d	z        z   }|j                  |||       |j                  |||       |j                  |||       y c c}w c c}w r   )r    r!   r"   r#   rW   r   r%   r$   r   r   r   contourfr   s                   r6   test_contourfz"TestDatetimePlotting.test_contourf$  sO   )2%&"||AqG_c3((=B1o=VWEXtR/W
 ((=B1o=VWEXtR/W
 88E!_5688E!_56;;w8[[8<(66(Q,'"&&A*>>Wgx0Wh1Xw1 X Xr   c           
      *   dt         j                  d<   t        j                  ddd      \  }\  }}}}d}t	        j                  ddd      }t        j                  t        d|      D cg c]  }t	        j                  dd	|       c}      }	t        j                  t        d|      D cg c]  }t	        j                  dd	|       c}      }
t	        j                  d
      }t	        j                  d
      }t        t        d|            }t        t        d|            }d}d}|j                  |	||d	dd       |j                  ||
||ddd       |j                  |	|
||ddd       |j                  |	|||ddd       y c c}w c c}w )Nr   r   r	   r
   r   r   r   r   r   r   rJ   TData)yerrcapsize	barsabovelabelr
   rg   z-o)xerrr   
erroreveryfmtr   )r   r   lolimsxlolimsr   )r   r   uplimsxuplimsr   )r    r!   r"   r#   r$   rW   r   r%   r&   r'   errorbar)r+   r,   r-   r.   r/   r0   limitr1   dr   r   x_date_errory_date_errorx_valuesy_valuesx_value_errory_value_errors                    r6   test_errorbarz"TestDatetimePlotting.test_errorbar<  s   )2%&$'LLAm$L!!c3S&&tQ2
((E!UOTqH--dB:TU((E!UOTqH--dB:TU))q1))q1a(a(Wh'#!	 	 	#
 	Xw'l &V 	 	- 	Wg&\ $! 	 	# 	Wh&] $! 	 	#/ UTs   *F,Fc           
      r   dt         j                  d<   t        j                  ddd      \  }\  }}}t	        j
                  t        j                  ddd	      t        j                  dd
d      t        j                  ddd      t        j                  ddd      gt        j                        }|j                  |       t        j                  j                  d       t        j                  dd
d      }t        j                  ddd      }||z
  }|t        j                  j                  d	      |z  z   }	|t        j                  j                  d      |z  z   }
|t        j                  j                  d      |z  z   }g d}t	        j
                  g d      }g d}|j                  |	|
|g|||       t	        j
                  t        j                  dd
d      t        j                  dd
d      t        j                  ddd      gt        j                        }|j                  |	|
|g|||       y )Nr   r   r   r
   r   r   rA   rI   r   r   r   rB   rG   r   r   !N,r   r   2   )C1C2C3)r
   rI   rB   )r   rg   r   )colorslineoffsetslinelengths)r    r!   r"   r#   rW   r   r$   rX   	eventplotrandomseedrand)r+   r,   r-   r.   r/   x_dates1r1   end_date
date_rangedates1dates2dates3colors1lineoffsets1linelengths1lineoffsets2s                   r6   test_eventplotz#TestDatetimePlotting.test_eventplot_  s   )2%&"||AqG_c388X..tQ;%..tQ;%..tQ:%..tQ;> #%--	 	h
		x &&tQ2
$$T2r2
*
biinnR0:==biinnR0:==biinnR0:==$xx	* vvv.$".". 	 	0
 xxdAq)dAr*dAq)!
 	  	vvv.$".". 	 	0r?   c                    dt         j                  d<   t        j                  ddd      \  }\  }}}}t        j
                  j                  d       t        j                  ddd      }|g}t        dd	      D ]J  }|t        j                  t        j
                  j                  dd	      
      z  }|j                  |       L t        j                  ddd      }	|	g}
t        dd	      D ]J  }|	t        j                  t        j
                  j                  dd	      
      z  }	|
j                  |	       L t        j
                  j                  d	      d	z  }t        j
                  j                  d	      d	z  dz
  }|j                  ||       |j                  ||
       |j                  ||       |j                  ||
       y )Nr   r   r	   r
   r   r   r  r   r   r   rg   )r    r!   r"   r#   rW   r  r  r$   r%   r&   randintappendr  fill)r+   r,   r-   r.   r/   r0   x_base_dater   _y_base_dater   r  r  s                r6   	test_fillzTestDatetimePlotting.test_fill  st   )2%&$'LLAm$L!!c3S
		x ''a3-q! 	(A8--2993D3DQ3JKKKNN;'	( ''a3-q! 	(A8--2993D3DQ3JKKKNN;'	( 99>>!$q(99>>!$q(1,(#7#8$'"r?   c                    dt         j                  d<   t        j                  j	                  d       t        j
                  ddd      }|g}t        dd      D ]J  }|t        j                  t        j                  j                  dd            z  }|j                  |       L |g}t        dd      D ]J  }|t        j                  t        j                  j                  dd            z  }|j                  |       L t        j                  j                  d      dz  }|j                          t        j                  j                  d      dz  }|t        j                  j                  d      dz  z   }|j                          |j                          t        j
                  ddd      }|g}	t        dd      D ]J  }|t        j                  t        j                  j                  dd            z  }|	j                  |       L t        j                  d	dd
      \  }
\  }}}|j                  |||       |j                  |	||       |j                  |	||       y Nr   r   r  r   r
   r   r   r   r   r   r   )r    r!   rW   r  r  r$   r%   r&   r   r!  r  sortr"   r#   fill_between)r+   r%  y_dates1r2   y_dates2r  	y_values1	y_values2r#  r   r,   r-   r.   r/   s                 r6   test_fill_betweenz&TestDatetimePlotting.test_fill_between  s   )2%&
		x ''a3=q" 	)A8--2993D3DQ3JKKKOOK(	)  =q" 	)A8--2993D3DQ3JKKKOOK(	) 99>>"%*IINN2&+			r 2R 77	''a3-q" 	(A8--2993D3DQ3KLLKNN;'	(  #||AqG_c38X6)Y7(H5r?   c                    dt         j                  d<   t        j                  j	                  d       t        j
                  ddd      }|g}t        dd      D ]J  }|t        j                  t        j                  j                  dd            z  }|j                  |       L |g}t        dd      D ]J  }|t        j                  t        j                  j                  dd            z  }|j                  |       L t        j                  j                  d      dz  }|j                          t        j                  j                  d      dz  }|t        j                  j                  d      dz  z   }|j                          |j                          t        j
                  ddd      }|g}	t        dd      D ]J  }|t        j                  t        j                  j                  dd            z  }|	j                  |       L t        j                  dd	d
      \  }
\  }}}|j                  |||       |j                  |	||       |j                  |	||       y r(  )r    r!   rW   r  r  r$   r%   r&   r   r!  r  r)  r"   r#   fill_betweenx)r+   r#  r  r2   x_dates2r  	x_values1	x_values2r%  r   r,   r-   r.   r/   s                 r6   test_fill_betweenxz'TestDatetimePlotting.test_fill_betweenx  s   )2%&
		x ''a3=q" 	)A8--2993D3DQ3JKKKOOK(	)  =q" 	)A8--2993D3DQ3JKKKOOK(	) 99>>"%*IINN2&+			r 2R 77	''a3-q" 	(A8--2993D3DQ3KLLKNN;'	(  #||AqG_c3(Hh7'9i8'8X6r?   zTest for hexbin not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   hexbinr<   s      r6   test_hexbinz TestDatetimePlotting.test_hexbin  r{   r?   c                    dt         j                  d<   t        j                  ddd      }t        j                  d      }t        j
                  j                  ddd      }t        j
                  j                  ddd      }t        j
                  j                  ddd      }t        d      D cg c]
  }|||z  z    }}t        j                  d	dd
      \  }\  }	}
}|	j                  t        d      D cg c]
  }|||z  z    c}d|       |
j                  t        d      D cg c]
  }|||z  z    c}d|       |j                  t        d      D cg c]
  }|||z  z    c}d|       t        j                  d	dd
      \  }\  }}}|j                  t        d      D cg c]
  }|||z  z    c}||       |j                  t        d      D cg c]
  }|||z  z    c}||       |j                  t        d      D cg c]
  }|||z  z    c}||       y c c}w c c}w c c}w c c}w c c}w c c}w c c}w )Nr   r   r   r   r
   r   r   r   r   Tr`   )binsweights)r    r!   r$   r&   rW   r  r   r%   r"   r#   hist)r+   r1   
time_deltavalues1values2values3r2   	bin_edgesr,   r-   r.   r/   r0   ax5ax6s                  r6   	test_histzTestDatetimePlotting.test_hist  s1   )2%&&&tR3
''Q/
))##Ar2.))##Ar2.))##Ar2.:?)DQZ!j.0D	D"||AqTJ_c327)<QZ!j.(< 	 	

 	27)<QZ!j.(< 	 	

 	27)<QZ!j.(< 	 	
  #||AqTJ_c327)<QZ!j.(< 	 	

 	27)<QZ!j.(< 	 	

 	27)<QZ!j.(< 	 	
= E =
 =
 = =
 =
 =s*   1H'9H,*H1H6+H;I IzTest for hist2d not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   hist2dr<   s      r6   test_hist2dz TestDatetimePlotting.test_hist2d"  r{   r?   c           	         dt         j                  d<   t        j                  ddd      \  }}g d}t	        dd	      D cg c]  }t        j
                  d
|dz  d       }}t	        ddd      D cg c]  }t        j
                  d
d	|       }}t	        ddd      D cg c]  }t        j
                  d
d|       }}|D 	cg c]  }	t        j                  |	       }
}	|d   j                  |g dg d       |d   j                  |t        j
                  ddd      t        j
                  ddd             |d   j                  |||       |d   j                  |dd       |d   j                  |
g dg d       |d   j                  |
||       |d   j                  |
t        j
                  ddd      t        j
                  ddd             |d   j                  |
dd       y c c}w c c}w c c}w c c}	w )Nr   r   rg   r	   r   r   )z
2023-03-08z
2023-04-09z
2023-05-13z
2023-07-28z
2023-12-24r
   rI   r   r   r   r   r   )r   r   )rQ   g?333333?rU   rJ   )rJ   g333333?rK   g?rR   rL   )r   r
   rA   r   rS   )r   rg   )r   r   g?g?)r
   r   r   )r
   r
   )r
   r   )	r    r!   r"   r#   r%   r$   rW   rX   hlines)r+   r,   axsdateStrsmr3   r   
date_startdate_endsnpDatess              r6   test_hlinesz TestDatetimePlotting.test_hlines(  s   )2%&<<1];S"
 <AA;Ga""41b1GG=B1b!_Mh''a3M
M;@B?KaH%%dAq1KK-562==#66D	577 	 	9 	D	&//a<&//a< 	 	> 	D	(& 	 	( 	D	"" 	 	$ 	D	777 	 	9 	D	7(& 	 	( 	D	&//a<&//a< 	 	> 	D	"" 	 	$3 HMK6s   !G93G>"HHc                 "   t        j                         \  }}t        j                  t	        d            }t        j
                  ddd      }t        j
                  ddd      }||||f}|j                  ||       |j                  dd       y )	Nr   i  rH   r
   extentr   Z   )axislabelrotation)r"   r#   rW   diagr%   r$   imshowtick_params)r+   r,   r=   adt_startdt_endrV  s          r6   test_imshowz TestDatetimePlotting.test_imshowN  sy    ,,.RGGE!H$$T2q1""4R0FHf5
		!F	#
Cr2r?   zTest for loglog not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   loglogr<   s      r6   test_loglogz TestDatetimePlotting.test_loglogX  r{   r?   c                 H   t        j                  t        d            }t        j                  ddd      }t        j                  ddd      }||||f}t	        j
                         \  }}|j                  ||       |j                         D ]  }|j                  d        y )	Nr     r	   r   rA   rH   rU  rW  )	rW   rZ  r%   r$   r"   r#   matshowget_xticklabelsset_rotation)r+   r]  r^  r_  rV  r,   r=   r   s           r6   test_matshowz!TestDatetimePlotting.test_matshow^  s    GGE!H$$T1b1""4R0FHf5,,.R


1V
$'') 	#Er"	#r?   zTest for pcolor not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   pcolorr<   s      r6   test_pcolorz TestDatetimePlotting.test_pcolori  r{   r?   z#Test for pcolorfast not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   
pcolorfastr<   s      r6   test_pcolorfastz$TestDatetimePlotting.test_pcolorfasto       ,,.R
cr?   z#Test for pcolormesh not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   
pcolormeshr<   s      r6   test_pcolormeshz$TestDatetimePlotting.test_pcolormeshu  rp  r?   c           
         dt         j                  d<   d}t        j                  ddd      \  }\  }}}t	        j
                  t        d|      D cg c]  }t        j                  dd	|       c}      }|j                  |t        d|             |j                  t        d|      |       |j                  ||       y c c}w 
Nr   r   rI   r   r
   r   r   r   rG   )	r    r!   r"   r#   rW   r   r%   r$   r(   r+   Nr,   r-   r.   r/   nr   s           r6   	test_plotzTestDatetimePlotting.test_plot{      )2%&"||AqG_c3HHU1a[Ih''a3IJE!QK q!a A J   Cc           
         dt         j                  d<   d}t        j                  ddd      \  }\  }}}t	        j
                  t        d|      D cg c]  }t        j                  dd|       c}      }t	        j
                  t        d|      D cg c]  }t        j                  dd|       c}      }t	        j
                  t        d|            }	t	        j
                  t        d|            }
t        j                  t         j                        5  |j                  ||       |j                  ||
       |j                  |	|       d d d        y c c}w c c}w # 1 sw Y   y xY w)	Nr   r   r   r   r
   r   r   r   )r    r!   r"   r#   rW   r   r%   r$   pytestwarnsMatplotlibDeprecationWarning	plot_date)r+   r   r,   r-   r.   r/   r   r   r   r   r   s              r6   test_plot_datez#TestDatetimePlotting.test_plot_date  s'   )2%&"||AqG_c3((=B1o=VWEXtR/W
 ((=B1o=VWEXtR/W
 88E!_5688E!_56\\#::; 	-MM'7+MM'8,MM(G,	- 	- X X
	- 	-s   EE7E$$E-zTest for quiver not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   quiverr<   s      r6   test_quiverz TestDatetimePlotting.test_quiver  r{   r?   c                    dt         j                  d<   t        j                  ddd      }t        d      D cg c]  }|t        j                  d|z        z     }}t        |      }t        j                  j                  d       t        j                  t        j                  j                  |            }t        j                  d	dd
d      \  }}|d   j                  ||       |d   j                         D ]$  }|j                  d       |j!                  d       & |d   j                  ||       |d   j                  ||       |d   j                         D ]$  }|j                  d       |j!                  d       & y c c}w )Nr   r   i  rg   r
   r   r   r  r   r   )rI   rI   )r   ra   r   (   r   )r    r!   r$   r%   r&   lenrW   r  r  cumsumrandnr"   r#   scatterrg  rh  set_horizontalalignment)	r+   baser2   r3   rw  rM   r,   rL  r   s	            r6   test_scatterz!TestDatetimePlotting.test_scatter  sJ   )2%&  q!,CH9Ma**!a%99MMJ
		x IIbiiooa()<<1]FKSAua V++- 	3Er"))'2	3 	Aq% Aue$V++- 	3Er"))'2	3 Ns   #F	z!Test for semilogx not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   semilogxr<   s      r6   test_semilogxz"TestDatetimePlotting.test_semilogx       ,,.R
Cr?   z!Test for semilogy not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   semilogyr<   s      r6   test_semilogyz"TestDatetimePlotting.test_semilogy  r  r?   c           
      p   dt         j                  d<   d}t        j                  t        j                  d|      d      }t        j
                  t        |dz
        D cg c]  }t        j                  d|z   dd       c}      }t        j                  d      \  }}|j                  ||       y c c}w )	Nr   r   r   r
   )r	   r
   rA   r   r   )r    r!   rW   tiler   r   r%   r$   r"   r#   	stackplot)r+   rw  stacked_numsr2   r3   r,   r=   s          r6   test_stackplotz#TestDatetimePlotting.test_stackplot  s    )2%&wwryyA7U1q5\R(++D1Ha;RS,,m4R
UL) Ss   !B3c           	         dt         j                  d<   t        j                  ddd      }t        j                  d      }t        j                  ddd      }t	        d      D cg c]
  }|||z  z    }}t        j                  d      }t
        j                  j                  d	       t
        j                  j                  dd
d      }t
        j                  j                  ddd      D cg c]$  }|t        j                  t        |            z   & }}t
        j                  j                  ddd      D cg c]$  }|t        j                  t        |            z   & }	}t        j                  ddd      \  }
\  }}}|j                  ||       |j                  |||       |j                  |	||       y c c}w c c}w c c}w )Nr   r   r   r^   r
   r   re  r   i@ d   r   i'  ir   Tr:  )edges)r  baseline)r    r!   r$   r&   r%   rW   r   r  r  r   intr"   r#   stairs)r+   r1   r>  baseline_dater2   rB  edge_intr?  r@  rA  r,   r-   r.   r/   s                 r6   test_stairsz TestDatetimePlotting.test_stairs  s   )2%&&&tR3
''Q/
 ))$15:?)DQZ!j.0D	D99R=
		v))##AsB/II--a;=  2 2A ?? = = II--feR@B  2 2A ?? B B  #||AqTJ_c3

7)
,

7(]
C

7)m
D E=Bs   %G.)G<)Gc           
      8   dt         j                  d<   t        j                  ddd      \  }\  }}}}}}d}t	        j                  dd	d
      }	t	        j                  ddd
      }
t        j                  d|      }t        j                  d|      }t        j                  t        d|      D cg c]  }t	        j                  dd|       c}      }t        j                  t        d|      D cg c]  }t	        j                  dd|       c}      }|j                  |||	       |j                  ||d       |j                  |||
       |j                  ||d|	       |j                  ||dd       |j                  ||d|
       y c c}w c c}w )Nr   r   rI   r
   r   r   r   r   rG      rH   r   r   r   )r   rC   )
r    r!   r"   r#   r$   rW   r   r   r%   stem)r+   r,   r-   r.   r/   r0   rC  rD  limit_valueabovebelowr   r   rx  r   r   s                   r6   	test_stemzTestDatetimePlotting.test_stem  sh   )2%&.1ll1a.V++c3S#s!!$2.!!$B/99Q,99Q,((5:1k5JKXtR+K
 ((5:1k5JKXtR+K
 	'%0(1-7517UK(QG7UK L Ls   /F1Fc           
         dt         j                  d<   d}t        j                  ddd      \  }\  }}}t	        j
                  t        d|      D cg c]  }t        j                  dd	|       c}      }|j                  |t        d|             |j                  t        d|      |       |j                  ||       y c c}w ru  )	r    r!   r"   r#   rW   r   r%   r$   steprv  s           r6   	test_stepzTestDatetimePlotting.test_step  rz  r{  z#Test for streamplot not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   
streamplotr<   s      r6   test_streamplotz$TestDatetimePlotting.test_streamplot  rp  r?   c           
      (   dt         j                  d<   t        j                  ddd      \  }\  }}}d}dd	d
d}t	        j                  ddd      }t        j                  t        d|            }t        j                  t        d|            }	t        j                  t        d|      D 
cg c]  }
t	        j                  dd|
       c}
      }t        j                  t        d|      D 
cg c]  }
t	        j                  dd|
       c}
      }|j                  ||	        |j                  |ddfi | |j                  ||        |j                  d|dfi | |j                  ||        |j                  ||dfi | y c c}
w c c}
w )Nr   r   r   r
   r   r   r   serifr^   bold)familysizeweightr   r   zInserted Textr   )
r    r!   r"   r#   r$   rW   r   r%   r(   r   )r+   r,   r-   r.   r/   r  font_properties	test_datex_datay_datarx  r   r   s                r6   r5   zTestDatetimePlotting.test_text  s`   )2%&"||AqG_c3%,bFK%%dB2	%;/0%;/0((5:1k5JKXtR+K
 ((5:1k5JKXtR+K
 	&!AB/B!IB/B'"IJ/J L Ls   -F
/Fz#Test for tricontour not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   
tricontourr<   s      r6   test_tricontourz$TestDatetimePlotting.test_tricontour)  rp  r?   z$Test for tricontourf not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   tricontourfr<   s      r6   test_tricontourfz%TestDatetimePlotting.test_tricontourf/  s     ,,.R
sr?   z"Test for tripcolor not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   	tripcolorr<   s      r6   test_tripcolorz#TestDatetimePlotting.test_tripcolor5  s     ,,.R
Sr?   z Test for triplot not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   triplotr<   s      r6   test_triplotz!TestDatetimePlotting.test_triplot;  r   r?   zTest for violin not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   violinr<   s      r6   test_violinz TestDatetimePlotting.test_violinA  r{   r?   z#Test for violinplot not written yetc                 T    t        j                         \  }}|j                  d       y r:   )r"   r#   
violinplotr<   s      r6   test_violinplotz$TestDatetimePlotting.test_violinplotG  rp  r?   c           	         dt         j                  d<   t        j                  ddd      \  }\  }}}|j	                  t        j
                  ddd      t        j
                  ddd	      
       |j                  t        j
                  ddd      t        j
                  ddd      t        j
                  ddd      gg dg d       |j	                  dd
       |j                  ddgt        j                  d      t        j                  d      gt        j                  d      t        j                  d      g       |j	                  t        j
                  ddd      t        j
                  ddd      
       |j                  t        j
                  ddd      t        j
                  ddd      gt        j
                  ddd      t        j
                  ddd	             y )Nr   r   r   r
   r   r   r   rI   r   r}   rg   r   r   r  )r         ?rJ   )r  rJ   g      ?r   r   rJ   rJ  gffffff?z
2023-03-20z
2023-03-31z
2023-05-01z
2023-05-16r   r^   r   rG   r   )	r    r!   r"   r#   r   r$   vlinesrW   rX   rZ   s        r6   test_vlinesz TestDatetimePlotting.test_vlinesM  s   )2%&"||AqG_c3(++D!Q7#,,T1b9 	 	;

h''a4''a4''a35 ')	 	 	+
 	! 	 	 

c4[|4bmmL6QR|4bmmL6QR 	 	T 	(++D!Q7#,,T2r: 	 	<

h''a3X5F5FtRQS5TU ))$26 ))$26 	 	8r?   N)<__name__
__module____qualname__r    stylecontextr7   r}  markxfailr>   r[   rv   rz   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r&  r/  r5  r8  rE  rH  rS  r`  rc  ri  rl  ro  rs  ry  r  r  r  r  r  r  r  r  r  r  r5   r  r  r  r  r  r  r   r?   r6   r   r   
   s?	   YYy!W "W& [[>?YYy! " @ 	YYy!K "K 	YYy!" ""H [[?@YYy! " A 	YYy!K "K 	YYy!" ""H 	YYy!5 "5( 	YYy!7 "7 	YYy!' "'. 	YYy!G "G$ [[@AYYy! " B 	YYy!
: "
: 	YYy!4 "4$ [[?@YYy! " A 	YYy!1 "1. 	YYy!2 "2. 	YYy! # " #D 	YYy!*0 "*0X 	YYy!# "#4 	YYy! 6 " 6D 	YYy! 7 " 7D [[?@YYy! " A 	YYy!,
 ",
\ [[?@YYy! " A 	YYy!#$ "#$J 	YYy!3 "3 [[?@YYy! " A 	YYy!# "# [[?@YYy! " A [[CDYYy! " E [[CDYYy! " E 	YYy! " 	YYy!- "-& [[?@YYy! " A 	YYy!3 "3* [[ABYYy! " C [[ABYYy! " C 	YYy!* "* 	YYy!E "E* 	YYy!L "L6 	YYy! " [[CDYYy! " E 	YYy!K "K6 [[CDYYy! " E [[DEYYy! " F [[BCYYy! " D [[@AYYy! " B [[?@YYy! " A [[CDYYy! " E 	YYy!8 "8r?   r   )
r$   numpyrW   r}  matplotlib.pyplotpyplotr"   
matplotlibr    r   r  r?   r6   <module>r     s         W8 W8r?   