
    e
                     `    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   )TestMPLPlotmpl_rendererc                   P    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S )TestAreaPlotc                    t          g d                              d          }t          j        |          }|j        d                                         |j        d                                         }}|                     |d         d           |                     |d         d           |                     |d         d           |                     |d         d           d S )	Nr   r   )   r   r   r   皙?paddingaxisr   皙?r   皙	@r   optsr	   get_plothandlesget_xlimget_ylimassertEqualselfareaplotx_rangey_ranges        Qlib/python3.11/site-packages/holoviews/tests/plotting/matplotlib/test_areaplot.pytest_area_padding_squarez%TestAreaPlot.test_area_padding_square   s    ,,,--2232??$T**</88::DL<P<Y<Y<[<[S)))S)))Q'''S)))))    c                    t          g d                              d          }t          j        |          }|j        d                                         |j        d                                         }}|                     |d         d           |                     |d         d           |                     |d         d           |                     |d         d           d S )	Nr   ))r   r   )r   g?r   r   r   r   r   g333333@r   r   s        r$   !test_area_padding_square_per_axisz.TestAreaPlot.test_area_padding_square_per_axis   s    ,,,--22;Q2RR$T**</88::DL<P<Y<Y<[<[Q'''S)))Q'''S)))))r&   c                    t          g dddg                              d          }t          j        |          }|j        d                                         |j        d                                         }}|                     |d         d	           |                     |d
         d           |                     |d         d           |                     |d
         d           d S )N))r   g      ?r   )r   g      ?r   )r   g      @r   yy2)vdimsr   r   r   r   r   r   r   g      ?g      
@r   r   s        r$   test_area_with_lower_vdimz&TestAreaPlot.test_area_with_lower_vdim   s    ;;;C;OOOTT]`Taa$T**</88::DL<P<Y<Y<[<[S)))S)))T***T*****r&   c                    t          g d                              d          }t          j        |          }|j        d                                         |j        d                                         }}|                     |d         d           |                     |d         d           |                     |d         d	           |                     |d         d           d S )
N))r   r   )r   r   r   r   r   r   r   r   g	r   r   s        r$   test_area_padding_negativez'TestAreaPlot.test_area_padding_negative'   s    ///0055c5BB$T**</88::DL<P<Y<Y<[<[S)))S)))T***Q'''''r&   c                    t          g d                              d          }t          j        |          }|j        d                                         |j        d                                         }}|                     |d         d           |                     |d         d           |                     |d         d	           |                     |d         d
           d S )N)r   r0   r   r   r   r   r   r   r   r   g            @r   r   s        r$   test_area_padding_mixedz$TestAreaPlot.test_area_padding_mixed0   s    ---..33C3@@$T**</88::DL<P<Y<Y<[<[S)))S)))T***S)))))r&   c                    t          g d          j                            d                              d          }t	          j        |          }|j        d                                         |j        d                                         }}| 	                    |d         d           | 	                    |d	         d
           | 	                    |d         d           | 	                    |d	         d           d S )Nr   )r      r*   r   r   r   r   r   r   r   r8   )
r   redimranger   r	   r   r   r   r   r   r   s        r$   test_area_padding_hard_rangez)TestAreaPlot.test_area_padding_hard_range9   s    ,,,--399F9CCHHQTHUU$T**</88::DL<P<Y<Y<[<[S)))S)))Q'''Q'''''r&   c                    t          g d          j                            d                              d          }t	          j        |          }|j        d                                         |j        d                                         }}| 	                    |d         d           | 	                    |d	         d
           | 	                    |d         d           | 	                    |d	         d           d S )Nr   )r   r5   r9   r   r   r   r   r   r   r   r5   )
r   r:   
soft_ranger   r	   r   r   r   r   r   r   s        r$   test_area_padding_soft_rangez)TestAreaPlot.test_area_padding_soft_rangeB   s    ,,,--3>>>JJOOX[O\\$T**</88::DL<P<Y<Y<[<[S)))S)))Q'''S)))))r&   c                    t          g d                              dd          }t          j        |          }|j        d                                         |j        d                                         }}|                     |d         d           |                     |d         d	           |                     |d         d           |                     |d         d
           d S )Nr   r   r   )r   aspectr   r   g?r   g@r   r   r   s        r$   test_area_padding_nonsquarez(TestAreaPlot.test_area_padding_nonsquareK   s    ,,,--223q2II$T**</88::DL<P<Y<Y<[<[S)))S)))Q'''S)))))r&   c                    t          g d                              dd          }t          j        |          }|j        d                                         |j        d                                         }}|                     |d         d           |                     |d         d	           |                     |d         d           |                     |d         d
           d S )Nr   r   T)r   logxr   r   g9r?r   u
@r   r   r   s        r$   test_area_padding_logxz#TestAreaPlot.test_area_padding_logxT   s    +++,,11#D1II$T**</88::DL<P<Y<Y<[<[%8999%7888Q'''S)))))r&   c                    t          g d                              dd          }t          j        |          }|j        d                                         |j        d                                         }}|                     |d         d           |                     |d         d	           |                     |d         d
           |                     |d         d           | j        	                    dd           d S )Nr   r   T)r   logyr   r   r   r   r   g_$?rE   WARNINGz2Logarithmic axis range encountered value less than)
r   r   r	   r   r   r   r   r   log_handlerassertContainsr   s        r$   test_area_padding_logyz#TestAreaPlot.test_area_padding_logy]   s    ,,,--223T2JJ$T**</88::DL<P<Y<Y<[<[S)))S)))%8999%7888''	3ghhhhhr&   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   )   r8   r   )   r   r   )xy_1y_2y_3c                 6    g | ]}t          d ||          S )rP   )kdimsr,   label)r   ).0coldfs     r$   
<listcomp>z6TestAreaPlot.test_area_stack_vdims.<locals>.<listcomp>i   s*    fff4#SDDDfffr&   )rQ   rR   rS   )r   r   r   )g      ?g       @g      @)g      @g      @g      @)pd	DataFramer   r   stacknparrayzipdatar   Baselineto_numpy)r   overlayr!   	baselinesnbaselinerY   s         @r$   test_area_stack_vdimsz"TestAreaPlot.test_area_stack_vdimsg   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(   r-   r3   r6   r<   r?   rB   rF   rL   rh    r&   r$   r   r   
   s        * * ** * *+ + +( ( (* * *( ( (* * ** * ** * *i i iN N N N Nr&   r   )numpyr^   pandasr[   holoviews.elementr   r   utilsr   	test_plotr   r	   r   rl   r&   r$   <module>rr      s            + + + + + + + + . . . . . . 0 0 0 0 0 0 0 0cN cN cN cN cN,k cN cN cN cN cNr&   