
    e                      r    d dl mZ d dlZd dlmZ d dlmZmZm	Z	 d dl
mZ ddlmZmZ  G d d	e          ZdS )
    )SkipTestN)ListedColormap)Image
ImageStackRaster)RGBPlot   )TestMPLPlotmpl_rendererc                   J    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S )TestRasterPlotc                    t          j        g dg dg          }t          |                              d          }t	          j        |          }|j        d         }t           j                            |	                                j
        |j        d d d                    |                                g dk    sJ d S )Nr   r	               Tinvert_axesartist)r   r   r   r   )nparrayr   optsr   get_plothandlestestingassert_equal	get_arraydataT
get_extentselfarrrasterplotr   s        Slib/python3.11/site-packages/holoviews/tests/plotting/matplotlib/test_rasterplot.pytest_raster_invert_axesz&TestRasterPlot.test_raster_invert_axes   s    h			999-..!!d!33$V,,h'

 0 0 2 2 7tttEEE  ""lll222222    c                 z   t          j        g dg dg          }t          j        g dt           j        ddgg          }t          |                              d          }t          j        |          }|j        d         }t           j        	                    |
                                j        |           d S )Nr   r   r	   r   r   nodatar   r   r   nanr   r   r   r   r   r   r   r    r!   r%   r&   expectedr'   r(   r   s         r)   test_raster_nodataz!TestRasterPlot.test_raster_nodata   s    h			999-..8YYY fa^- . . !!!++$V,,h'

 0 0 2 2 7BBBBBr+   c                 ~   t          j        g dg dgd          }t          j        g dt           j        ddgg          }t          |                              d          }t          j        |          }|j        d	         }t           j        	                    |
                                j        |           d S )
Nr   r   uint32)dtyper	   r   r   r-   r   r/   r1   s         r)   test_raster_nodata_uintz&TestRasterPlot.test_raster_nodata_uint    s    h			999-X>>>8YYY fa^- . . !!!++$V,,h'

 0 0 2 2 7BBBBBr+   c                    t          j        g dg dg          }t          |                              d          }t	          j        |          }|j        d         }t           j                            |	                                j
        |j        d d dd d df                    |                                g dk    sJ d S )Nr   r   Tr   r   r   )            ?r9   r:   )r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   s        r)   test_image_invert_axesz%TestRasterPlot.test_image_invert_axes+   s    h			999-..sT22$V,,h'

 0 0 2 2 7tttTTrTz9JKKK  ""&<&<&<<<<<<<r+   c                 >   ddg}t          t          j        g dg dg                                        |          }t	          j        |          }|j        d         }|                                }|                     |t                     |j
        |k    sJ d S )Nz#ffffffz#000000r   r   )cmapr   )r   r   r   r   r   r   r   get_cmapassertIsInstancer   colors)r%   r@   imgr(   r   r=   s         r)   test_image_listed_cmapz%TestRasterPlot.test_image_listed_cmap3   s    I&BHiii34455:::GG$S))h'  dN333{f$$$$$$r+   c                    t          t          j        ddgddgg                                        t	          d                    }t          j        |                    d	                    }|j        d
         j	        dk    sJ d S )Nr   r	   r   r   )r	   r   rangezTcolorbarcbarboth
r   r   r   redimdictr   r   r   r   extendr%   rA   r(   s      r)   test_image_cbar_extend_bothz*TestRasterPlot.test_image_cbar_extend_both<   s    BHq!fq!f-..//5558I8I8I5JJ$SXXtX%<%<==|F#*f444444r+   c                    t          t          j        ddgddgg                                        t	          d                    }t          j        |                    d	                    }|j        d
         j	        dk    sJ d S )Nr   r	   r   r   )r	   NrD   rF   TrH   rJ   minrL   rP   s      r)   test_image_cbar_extend_minz)TestRasterPlot.test_image_cbar_extend_minA       BHq!fq!f-..//5598M8M8M5NN$SXXtX%<%<==|F#*e333333r+   c                    t          t          j        ddgddgg                                        t	          d                    }t          j        |                    d	                    }|j        d
         j	        dk    sJ d S )Nr   r	   r   r   )Nr   rD   rF   TrH   rJ   maxrL   rP   s      r)   test_image_cbar_extend_maxz)TestRasterPlot.test_image_cbar_extend_maxF   rU   r+   c                    t          t          j        ddgddgg                                        t          j        t          j        fd          }t          j        |          }|j        d         j        dk    sJ d S )	Nr   r	   r   r   T)climrI   rJ   neither)	r   r   r   r   r0   r   r   r   rO   rP   s      r)   test_image_cbar_extend_climz*TestRasterPlot.test_image_cbar_extend_climK   sz    BHq!fq!f-..//44&"&!D 5 2 2$S))|F#*i777777r+   c                 H   	 dd l }n# t          $ r t          d          w xY wt          j        dd          }t          j        dd          }t          j        t          j        t          j        dgt          j        gdz  t          j        gdz  g          }t          j        t          j        gdz  ddt          j        gt          j        gdz  g          }t          j        t          j        gdz  t          j        gdz  g dg          }t          |||||fdd	gg d
          }t          j	        |          }|j
        d         }	|	                                j        }
|
j        dk    sJ |	                                g dk    sJ t          |t                     sJ d S )Nr   zTest requires datashaderr   r      r	   )r	   r	   r	   xy)abc)kdimsvdimsr   )r   r   r   )r9   g      @g      @g      @)
datashaderImportErrorr   r   aranger   r0   r   r   r   r   r    r!   shaper#   
isinstancer   )r%   rf   r_   r`   ra   rb   rc   	img_stackr(   r   r   s              r)   test_image_stackzTestRasterPlot.test_image_stackQ   s   	7 	7 	7 	75666	7IaOOIaOOHrvrvq)BF8a<"&AFGGHrvhlQ26NRVHqLABBHrvhlRVHqL)))<==1aAsCjXXX	$Y//h'  ""'{i''''  ""&;&;&;;;;;$(((((((s    !N)__name__
__module____qualname__r*   r3   r7   r;   rB   rQ   rT   rX   r\   rl    r+   r)   r   r      s        3 3 3C C CC C C= = =% % %5 5 5
4 4 4
4 4 4
8 8 8) ) ) ) )r+   r   )unittestr   numpyr   matplotlib.colorsr   holoviews.elementr   r   r   holoviews.plotting.mpl.rasterr   	test_plotr
   r   r   rp   r+   r)   <module>rw      s              , , , , , , 7 7 7 7 7 7 7 7 7 7 1 1 1 1 1 1 0 0 0 0 0 0 0 0V) V) V) V) V)[ V) V) V) V) V)r+   