
    eE                     h    d dl Zd dlZd dlZd dlmZmZ ddl	m
Z
 ddlmZmZ  G d de
e          ZdS )	    N)AreaOverlay   )LoggingComparisonTestCase   )TestBokehPlotbokeh_rendererc                   h    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S )TestAreaPlotc                    t          dddt          j        dddg          }t          j        |          }|j        d         }|                     |j        d         t          j        d	d
ddd
d	t          j        ddddddg                     |                     |j        d         t          j        d	d	d	ddd
t          j        d	d	d	dddg                     d S )Nr      r            cdsx              ?       @      @      @      @y      @      @)	r   npnanr	   get_plothandlesassertEqualdataarrayselfareaplotr   s       Llib/python3.11/site-packages/holoviews/tests/plotting/bokeh/test_areaplot.pytest_area_with_nansz TestAreaPlot.test_area_with_nans   s    Q1bfaA.//&t,,l5!#"b"b"b"&24b"b"b2J )K )K 	L 	L 	L#"b"b"b"&24b"b"b2J )K )K 	L 	L 	L 	L 	L    c                     t          g           }t          j        |          }|j        d         }|                     |j        d         g            |                     |j        d         g            d S )Nr   r   r   )r   r	   r   r   r    r!   r#   s       r'   test_area_emptyzTestAreaPlot.test_area_empty   sg    Bxx&t,,l5!#+++#+++++r)   c                 @   d t          dd          D             }|                    t          j        d          t          j        f           |d t          dd          D             z  }t          |          }t          j        |          }|j        d         }t          j	        g dd	
          }t          j	        ddddddt          j        ddddg          }| 
                    |j        d         |           | 
                    |j        d         |           d S )Nc           	      b    g | ],}t          j        t          j        d d|                    |f-S i  r   r   
datetime64dtdatetime.0is     r'   
<listcomp>z7TestAreaPlot.test_area_datetime_nat.<locals>.<listcomp>   s5    SSS!2=T1a!8!8991=SSSr)   r      natc           	      b    g | ],}t          j        t          j        d d|                    |f-S r.   r/   r3   s     r'   r6   z7TestAreaPlot.test_area_datetime_nat.<locals>.<listcomp>!   s5    TTT1BM"+dAq"9"9::A>TTTr)   r   r   )2017-01-01T00:00:00.0000000002017-01-02T00:00:00.0000000002017-01-03T00:00:00.000000000r<   r;   r:   NaT2017-01-04T00:00:00.0000000002017-01-05T00:00:00.000000000r?   r>   zdatetime64[ns])dtyper   r   r   r   r   r   r   r   )rangeappendr   r0   r   r   r	   r   r   r"   r    r!   )r$   valuesr%   r&   r   xsyss          r'   test_area_datetime_natz#TestAreaPlot.test_area_datetime_nat   s%   SSuQPQ{{SSSr}U++RV4555TTaQRTTTTF||&t,,l5!X 
 
 
 "# # # Xb2R"rB
   	#+++#+++++r)   c                    t          g d                              d          }t          j        |          }|j        d         |j        d         }}|                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d           d S )	Nr   r   )r   r   r   r   皙?paddingx_rangey_range皙?皙	@r   r   optsr	   r   r   r    startendr$   r%   r&   rN   rO   s        r'   test_area_padding_squarez%TestAreaPlot.test_area_padding_square4   s    ,,,--2232??&t,,<	2DL4K,,,c******c*****r)   c                    t          g d                              d          }t          j        |          }|j        d         |j        d         }}|                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d	           d S )
NrH   ))r   rK   )rK   g?rL   rN   rO   r   rQ   r   g333333@rR   rV   s        r'   !test_area_padding_square_per_axisz.TestAreaPlot.test_area_padding_square_per_axis=   s    ,,,--22;Q2RR&t,,<	2DL4K,,,c******c*****r)   c                    t          g dddg                              d          }t          j        |          }|j        d         |j        d         }}|                     |j        d	           |                     |j        d
           |                     |j        d           |                     |j        d           d S )N))r   g      ?r   )r   g      ?r   )r   g      @r   r   y2)vdimsrK   rL   rN   rO   rP   rQ   g      ?g      
@rR   rV   s        r'   test_area_with_lower_vdimz&TestAreaPlot.test_area_with_lower_vdimF   s    ;;;C;OOOTT]`Taa&t,,<	2DL4K,,,c***---d+++++r)   c                    t          g d                              d          }t          j        |          }|j        d         |j        d         }}|                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d	           d S )
N))r   r   )r   rK   rL   rN   rO   rP   rQ   g	r   rR   rV   s        r'   test_area_padding_negativez'TestAreaPlot.test_area_padding_negativeO   s    ///0055c5BB&t,,<	2DL4K,,,c***---a(((((r)   c                    t          g d                              d          }t          j        |          }|j        d         |j        d         }}|                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d	           d S )
N)rI   r`   rJ   rK   rL   rN   rO   rP   rQ   g            @rR   rV   s        r'   test_area_padding_mixedz$TestAreaPlot.test_area_padding_mixedX   s    ---..33C3@@&t,,<	2DL4K,,,c***---c*****r)   c                    t          g d          j                            d                              d          }t	          j        |          }|j        d         |j        d         }}|                     |j        d           |                     |j	        d	           |                     |j        d
           |                     |j	        d           d S )NrH   )r   r7   r   rK   rL   rN   rO   rP   rQ   r   r7   )
r   redimrA   rS   r	   r   r   r    rT   rU   rV   s        r'   test_area_padding_hard_rangez)TestAreaPlot.test_area_padding_hard_rangea   s    ,,,--399F9CCHHQTHUU&t,,<	2DL4K,,,c******a(((((r)   c                    t          g d          j                            d                              d          }t	          j        |          }|j        d         |j        d         }}|                     |j        d           |                     |j	        d	           |                     |j        d
           |                     |j	        d           d S )NrH   )r   re   rh   rK   rL   rN   rO   rP   rQ   r   re   )
r   ri   
soft_rangerS   r	   r   r   r    rT   rU   rV   s        r'   test_area_padding_soft_rangez)TestAreaPlot.test_area_padding_soft_rangej   s    ,,,--3>>>JJOOX[O\\&t,,<	2DL4K,,,c******c*****r)   c                    t          g d                              dd          }t          j        |          }|j        d         |j        d         }}|                     |j        d           |                     |j        d           |                     |j        d	           |                     |j        d
           d S )NrH   rK   iX  )rM   widthrN   rO   g?g@r   rQ   rR   rV   s        r'   test_area_padding_nonsquarez(TestAreaPlot.test_area_padding_nonsquares   s    ,,,--223c2JJ&t,,<	2DL4K,,,c******c*****r)   c                    t          g d                              dd          }t          j        |          }|j        d         |j        d         }}|                     |j        d           |                     |j        d           |                     |j        d	           |                     |j        d
           d S )NrH   rK   T)rM   logxrN   rO   g9r?u
@r   rQ   rR   rV   s        r'   test_area_padding_logxz#TestAreaPlot.test_area_padding_logx|   s    +++,,11#D1II&t,,<	2DL4K(;<<<&8999***c*****r)   c                    t          g d                              dd          }t          j        |          }|j        d         |j        d         }}|                     |j        d           |                     |j        d           |                     |j        d	           |                     |j        d
           | j        	                    dd           d S )NrH   rK   T)rM   logyrN   rO   rP   rQ   g{Gz?rs   WARNINGz2Logarithmic axis range encountered value less than)
r   rS   r	   r   r   r    rT   rU   log_handlerassertContainsrV   s        r'   test_area_padding_logyz#TestAreaPlot.test_area_padding_logy   s    ,,,--223T2JJ&t,,<	2DL4K,,,c***---&8999''	3ghhhhhr)   c                    t          j        g d          }t          j        g d          }t          j        g d          }t          dd          }t          |fddi|}t          |fdd	i|}t          |fdd
i|}t          j        ||z  |z            }d |j        D             }|                     |g d           d S )N)r   r   r   r         ,         i	  i
    x   o   )   !   /      ~   y      r   r         r   n      )   +   
      r|   e   r                        timememory)kdimsr\   labelpythonpypyjythonc                     g | ]
}|d          S )r    )r4   ns     r'   r6   z1TestAreaPlot.test_area_legend.<locals>.<listcomp>   s    ---1!A$---r)   )PythonPypyJython)r   r"   dictr   stackr!   r    )r$   r   r   r   dimsoverlaylabelss          r'   test_area_legendzTestAreaPlot.test_area_legend   s    VVVWWxZZZ[[[[[\\&111f55H555D///$//f55H555*Vd]V344-----!=!=!=>>>>>r)   c                    t          j        g dg dg dg dd          t          fddD                       }t          j        |          }t          j        g d          t          j        g d          t          j        g d	          g}t          |j        |          D ]B\  }}| 	                    |j        |         j        j
                                        |           Cd S )
N)r   r   r   )r   r7   r   )   r   r   )r   y_1y_2y_3c                 6    g | ]}t          d ||          S )r   )r   r\   r   )r   )r4   coldfs     r'   r6   z6TestAreaPlot.test_area_stack_vdims.<locals>.<listcomp>   s*    fff4#SDDDfffr)   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )pd	DataFramer   r   r   r   r"   zipr!   r    Baselineto_numpy)r$   r   r&   	baselinesr   baseliner   s         @r'   test_area_stack_vdimsz"TestAreaPlot.test_area_stack_vdims   s    \			)))IIIV_V_V_``aaffffPefffggz'""Xiii(("(<<<*@*@"(<<<BXBXY	ty)44 	N 	NKAxTYq\.7@@BBHMMMM	N 	Nr)   N)__name__
__module____qualname__r(   r+   rF   rW   rY   r]   rc   rf   rj   rm   rp   rt   rz   r   r   r   r)   r'   r   r      s        L L L, , ,, , ,,+ + ++ + +, , ,) ) )+ + +) ) )+ + ++ + ++ + +i i i? ? ?N N N N Nr)   r   )r2   r1   numpyr   pandasr   holoviews.elementr   r   utilsr   	test_plotr   r	   r   r   r)   r'   <module>r      s                + + + + + + + + . . . . . . 4 4 4 4 4 4 4 4WN WN WN WN WN,m WN WN WN WN WNr)   