
    P/Ph{                     L    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	dS )    Nc                   (   e Zd Zej                            d          d             Zej        	                    d          ej                            d          d                         Z
ej                            d          d             Zej                            d          d             Zej        	                    d          ej                            d          d	                         Zej                            d          d
             Zej                            d          d             Zej                            d          d             Zej                            d          d             Zej                            d          d             Zej                            d          d             Zej        	                    d          ej                            d          d                         Zej                            d          d             Zej                            d          d             Zej        	                    d          ej                            d          d                         Zej                            d          d             Zej                            d          d             Zej                            d          d             Zej                            d          d             Zej                            d          d             Zej                            d          d             Zej                            d          d             Zej        	                    d          ej                            d          d                         Zej                            d          d             Z ej        	                    d           ej                            d          d!                         Z!ej                            d          d"             Z"ej                            d          d#             Z#ej        	                    d$          ej                            d          d%                         Z$ej                            d          d&             Z%ej        	                    d'          ej                            d          d(                         Z&ej        	                    d)          ej                            d          d*                         Z'ej        	                    d+          ej                            d          d,                         Z(ej                            d          d-             Z)ej                            d          d.             Z*ej        	                    d/          ej                            d          d0                         Z+ej                            d          d1             Z,ej        	                    d2          ej                            d          d3                         Z-ej        	                    d4          ej                            d          d5                         Z.ej                            d          d6             Z/ej                            d          d7             Z0ej                            d          d8             Z1ej                            d          d9             Z2ej        	                    d:          ej                            d          d;                         Z3ej                            d          d<             Z4ej        	                    d=          ej                            d          d>                         Z5ej        	                    d?          ej                            d          d@                         Z6ej        	                    dA          ej                            d          dB                         Z7ej        	                    dC          ej                            d          dD                         Z8ej        	                    dE          ej                            d          dF                         Z9ej        	                    dG          ej                            d          dH                         Z:ej                            d          dI             Z;dJS )KTestDatetimePlottingdefaultc                   	 dt           j        d<   t          j        ddd          \  }\  }}}}t	          j        ddd          		fd	t          d
          D             }t          t          dd                    }d}|                    ||           |                    ||d         |d         f           |                    ||           |                    ||d         |d         f           |                    ||           |                    ||d         |d         f           |                    ||           |                    ||d         |d         f|d         |d         ft          d                     d S )Nconcisedate.converter      constrainedlayout  
   c                 @    g | ]}t          j        |           z   S daysdatetime	timedelta.0i
start_dates     ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/matplotlib/tests/test_datetime.py
<listcomp>z6TestDatetimePlotting.test_annotate.<locals>.<listcomp>   ,    LLLQh0a8888LLL           z	Test Text   )textxy               red)	facecolor)r"   r#   xytext
arrowprops)
mplrcParamspltsubplotsr   rangelistplotannotatedict)
selffigax1ax2ax3ax4datesdata	test_textr   s
            @r   test_annotatez"TestDatetimePlotting.test_annotate   s   )2%&$'LAm$L$L$L!!c3S&tR33
LLLL%))LLLE!RLL!!	)rDH(=>>>u)a%)(<===)rE!H(=>>>)q59(= %a%(3u@U@U@U 	 	W 	W 	W 	W 	Wr   zTest for arrow not written yet)reasonc                 \    t          j                    \  }}|                    d           d S N.)r/   r0   arrowr6   r7   axs      r   
test_arrowzTestDatetimePlotting.test_arrow   s&     ,..R
r   c                    dt           j        d<   t          j        ddd          \  }\  }}}|                    t          j        ddd          t          j        dd	d          
           |                    t          j        d          t          j        d          
           |                    t          j        ddd          t          j        ddd          
           |                    t          j        ddd          dd           |                    t          j        d          dd           |                    t          j        ddd          dd           d S )Nr   r   r&   r
   r   r     r	      )bottomtop
2005-01-01
2005-04-01r   	               ?ffffff?yxminxmax2005-02-25T03:30皙??rU   rV   r      皙?)	r-   r.   r/   r0   set_ylimr   np
datetime64axhliner6   r7   r8   r9   r:   s        r   test_axhlinez!TestDatetimePlotting.test_axhline%   sW   )2%&"|AqGGG_c3H-dAq99!*4A66 	 	8 	8 	8BM,77|44 	 	6 	6 	6H-dAq99!*4Q77 	 	9 	9 	9h'a33#CHHHBM"455CcJJJh'b"55CcJJJJJr   c                   
 dt           j        d<   t          j        ddd          

fdt          d          D             }t	          t          dd                    }t          j        ddd	d
          \  }\  }}}|                    ||dd           t          ddd          D ]!}|                    |dz   |dz   dd           "|	                    d           |
                    d           |                    d           |                    ||dd           t          ddd          D ]K}
t          j        |          z   }|t          j        d          z   }	|                    ||	dd           L|	                    d           |
                    d           |                    d           |                    ||dd           t          ddd          D ]K}
t          j        |          z   }|t          j        d          z   }	|                    ||	dd           L|	                    d           |
                    d           |                    d           d S )Nr   r   r   r
   c                 @    g | ]}t          j        |           z   S r   r   r   s     r   r   z5TestDatetimePlotting.test_axhspan.<locals>.<listcomp>8   r   r   r   r    r&   Tr      constrained_layoutfigsizeobluemarkercolorr      greenrQ   )yminymaxr*   alphaDatetime vs. NumberDateNumberr   Number vs. DatetimeDatetime vs. Datetime)r-   r.   r   r1   r2   r/   r0   r3   axhspan	set_title
set_xlabel
set_ylabelr   )r6   r<   numbersr7   r8   r9   r:   r   rq   rr   r   s             @r   test_axhspanz!TestDatetimePlotting.test_axhspan3   s   )2%&&tQ22
LLLL%))LLLuQ||$$"|Aq?C4< >  >  >_c3 	6:::q"a 	J 	JAKKQqSqsgSKIIII+,,,vx   %6:::q"a 	L 	LA 2 : : ::D(,!4444DKKTsKKKKK+,,,x   vc888q"a 	L 	LA 2 : : ::D(,!4444DKKTsKKKKK-...vvr   zTest for axline not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   axlinerD   s      r   test_axlinez TestDatetimePlotting.test_axlineX   &     ,..R
		#r   c                    dt           j        d<   t          j        ddd          \  }\  }}}|                    t          j        ddd          t          j        dd	d          
           |                    t          j        d          t          j        d          
           |                    t          j        ddd          t          j        ddd          
           |                    t          j        ddd          dd           |                    t          j        d          dd           |                    t          j        ddd          dd           d S )Nr   r   r&   r
   r   r   rH   r	   rI   leftrightrL   rM   r   rN   rO   rP   rQ   rR   xrq   rr   rW   rX   rY   )rq   rr   r   r[   r\   )	r-   r.   r/   r0   set_xlimr   r^   r_   axvlinera   s        r   test_axvlinez!TestDatetimePlotting.test_axvline^   sW   )2%&"|AqGGG_c3(+D!Q77#,T1a88 	 	: 	: 	:"-55=66 	 	8 	8 	8(+D!Q77#,T2q99 	 	; 	; 	;h'a33#CHHHBM"455CcJJJh'b"55CcJJJJJr   c                   
 dt           j        d<   t          j        ddd          

fdt          d          D             }t	          t          dd                    }t          j        ddd	d
          \  }\  }}}|                    ||dd           t          ddd          D ]K}
t          j        |          z   }|t          j        d          z   }	|	                    ||	dd           L|
                    d           |                    d           |                    d           |                    ||dd           t          ddd          D ]!}|	                    |dz   |dz   dd           "|
                    d           |                    d           |                    d           |                    ||dd           t          ddd          D ]K}
t          j        |          z   }|t          j        d          z   }	|	                    ||	dd           L|
                    d           |                    d           |                    d           d S )Nr   r   r   r
   c                 @    g | ]}t          j        |           z   S r   r   r   s     r   r   z5TestDatetimePlotting.test_axvspan.<locals>.<listcomp>q   r   r   r   r    r&   Tre   rg   rj   rk   rl   r   ro   r   r)   rQ   )rU   rV   r*   rs   rt   ru   rv   rw   rx   )r-   r.   r   r1   r2   r/   r0   r3   r   axvspanrz   r{   r|   )r6   r<   r}   r7   r8   r9   r:   r   rU   rV   r   s             @r   test_axvspanz!TestDatetimePlotting.test_axvspanl   s   )2%&&tQ22
LLLL%))LLLuQ||$$"|Aq?C4< >  >  >_c3 	6:::q"a 	J 	JA 2 : : ::D(,!4444DKKTSKIIII+,,,vx   %6:::q"a 	H 	HAKKQqSqse3KGGGG+,,,x   vc888q"a 	J 	JA 2 : : ::D(,!4444DKKTSKIIII-...vvr   c           
      N   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                    }|                    ||t	          j	        dd                     |                    t	          j
        d          ||z
  |           d S )Nr   r   ro   r
   r   r   rH   rP   r'   r(      rI   r&   rN      dtype)i`"  i(
  i4!  i  r	   D)widthrJ   )r-   r.   r/   r0   r^   arrayr   r_   bartimedelta64arange)r6   r7   r8   r9   x_datesx_rangesr   s          r   test_barzTestDatetimePlotting.test_bar   s   )2%&,q!MBBBZc3(!$2..!$2..!$1--!$2..	 -
 
 
 ,++M(+D!Q77883)?)?@@@	!gk!44444r   c                     d t          d          D             }g d}t          j        dddd          \  }}|                    ||          }|                    |d |D             d	d
           d S )Nc                 f    g | ].}t          j         d dd          t          j        |          z   /S )r   r
   r   r   r   r   s     r   r   z7TestDatetimePlotting.test_bar_label.<locals>.<listcomp>   sS     C C C45 &tQ22'Q///0 C C Cr   r$   )r      r!      r'   r
   )r   rI   r   )ri   r   c                     g | ]}| d S )% )r   vals     r   r   z7TestDatetimePlotting.test_bar_label.<locals>.<listcomp>   s    "?"?"?c999"?"?"?r   edgeblack)labels
label_typern   )r1   r/   r0   r   	bar_label)r6   	date_listvaluesr7   rE   barss         r   test_bar_labelz#TestDatetimePlotting.test_bar_label   s    C C9>qC C C	%%% ,q!W]KKKRvvi(( 	T"?"?"?"?"? &g 	 	7 	7 	7 	7 	7r   c                 F   dt           j        d<   t          j        dddd          fdt          d          D             }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	                             ||||d           |d	                             d           |d	                             d           |d	                             d           |d                             ||||d           |d                             d           |d                             d           |d                             d           d S )Nr   r   i  ro   rI   r   c                 @    g | ]}t          j        |           z   S )hoursr   r   s     r   r   z3TestDatetimePlotting.test_barbs.<locals>.<listcomp>   s,    MMMah0q9999MMMr   rf   r   r   x   r
   )rf   rP   )nrowsncolsri   r(   )lengthzDatetime vs. Numeric DataDatetimezNumeric DatazNumeric vs. Datetime Data)r/   r.   r   r1   r^   sinlinspacepionesr   r0   barbsrz   r{   r|   )r6   r<   r}   uvr7   axesr   s          @r   
test_barbszTestDatetimePlotting.test_barbs   s   )2%&&tQ266
MMMM599MMM&QBE	26677GBKK"Iab!!Lq7CCC	TQeWa1555Q5666Q:&&&Q>***Qgua1555Q5666Q>***Q:&&&&&r   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}|                    d           |                    d           |	                    ||t          j
        d	                     |                    ||           |                    d           |                    d           |	                    t	          j        d          ||z
  |           d S )Nr   r   ro   r
   r   r   rH   r	   r   r$   r'   rf   rO   r!   r   )   5   r   r[   Agez
Birth Dater   )r   heightr   zOrder of Birth Dates)r   )r-   r.   r/   r0   r^   r   r   r{   r|   barhr   r   r   )r6   r7   r8   r9   
birth_date
year_startyear_endages           r   	test_barhzTestDatetimePlotting.test_barh   sr   )2%&,q!MBBBZc3Xx0q"=='0q"=='0r2>>'0r2>>@ A A
 &tQ22
$T2r22u|$$$3x/Ar/J/J/JKKK*H555|$$$-...1z*4:FFFFFr   z Test for boxplot not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   boxplotrD   s      r   test_boxplotz!TestDatetimePlotting.test_boxplot   &     ,..R


3r   c                     dt           j        d<   t          j                    \  }}|                    t          j        ddd          t          j        d          ft          j        ddd          t          j        d	          fgd
d           |                    t          j        ddd          t          j        d          ft          j        ddd          t          j        d          fgdd           d S )Nr   r   r   r
   r	   ro   r   rI   r&   )r   rN   ztab:blue)
facecolors)r   rN   ztab:red)r-   r.   r/   r0   broken_barhr   r   rD   s      r   test_broken_barhz%TestDatetimePlotting.test_broken_barh   s    *3%&,..R
*4A668JPQ8R8R8RS!*4A668JPQ8R8R8RSUJ 	 	8 	8 	8 	*4A668JPQ8R8R8RS"+D!Q779KQR9S9S9STV i 	 	: 	: 	: 	: 	:r   c                 F   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}|                    |d           |j                            t           j        	                    d                     |
                    d           d S )Nr   r   rH   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/   r0   r   bxpxaxisset_major_formatterr<   DateFormatterrz   )r6   r7   rE   r=   s       r   test_bxpzTestDatetimePlotting.test_bxp   s	   )2%&,..R$T1b11#D!R00#D!R00'a33'a44!$1--!$2..

 

 
 	t...
$$SY%<%<Z%H%HIII
233333r   zTest for clabel not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   clabelrD   s      r   test_clabelz TestDatetimePlotting.test_clabel  r   r   c                    dt           j        d<   d}t          j        ddd          \  }\  }}}t	          j        d t          d|          D                       }t	          j        d	 t          d|          D                       }t	          j        t          d|                    }t	          j        t          d|                    }	t	          j        ||          \  }
}t	          j        ||	          \  }}t	          j        |d
z            t	          j	        |d
z            z   }|
                    |
||           |
                    |
||           |
                    |||           d S )Nr   r   r   r&   r
   r   r   c                 :    g | ]}t          j         d d|          S r   r   r   r   deltas     r   r   z5TestDatetimePlotting.test_contour.<locals>.<listcomp>  '    WWWEXtR//WWWr   c                 :    g | ]}t          j         d d|          S r   r   r   s     r   r   z5TestDatetimePlotting.test_contour.<locals>.<listcomp>  r   r   r	   )r-   r.   r/   r0   r^   r   r1   meshgridcosr   contourr6   range_thresholdr7   r8   r9   r:   r   y_datesr   y_rangesX_datesY_datesX_rangesY_rangesZ_rangess                  r   test_contourz!TestDatetimePlotting.test_contour  s]   )2%&"|AqGGG_c3(WWU1o=V=VWWW
 
 (WWU1o=V=VWWW
 
 8E!_55668E!_5566;w88[8<<(6(Q,''"&A*>*>>GWh///GXx000Hgx00000r   c                    dt           j        d<   d}t          j        ddd          \  }\  }}}t	          j        d t          d|          D                       }t	          j        d	 t          d|          D                       }t	          j        t          d|                    }t	          j        t          d|                    }	t	          j        ||          \  }
}t	          j        ||	          \  }}t	          j        |d
z            t	          j	        |d
z            z   }|
                    |
||           |
                    |
||           |
                    |||           d S )Nr   r   r   r&   r
   r   r   c                 :    g | ]}t          j         d d|          S r   r   r   s     r   r   z6TestDatetimePlotting.test_contourf.<locals>.<listcomp>+  r   r   c                 :    g | ]}t          j         d d|          S r   r   r   s     r   r   z6TestDatetimePlotting.test_contourf.<locals>.<listcomp>.  r   r   r	   )r-   r.   r/   r0   r^   r   r1   r   r   r   contourfr   s                  r   test_contourfz"TestDatetimePlotting.test_contourf$  s]   )2%&"|AqGGG_c3(WWU1o=V=VWWW
 
 (WWU1o=V=VWWW
 
 8E!_55668E!_5566;w88[8<<(6(Q,''"&A*>*>>Wgx000Wh111Xw11111r   c           	         dt           j        d<   t          j        ddd          \  }\  }}}}d}t	          j        ddd          }t          j        d	 t          d|          D                       }t          j        d
 t          d|          D                       }	t	          j        d          }
t	          j        d          }t          t          d|                    }t          t          d|                    }d}d}|
                    |||ddd           |
                    ||	||ddd           |
                    ||	|
|ddd           |
                    |||
|ddd           d S )Nr   r   r	   r
   r   r   r(   r   c                 :    g | ]}t          j         d d|          S r   r   r   ds     r   r   z6TestDatetimePlotting.test_errorbar.<locals>.<listcomp>C  '    TTTqH-dB::TTTr   c                 :    g | ]}t          j         d d|          S r   r   r  s     r   r   z6TestDatetimePlotting.test_errorbar.<locals>.<listcomp>D  r  r   r   rQ   r   TData)yerrcapsize	barsabovelabelr
   ro   z-o)xerrr	  
erroreveryfmtr  )r  r	  lolimsxlolimsr  )r  r	  uplimsxuplimsr  )r-   r.   r/   r0   r   r^   r   r1   r   r2   errorbar)r6   r7   r8   r9   r:   r;   limitr   r   r   x_date_errory_date_errorx_valuesy_valuesx_value_errory_value_errors                   r   test_errorbarz"TestDatetimePlotting.test_errorbar<  s   )2%&$'LAm$L$L$L!!c3S&tQ22
(TTE!UOOTTTUU(TTE!UOOTTTUU)q111)q111a((a((Wh'#!	 	 	# 	# 	#
 	Xw'l &V 	 	- 	- 	- 	Wg&\ $! 	 	# 	# 	# 	Wh&] $! 	 	# 	# 	# 	# 	#r   c           
      Z   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                  }|                    |           t          j	        
                    d           t          j        dd
d          }t          j        ddd          }||z
  }|t          j	                            d	          |z  z   }	|t          j	                            d          |z  z   }
|t          j	                            d          |z  z   }g d}t	          j        g d          }g d}|                    |	|
|g|||           t	          j        t          j        dd
d          t          j        dd
d          t          j        ddd          gt          j                  }|                    |	|
|g|||           d S )Nr   r   r&   r
   r   r   rH   rP   r'   r(   r   rI   rN   r   r   !N,r   r!   2   )C1C2C3)r
   rP   rI   )r$   ro   r&   )colorslineoffsetslinelengths)r-   r.   r/   r0   r^   r   r   r_   	eventplotrandomseedrand)r6   r7   r8   r9   r:   x_dates1r   end_date
date_rangedates1dates2dates3colors1lineoffsets1linelengths1lineoffsets2s                   r   test_eventplotz#TestDatetimePlotting.test_eventplot_  s1   )2%&"|AqGGG_c38X.tQ;;%.tQ;;%.tQ::%.tQ;;> #%-	   	h
	x   &tQ22
$T2r22
*
binnR00:==binnR00:==binnR00:==$$$x			** yyvvv.$".". 	 	0 	0 	0
 xdAq))dAr**dAq))!
 	      	vvv.$".". 	 	0 	0 	0 	0 	0r   c                    dt           j        d<   t          j        ddd          \  }\  }}}}t          j                            d           t          j        ddd          }|g}t          dd	          D ]M}|t          j	        t          j        
                    dd	          
          z  }|                    |           Nt          j        ddd          }	|	g}
t          dd	          D ]M}|	t          j	        t          j        
                    dd	          
          z  }	|
                    |	           Nt          j                            d	          d	z  }t          j                            d	          d	z  dz
  }|                    ||           |                    ||
           |                    ||           |                    ||
           d S )Nr   r   r	   r
   r   r   r  r   r$   r   ro   )r-   r.   r/   r0   r^   r(  r)  r   r1   r   randintappendr*  fill)r6   r7   r8   r9   r:   r;   x_base_dater   _y_base_dater   r  r  s                r   	test_fillzTestDatetimePlotting.test_fill  s   )2%&$'LAm$L$L$L!!c3S
	x   'a33-q! 	( 	(A8-293D3DQ3J3JKKKKKNN;'''''a33-q! 	( 	(A8-293D3DQ3J3JKKKKKNN;''''9>>!$$q(9>>!$$q(1,(###7###8$$$'"""""r   c                    dt           j        d<   t          j                            d           t          j        ddd          }|g}t          dd          D ]M}|t          j        t          j                            dd                    z  }|	                    |           N|g}t          dd          D ]M}|t          j        t          j                            dd                    z  }|	                    |           Nt          j        
                    d          dz  }|                                 t          j        
                    d          dz  }|t          j        
                    d          dz  z   }|                                 |                                 t          j        ddd          }|g}	t          dd          D ]M}|t          j        t          j                            dd                    z  }|		                    |           Nt          j        d	dd
          \  }
\  }}}|                    |||           |                    |	||           |                    |	||           d S Nr   r   r  r   r
   r   r$   r   r&   r   r   )r-   r.   r^   r(  r)  r   r1   r   r7  r8  r*  sortr/   r0   fill_between)r6   r<  y_dates1r   y_dates2r  	y_values1	y_values2r:  r   r7   r8   r9   r:   s                 r   test_fill_betweenz&TestDatetimePlotting.test_fill_between  sK   )2%&
	x   'a33=q" 	) 	)A8-293D3DQ3J3JKKKKKOOK((((=q" 	) 	)A8-293D3DQ3J3JKKKKKOOK((((9>>"%%*INN2&&+		r 2 2R 77	'a33-q" 	( 	(A8-293D3DQ3K3KLLLLKNN;''''"|AqGGG_c38X666)Y777(H55555r   c                    dt           j        d<   t          j                            d           t          j        ddd          }|g}t          dd          D ]M}|t          j        t          j                            dd                    z  }|	                    |           N|g}t          dd          D ]M}|t          j        t          j                            dd                    z  }|	                    |           Nt          j        
                    d          dz  }|                                 t          j        
                    d          dz  }|t          j        
                    d          dz  z   }|                                 |                                 t          j        ddd          }|g}	t          dd          D ]M}|t          j        t          j                            dd                    z  }|		                    |           Nt          j        dd	d
          \  }
\  }}}|                    |||           |                    |	||           |                    |	||           d S r?  )r-   r.   r^   r(  r)  r   r1   r   r7  r8  r*  r@  r/   r0   fill_betweenx)r6   r:  r+  r   x_dates2r  	x_values1	x_values2r<  r   r7   r8   r9   r:   s                 r   test_fill_betweenxz'TestDatetimePlotting.test_fill_betweenx  sK   )2%&
	x   'a33=q" 	) 	)A8-293D3DQ3J3JKKKKKOOK((((=q" 	) 	)A8-293D3DQ3J3JKKKKKOOK((((9>>"%%*INN2&&+		r 2 2R 77	'a33-q" 	( 	(A8-293D3DQ3K3KLLLLKNN;''''"|AqGGG_c3(Hh777'9i888'8X66666r   zTest for hexbin not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   hexbinrD   s      r   test_hexbinz TestDatetimePlotting.test_hexbin  r   r   c                 L   dt           j        d<   t          j        ddd          t          j        d          t          j                            ddd          }t          j                            ddd          }t          j                            ddd          }fdt          d	          D             }t          j	        d
dd          \  }\  }}}|
                    fdt          d          D             d|           |
                    fdt          d          D             d|           |
                    fdt          d          D             d|           t          j	        d
dd          \  }\  }	}
}|	
                    fdt          d          D             ||           |

                    fdt          d          D             ||           |
                    fdt          d          D             ||           d S )Nr   r   r   r   r
   r   r'   c                      g | ]
}|z  z   S r   r   r   r   r   
time_deltas     r   r   z2TestDatetimePlotting.test_hist.<locals>.<listcomp>  "    DDDQZ!j.0DDDr   r   r&   Trh   c                      g | ]
}|z  z   S r   r   rR  s     r   r   z2TestDatetimePlotting.test_hist.<locals>.<listcomp>  "    <<<QZ!j.(<<<r   )binsweightsc                      g | ]
}|z  z   S r   r   rR  s     r   r   z2TestDatetimePlotting.test_hist.<locals>.<listcomp>  rW  r   c                      g | ]
}|z  z   S r   r   rR  s     r   r   z2TestDatetimePlotting.test_hist.<locals>.<listcomp>  rW  r   c                      g | ]
}|z  z   S r   r   rR  s     r   r   z2TestDatetimePlotting.test_hist.<locals>.<listcomp>  rW  r   c                      g | ]
}|z  z   S r   r   rR  s     r   r   z2TestDatetimePlotting.test_hist.<locals>.<listcomp>  rW  r   c                      g | ]
}|z  z   S r   r   rR  s     r   r   z2TestDatetimePlotting.test_hist.<locals>.<listcomp>  rW  r   )r-   r.   r   r   r^   r(  r7  r1   r/   r0   hist)r6   values1values2values3	bin_edgesr7   r8   r9   r:   r;   ax5ax6r   rS  s               @@r   	test_histzTestDatetimePlotting.test_hist  s   )2%&&tR33
'Q///
)##Ar2..)##Ar2..)##Ar2..DDDDD%))DDD	"|AqTJJJ_c3<<<<<%))<<< 	 	
 	
 	

 	<<<<<%))<<< 	 	
 	
 	

 	<<<<<%))<<< 	 	
 	
 	
  #|AqTJJJ_c3<<<<<%))<<< 	 	
 	
 	

 	<<<<<%))<<< 	 	
 	
 	

 	<<<<<%))<<< 	 	
 	
 	
 	
 	
r   zTest for hist2d not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   hist2drD   s      r   test_hist2dz TestDatetimePlotting.test_hist2d"  r   r   c           	         dt           j        d<   t          j        ddd          \  }}g d}d t	          d	d
          D             }d t	          ddd          D             }d t	          ddd          D             }d |D             }|d                             |g dg d           |d                             |t          j        ddd          t          j        ddd                     |d                             |||           |d                             |dd           |d                             |g dg d           |d                             |||           |d                             |t          j        ddd          t          j        ddd                     |d                              |dd           d S )!Nr   r   ro   r	   r   r   )z
2023-03-08z
2023-04-09z
2023-05-13z
2023-07-28z
2023-12-24c                 @    g | ]}t          j         d |dz  d          S )r   ro   r   r   )r   ms     r   r   z4TestDatetimePlotting.test_hlines.<locals>.<listcomp>1  s+    GGGa"41b11GGGr   r
   rP   c                 :    g | ]}t          j         d d|          S )r   rP   r   r  s     r   r   z4TestDatetimePlotting.test_hlines.<locals>.<listcomp>2  s'    MMMh'a33MMMr   r$   r'   c                 :    g | ]}t          j         d d|          S )r   r(   r   r  s     r   r   z4TestDatetimePlotting.test_hlines.<locals>.<listcomp>3  s'    KKKaH%dAq11KKKr   c                 6    g | ]}t          j        |          S r   )r^   r_   )r   ss     r   r   z4TestDatetimePlotting.test_hlines.<locals>.<listcomp>4  s"    6662=##666r   )r   r   )rX   g?333333?r\   rQ   )rQ   g333333?rR   g?rY   rS   )r   r
   rH   r   r   rZ   )r   ro   )r   r&   g?g?)r
   r   r  )r
   r
   )r
   r&   )r-   r.   r/   r0   r1   hlinesr   )r6   r7   axsdateStrsr<   
date_startdate_endnpDatess           r   test_hlinesz TestDatetimePlotting.test_hlines(  sY   )2%&<1];;;S" " "
 HG5A;;GGGMMU1b!__MMM
KK5B??KKK66X666D	5777777 	 	9 	9 	9 	D	&/a<<&/a<< 	 	> 	> 	> 	D	(& 	 	( 	( 	( 	D	"" 	 	$ 	$ 	$ 	D	7777777 	 	9 	9 	9 	D	7(& 	 	( 	( 	( 	D	&/a<<&/a<< 	 	> 	> 	> 	D	"" 	 	$ 	$ 	$ 	$ 	$r   c                 4   t          j                    \  }}t          j        t	          d                    }t          j        ddd          }t          j        ddd          }||||f}|                    ||           |                    dd           d S )	Nr$   i  rO   r
   extentr   Z   )axislabelrotation)r/   r0   r^   diagr1   r   imshowtick_params)r6   r7   rE   adt_startdt_endr{  s          r   test_imshowz TestDatetimePlotting.test_imshowN  s    ,..RGE!HH$T2q11"4R00FHf5
		!F	###
Cr22222r   zTest for loglog not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   loglogrD   s      r   test_loglogz TestDatetimePlotting.test_loglogX  r   r   c                 ^   t          j        t          d                    }t          j        ddd          }t          j        ddd          }||||f}t	          j                    \  }}|                    ||           |                                D ]}|                    d           d S )	Nr$     r	   r!   rH   rO   rz  r|  )	r^   r  r1   r   r/   r0   matshowget_xticklabelsset_rotation)r6   r  r  r  r{  r7   rE   r  s           r   test_matshowz!TestDatetimePlotting.test_matshow^  s    GE!HH$T1b11"4R00FHf5,..R


1V
$$$'')) 	# 	#Er""""	# 	#r   zTest for pcolor not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   pcolorrD   s      r   test_pcolorz TestDatetimePlotting.test_pcolori  r   r   z#Test for pcolorfast not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   
pcolorfastrD   s      r   test_pcolorfastz$TestDatetimePlotting.test_pcolorfasto  +     ,..R
cr   z#Test for pcolormesh not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   
pcolormeshrD   s      r   test_pcolormeshz$TestDatetimePlotting.test_pcolormeshu  r  r   c                 x   dt           j        d<   d}t          j        ddd          \  }\  }}}t	          j        d t          d|          D                       }|                    |t          d|                     |                    t          d|          |           |                    ||           d S )	Nr   r   rP   r&   r
   r   r   c                 :    g | ]}t          j         d d|          S r   rN   r   r   ns     r   r   z2TestDatetimePlotting.test_plot.<locals>.<listcomp>  '    IIIh'a33IIIr   )r-   r.   r/   r0   r^   r   r1   r3   r6   Nr7   r8   r9   r:   r   s          r   	test_plotzTestDatetimePlotting.test_plot{      )2%&"|AqGGG_c3HIIU1a[[IIIJJE!QKK   q!a   Ar   c                    dt           j        d<   d}t          j        ddd          \  }\  }}}t	          j        d t          d|          D                       }t	          j        d	 t          d|          D                       }t	          j        t          d|                    }t	          j        t          d|                    }	t          j        t           j	                  5  |
                    ||           |
                    ||	           |
                    ||           d d d            d S # 1 swxY w Y   d S )
Nr   r   r   r&   r
   r   r   c                 :    g | ]}t          j         d d|          S r   r   r   s     r   r   z7TestDatetimePlotting.test_plot_date.<locals>.<listcomp>  r   r   c                 :    g | ]}t          j         d d|          S r   r   r   s     r   r   z7TestDatetimePlotting.test_plot_date.<locals>.<listcomp>  r   r   )r-   r.   r/   r0   r^   r   r1   pytestwarnsMatplotlibDeprecationWarning	plot_date)
r6   r   r7   r8   r9   r:   r   r   r   r   s
             r   test_plot_datez#TestDatetimePlotting.test_plot_date  sv   )2%&"|AqGGG_c3(WWU1o=V=VWWW
 
 (WWU1o=V=VWWW
 
 8E!_55668E!_5566\#:;; 	- 	-MM'7+++MM'8,,,MM(G,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s   *AD::D>D>zTest for quiver not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   quiverrD   s      r   test_quiverz TestDatetimePlotting.test_quiver  r   r   c                 @   dt           j        d<   t          j        ddd          fdt          d          D             }t	          |          }t
          j                            d           t          j        t
          j        	                    |                    }t          j        d	dd
d          \  }}|d                             ||           |d                                         D ],}|                    d           |                    d           -|d                             ||           |d                             ||           |d                                         D ],}|                    d           |                    d           -d S )Nr   r   i  ro   r
   c                 F    g | ]}t          j        d |z            z   S )ro   r   r   )r   r   bases     r   r   z5TestDatetimePlotting.test_scatter.<locals>.<listcomp>  s0    MMMa*!a%9999MMMr   r   r  r&   r   )rP   rP   )r   ri   r   (   r   )r-   r.   r   r1   lenr^   r(  r)  cumsumrandnr/   r0   scatterr  r  set_horizontalalignment)r6   r<   r  rT   r7   rs  r  r  s          @r   test_scatterz!TestDatetimePlotting.test_scatter  s   )2%& q!,,MMMM599MMMJJ
	x   Ibiooa(())<1]FKKKSAua   V++-- 	3 	3Er"""))'2222Aq%   Aue$$$V++-- 	3 	3Er"""))'2222	3 	3r   z!Test for semilogx not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   semilogxrD   s      r   test_semilogxz"TestDatetimePlotting.test_semilogx  +     ,..R
Cr   z!Test for semilogy not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   semilogyrD   s      r   test_semilogyz"TestDatetimePlotting.test_semilogy  r  r   c                 0   dt           j        d<   d}t          j        t          j        d|          d          }t          j        d t          |dz
            D                       }t          j        d          \  }}|	                    ||           d S )	Nr   r   r   r
   )r	   r
   c                 @    g | ]}t          j         d |z   dd          S )rH   r
   r   r   s     r   r   z7TestDatetimePlotting.test_stackplot.<locals>.<listcomp>  s+    RRR(+D1Ha;;RRRr   r   r   )
r-   r.   r^   tiler   r   r1   r/   r0   	stackplot)r6   r  stacked_numsr<   r7   rE   s         r   test_stackplotz#TestDatetimePlotting.test_stackplot  s    )2%&wryA77RRU1q5\\RRRSS,m444R
UL)))))r   c                    dt           j        d<   t          j        ddd          t          j        d          t          j        ddd          }fdt	          d	          D             }t          j        d	          }t
          j                            d
           t
          j        	                    ddd          }fdt
          j        	                    ddd          D             }fdt
          j        	                    ddd          D             }t          j        ddd          \  }\  }}	}
|                    ||           |	                    |||           |
                    |||           d S )Nr   r   r   rf   r
   r   r  c                      g | ]
}|z  z   S r   r   rR  s     r   r   z4TestDatetimePlotting.test_stairs.<locals>.<listcomp>  rT  r   r   i@ d   r'   c                 Z    g | ]'}t          j        t          |                     z   (S r   r   r   intr   s     r   r   z4TestDatetimePlotting.test_stairs.<locals>.<listcomp>  sB     = = =  2A ? ? ?? = = =r   i'  c                 Z    g | ]'}t          j        t          |                     z   (S r   r  r   s     r   r   z4TestDatetimePlotting.test_stairs.<locals>.<listcomp>  sH     B B B  2A ? ? ?? B B Br   ir&   TrU  )edges)r  baseline)r-   r.   r   r   r1   r^   r   r(  r)  r7  r/   r0   stairs)r6   baseline_daterc  edge_intr`  ra  rb  r7   r8   r9   r:   r   rS  s              @@r   test_stairsz TestDatetimePlotting.test_stairs  s   )2%&&tR33
'Q///
 )$155DDDDD%))DDD	9R==
	v)##AsB//= = = =I--a;;= = =B B B BI--feR@@B B B  #|AqTJJJ_c3

7)
,,,

7(]
CCC

7)m
DDDDDr   c                    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        d t          d|          D                       }t          j        d t          d|          D                       }|	                    |||	           |	                    ||d           |	                    |||
           |	                    ||d|	           |	                    ||dd           |	                    ||d|
           d S )Nr   r   rP   r
   r   r   r   r   rN      rO   c                 :    g | ]}t          j         d d|          S r   r   r  s     r   r   z2TestDatetimePlotting.test_stem.<locals>.<listcomp>  '    KKKXtR++KKKr   c                 :    g | ]}t          j         d d|          S r   r   r  s     r   r   z2TestDatetimePlotting.test_stem.<locals>.<listcomp>  r  r   r   r$   r   )r   rJ   )
r-   r.   r/   r0   r   r^   r   r   r1   stem)r6   r7   r8   r9   r:   r;   rd  re  limit_valueabovebelowr   r   r   r   s                  r   	test_stemzTestDatetimePlotting.test_stem  s~   )2%&.1l1a.V.V.V++c3S#s!$2..!$B//9Q,,9Q,,(KKU1k5J5JKKK
 
 (KKU1k5J5JKKK
 
 	'%000(1---751117UKKK(QGGG7UKKKKKr   c                 x   dt           j        d<   d}t          j        ddd          \  }\  }}}t	          j        d t          d|          D                       }|                    |t          d|                     |                    t          d|          |           |                    ||           d S )	Nr   r   rP   r&   r
   r   r   c                 :    g | ]}t          j         d d|          S r  r   r  s     r   r   z2TestDatetimePlotting.test_step.<locals>.<listcomp>  r  r   )r-   r.   r/   r0   r^   r   r1   stepr  s          r   	test_stepzTestDatetimePlotting.test_step  r  r   z#Test for streamplot not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   
streamplotrD   s      r   test_streamplotz$TestDatetimePlotting.test_streamplot  r  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        d t          d|          D                       }
t          j        d t          d|          D                       }|                    |
|	            |j	        |ddfi | |                    ||            |j	        d|dfi | |                    |
|            |j	        ||dfi | d S )Nr   r   r&   r
   r   r   r   serifrf   bold)familysizeweightr   c                 :    g | ]}t          j         d d|          S r   r   r  s     r   r   z2TestDatetimePlotting.test_text.<locals>.<listcomp>  r  r   c                 :    g | ]}t          j         d d|          S r   r   r  s     r   r   z2TestDatetimePlotting.test_text.<locals>.<listcomp>  r  r   r$   zInserted Textr(   )
r-   r.   r/   r0   r   r^   r   r1   r3   r"   )r6   r7   r8   r9   r:   r  font_properties	test_datex_datay_datar   r   s               r   r>   zTestDatetimePlotting.test_text  s   )2%&"|AqGGG_c3%,bFKK%dB22	%;//00%;//00(KKU1k5J5JKKK
 
 (KKU1k5J5JKKK
 
 	&!!!ABB/BBB!!!IBB/BBB'"""IJJ/JJJJJr   z#Test for tricontour not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   
tricontourrD   s      r   test_tricontourz$TestDatetimePlotting.test_tricontour)  r  r   z$Test for tricontourf not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   tricontourfrD   s      r   test_tricontourfz%TestDatetimePlotting.test_tricontourf/  s+     ,..R
sr   z"Test for tripcolor not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   	tripcolorrD   s      r   test_tripcolorz#TestDatetimePlotting.test_tripcolor5  s+     ,..R
Sr   z Test for triplot not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   triplotrD   s      r   test_triplotz!TestDatetimePlotting.test_triplot;  r   r   zTest for violin not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   violinrD   s      r   test_violinz TestDatetimePlotting.test_violinA  r   r   z#Test for violinplot not written yetc                 \    t          j                    \  }}|                    d           d S rB   )r/   r0   
violinplotrD   s      r   test_violinplotz$TestDatetimePlotting.test_violinplotG  r  r   c           	         dt           j        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g dg d           |                    dd
           |                    ddgt          j        d          t          j        d          gt          j        d          t          j        d          g           |                    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	                     d S )Nr   r   r&   r
   r   r   r   rP   r'   r   ro   r   r$   r  )r         ?rQ   )r  rQ   g      ?r   r   rQ   rq  gffffff?z
2023-03-20z
2023-03-31z
2023-05-01z
2023-05-16r(   rf   r   rN   r!   )	r-   r.   r/   r0   r   r   vlinesr^   r_   ra   s        r   test_vlinesz TestDatetimePlotting.test_vlinesM  s   )2%&"|AqGGG_c3(+D!Q77#,T1b99 	 	; 	; 	;

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

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

h'a33X5FtRQS5T5TU )$266 )$266 	 	8 	8 	8 	8 	8r   N)<__name__
__module____qualname__r-   stylecontextr?   r  markxfailrF   rb   r~   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r5  r=  rF  rL  rO  rf  ri  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r>   r  r  r  r  r  r   r  r   r   r   r   r   
   ss       Yy!!W W "!W& [>??Yy!!  "! @? 	Yy!!K K "!K 	Yy!!" " "!"H [?@@Yy!!  "! A@ 	Yy!!K K "!K 	Yy!!" " "!"H 	Yy!!5 5 "!5( 	Yy!!7 7 "!7 	Yy!!' ' "!'. 	Yy!!G G "!G$ [@AAYy!!  "! BA 	Yy!!
: 
: "!
: 	Yy!!4 4 "!4$ [?@@Yy!!  "! A@ 	Yy!!1 1 "!1. 	Yy!!2 2 "!2. 	Yy!! #  # "! #D 	Yy!!*0 *0 "!*0X 	Yy!!# # "!#4 	Yy!! 6  6 "! 6D 	Yy!! 7  7 "! 7D [?@@Yy!!  "! A@ 	Yy!!,
 ,
 "!,
\ [?@@Yy!!  "! A@ 	Yy!!#$ #$ "!#$J 	Yy!!3 3 "!3 [?@@Yy!!  "! A@ 	Yy!!# # "!# [?@@Yy!!  "! A@ [CDDYy!!  "! ED [CDDYy!!  "! ED 	Yy!!  "! 	Yy!!- - "!-& [?@@Yy!!  "! A@ 	Yy!!3 3 "!3* [ABBYy!!  "! CB [ABBYy!!  "! CB 	Yy!!* * "!* 	Yy!!E E "!E* 	Yy!!L L "!L6 	Yy!!  "! [CDDYy!!  "! ED 	Yy!!K K "!K6 [CDDYy!!  "! ED [DEEYy!!  "! FE [BCCYy!!  "! DC [@AAYy!!  "! BA [?@@Yy!!  "! A@ [CDDYy!!  "! ED 	Yy!!8 8 "!8 8 8r   r   )
r   numpyr^   r  matplotlib.pyplotpyplotr/   
matplotlibr-   r   r   r   r   <module>r     s}                   W8 W8 W8 W8 W8 W8 W8 W8 W8 W8r   