
    eW#                     ~    d dl Zd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 ddlmZ dd	lmZmZ  G d
 de          ZdS )    N)AbbreviatedException)	NdOverlay)HoloMap)Spikes   )ParamLogStream   )TestMPLPlotmpl_rendererc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )TestSpikesPlotc                 &   t          g d                              d          }t          j        |          }|j        d                                         }|                     |d         d           |                     |d         d           d S )	Nr	   r      皙?paddingaxisr   皙?r	   皙	@r   optsr   get_plothandlesget_xlimassertEqualselfspikesplotx_ranges       Rlib/python3.11/site-packages/holoviews/tests/plotting/matplotlib/test_spikeplot.pytest_spikes_padding_squarez)TestSpikesPlot.test_spikes_padding_square   s    			""'''44$V,,,v&//11S)))S)))))    c                    t          g ddg                              d          }t          j        |          }|j        d                                         |j        d                                         }}|                     |d         d           |                     |d	         d
           |                     |d         d           |                     |d	         d
           d S )N)r	   r	   )r   r   )r   r   Heightvdimsr   r   r   r   r   r	   r   )r   r   r   r   r   r   get_ylimr   r   r   r    r!   y_ranges        r"   "test_spikes_padding_square_heightsz1TestSpikesPlot.test_spikes_padding_square_heights   s    000
CCCHHQTHUU$V,,</88::DL<P<Y<Y<[<[S)))S)))Q'''S)))))r$   c                 X   t          g d          j                            d                              d          }t	          j        |          }|j        d                                         }|                     |d         d           |                     |d         d	           d S 
Nr   )r   r   )xr   r   r   r   r	   r   )	r   redimranger   r   r   r   r   r   r   s       r"   test_spikes_padding_hard_xrangez.TestSpikesPlot.test_spikes_padding_hard_xrange   s    			""(...88==c=JJ$V,,,v&//11Q'''Q'''''r$   c                 X   t          g d          j                            d                              d          }t	          j        |          }|j        d                                         }|                     |d         d           |                     |d         d	           d S r/   )	r   r1   
soft_ranger   r   r   r   r   r   r   s       r"   test_spikes_padding_soft_xrangez.TestSpikesPlot.test_spikes_padding_soft_xrange&   s    			""(33f3==BB3BOO$V,,,v&//11Q'''Q'''''r$   c                 &   t          g d                              d          }t          j        |          }|j        d                                         }|                     |d         d           |                     |d         d           d S )	Nr   )g?r   r   r   r   ?r	   @r   r   s       r"   test_spikes_padding_unequalz*TestSpikesPlot.test_spikes_padding_unequal-   s    			""'''<<$V,,,v&//11S)))S)))))r$   c                 (   t          g d                              dd          }t          j        |          }|j        d                                         }|                     |d         d           |                     |d         d	           d S )
Nr   r   r   r   aspectr   r   r8   r	   r9   r   r   s       r"   test_spikes_padding_nonsquarez,TestSpikesPlot.test_spikes_padding_nonsquare4   s    			""''A'>>$V,,,v&//11S)))S)))))r$   c                 (   t          g d                              dd          }t          j        |          }|j        d                                         }|                     |d         d           |                     |d         d	           d S )
Nr&   r   T)r   logxr   r   g9r?r	   gu
@r   r   s       r"   test_spikes_padding_logxz'TestSpikesPlot.test_spikes_padding_logx;   s    ///0055c5MM$V,,,v&//11%8999%788888r$   c                 R   t          d t          dd          D                                           d          }t          j        |          }|j        d                                         }|                     |d         d           |                     |d         d	           d S )
Nc                 <    g | ]}t          j        d |z            S z2016-04-0%dnp
datetime64.0is     r"   
<listcomp>zFTestSpikesPlot.test_spikes_padding_datetime_square.<locals>.<listcomp>C   '    OOOa}q'899OOOr$   r	      r   r   r   r   3333~@̌@r   r2   r   r   r   r   r   r   r   s       r"   #test_spikes_padding_datetime_squarez2TestSpikesPlot.test_spikes_padding_datetime_squareB   s    OO5A;;OOOPPUU V 
 
 $V,,,v&//11W---W-----r$   c                    t          d t          dd          D             dg                              d          }t          j        |          }|j        d                                         |j        d                                         }}|                     |d	         d
           |                     |d         d           |                     |d	         d	           |                     |d         d           d S )Nc                 @    g | ]}t          j        d |z            |fS rD   rE   rH   s     r"   rK   zNTestSpikesPlot.test_spikes_padding_datetime_square_heights.<locals>.<listcomp>L   s,    TTT1"-(9::A>TTTr$   r	   rM   r'   r(   r   r   r   r   rN   rO   r   )	r   r2   r   r   r   r   r   r*   r   r+   s        r"   +test_spikes_padding_datetime_square_heightsz:TestSpikesPlot.test_spikes_padding_datetime_square_heightsK   s    TTaQRTTT]e\fgggll m 
 
 $V,,</88::DL<P<Y<Y<[<[W---W---Q'''S)))))r$   c                 T   t          d t          dd          D                                           dd          }t          j        |          }|j        d                                         }|                     |d         d	           |                     |d         d
           d S )Nc                 <    g | ]}t          j        d |z            S rD   rE   rH   s     r"   rK   zITestSpikesPlot.test_spikes_padding_datetime_nonsquare.<locals>.<listcomp>W   rL   r$   r	   rM   r   r   r<   r   r   g~@gffff@rP   r   s       r"   &test_spikes_padding_datetime_nonsquarez5TestSpikesPlot.test_spikes_padding_datetime_nonsquareV   s    OO5A;;OOOPPUU V 
 
 $V,,,v&//11W---W-----r$   c           	          t          g dddg                              d          }t          j        |          }|j        d         }|                     |                                t          j        g dg dg d	g                     d S )
N)r   r   z#000000)r   r	   #FF0000)r   r   #00FF00ycolorr(   r]   artistr   r   r   r	   r	   r   r   r	   r   r	   r   r	   )	r   r   r   r   r   r   get_edgecolorsrF   arrayr   r   r    r_   s       r"   test_spikes_color_opz#TestSpikesPlot.test_spikes_color_opc   s    QQQ%('N4 4 448DwD4G4G 	$V,,h'..00"(LL,,,<6 3
 3
 	 	 	 	 	r$   c           	         t          t          g dddg          t          g dddg          d                              d          }t          j        |          }|j        d         }|                     |                                t          j	        g d	g d
g dg                     |
                    d           |                     |                                t          j	        g d
g dg dg                     d S )NrY   r\   r]   r(   ))r   r   rZ   )r   r	   r[   )r   r   z#0000FFr   r	   r^   r_   r`   ra   rb   r	   r   r   r	   r	   )r   r   r   r   r   r   r   rc   rF   rd   updatere   s       r"   test_spikes_color_op_updatez*TestSpikesPlot.test_spikes_color_op_updatel   sG   OOO 'N, , ,OOO 'N, , ,- - . . /3dd.A.A	 	
 $V,,h'..00"(LL,,,<6 3
 3
 	 	 	 	D..00"(LL,,,<6 3
 3
 	 	 	 	 	r$   c                    t          g dddg                              d          }t          j        |          }|j        d         }|                     t          j        |                                          t          j	        g d                     |                     |
                                d           d S )	N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   rF   asarray	get_arrayrd   get_climre   s       r"   test_spikes_linear_color_opz*TestSpikesPlot.test_spikes_linear_color_op|   s    999"Gn. . ..2dd.A.A 	$V,,h'F$4$4$6$677)))9L9LMMM**F33333r$   c                    t          t          g dddg          t          g dddg          d                              dd          }t          j        |          }|j        d	         }|                     t          j        |	                                          t          j
        g d
                     |                     |                                d           |                    d           |                     t          j        |	                                          t          j
        g d                     |                     |                                d           d S )N)r   r         ?)r   r	   r   )r   r   ?r\   r]   r(   )r   r   r   )r   r	   r   )r   r   333333?rh   T)r]   	framewiser_   rw   r   rx   )rw   r   ri   r   r   rz   )r   r   )r   r   r   r   r   r   r   rF   rq   rr   rd   rs   rk   re   s       r"   "test_spikes_linear_color_op_updatez1TestSpikesPlot.test_spikes_linear_color_op_update   s_   === 'N, , ,=== 'N, , ,- - . . /3dDd.Q.Q	 	
 $V,,h'F$4$4$6$677///9R9RSSS**J777DF$4$4$6$677///9R9RSSS**J77777r$   c                    t          g dddg                              d          }t          j        |          }|j        d         }|                     t          j        |                                          t          j	        g d                     |                     |
                                d           d S )	N))r   r   A)r   r	   B)r   r   r   r\   r]   r(   r^   r_   )r   r	   r   rh   rp   re   s       r"    test_spikes_categorical_color_opz/TestSpikesPlot.test_spikes_categorical_color_op   s    ???"Gn. . ..2dd.A.A 	$V,,h'F$4$4$6$677)))9L9LMMM**F33333r$   c                     t          g dddg                              d          }d}t          j        t          |          5  t          j        |           d d d            d S # 1 swxY w Y   d S )N)ro   )r   r	   g?)r   r   gffffff?r\   alphar(   )r   z4ValueError: Mapping a dimension to the "alpha" style)match)r   r   pytestraisesr   r   r   )r   r   msgs      r"   test_spikes_alpha_opz#TestSpikesPlot.test_spikes_alpha_op   s    ===%('N4 4 448DwD4G4G 	D]/s;;; 	* 	*!&)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   A))A-0A-c                     t          g dddg                              d          }t          j        |          }|j        d         }|                     |                                g d           d S )N))r   r   r	   )r   r	   rM   )r   r      r\   
line_widthr(   	linewidthr_   )r	   rM   r   )r   r   r   r   r   r   get_linewidthsre   s       r"   test_spikes_line_width_opz(TestSpikesPlot.test_spikes_line_width_op   s    999%(,$79 9 99=9U9U 	$V,,h'..00)))<<<<<r$   c                    t          t          g dddg          t          g dddg          d                              d          }t          j        |          }|j        d         }|                     |                                g d	           |                    d
           |                     |                                g d           d S )Nrv   r\   r   r(   ry   rh   r   r_   r|   ri   r}   )	r   r   r   r   r   r   r   r   rk   re   s       r"    test_spikes_line_width_op_updatez/TestSpikesPlot.test_spikes_line_width_op_update   s    === ,/1 1 1=== ,/1 1 12 2 3 3 484,43O3O	 	
 $V,,h'..00///BBBD..00///BBBBBr$   c                    ddg}t          d t          |          D             d                              dd          }t          j        |          }ddg}t          |j                                        |          D ]Q\  }}|j        d	         	                                }|D ]*}| 
                    |                                |           +Rd S )
Nblueredc           	      ^    i | ]*\  }}|t          t          j        |d z                       +S )r   )r   rF   arange)rI   rJ   r]   s      r"   
<dictcomp>z:TestSpikesPlot.test_op_ndoverlay_value.<locals>.<dictcomp>   sH     @ @ @!)E #F29QqS>>$:$: @ @ @r$   Colorr   r^   rj   ra   r_   )r   	enumerater   r   r   zipsubplotsvaluesr   get_childrenr   get_facecolor)r   colorsoverlayr    subplotr]   childrencs           r"   test_op_ndoverlay_valuez&TestSpikesPlot.test_op_ndoverlay_value   s   % @ @-6v->->@ @ @AHJ JJN$%-W KO K K 	 $W---!$-"6"6"8"86BB 	; 	;NGUx0==??H ; ;  !2!2E::::;	; 	;r$   c                 0   t          g dddg                              dd          }t                      5 }t          j        |           d d d            n# 1 swxY w Y   |j                                        }d}|                     ||           d S )Nrn   r\   r]   r(   )r]   color_indexzThe `color_index` parameter is deprecated in favor of color style mapping, e.g. `color=dim('color')` or `line_color=dim('color')`
Cannot declare style mapping for 'color' option and declare a color_index; ignoring the color_index.
)r   r   r   r   r   streamreadr   )r   r   loglog_msgwarnings        r"   #test_spikes_color_index_color_clashz2TestSpikesPlot.test_spikes_color_index_color_clash   s    999"Gn. . ..2dgd.V.V 	 	*!&)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	**//##X 	
 	'*****s   AA!AN)__name__
__module____qualname__r#   r-   r3   r6   r:   r>   rA   rQ   rT   rW   rf   rl   rt   r~   r   r   r   r   r   r    r$   r"   r   r      sC       * * ** * *( ( (( ( (* * ** * *9 9 9. . .	* 	* 	*. . .     4 4 48 8 84 4 4* * *= = =
C 
C 
C; ; ;+ + + + +r$   r   )numpyrF   r   holoviews.core.optionsr   holoviews.core.overlayr   holoviews.core.spacesr   holoviews.elementr   utilsr   	test_plotr
   r   r   r   r$   r"   <module>r      s         7 7 7 7 7 7 , , , , , , ) ) ) ) ) ) $ $ $ $ $ $ " " " " " " 0 0 0 0 0 0 0 0@+ @+ @+ @+ @+[ @+ @+ @+ @+ @+r$   