
    en#                         d dl Zd dlmZ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 dd	lmZ d
dlmZmZ  G d de          ZdS )    N)CategoricalColorMapperLinearColorMapper)	Dimension)Cycle)HoloMapLabels)property_to_dict   )ParamLogStream   )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 )TestLabelsPlotc                    t          ddg          }t          j        |          }|j        d         }|j        d         }t	          j        ddg          t	          j        ddg          ddgd	}|                                D ]&\  }}|                     |j        |         |           '|                     |j	        d
           |                     |j
        d           |                     |j        d           d S )Nr   r   Ar   r   Bsourceglyphr   r   r   r   xyLabelr   r   r   r	   r   get_plothandlesnparrayitemsassertEqualdatar   r   textselflabelsplotr   r   expectedkvalss           Jlib/python3.11/site-packages/holoviews/tests/plotting/bokeh/test_labels.pytest_labels_simplez!TestLabelsPlot.test_labels_simple   s    k233&v..h'W%1a&))!Q0@0@!3Z) )~~'' 	3 	3GAtV[^T2222#&&&#&&&W-----    c                    t          g           }t          j        |          }|j        d         }|j        d         }t	          j        g           t	          j        g           g d}|                                D ]&\  }}|                     |j        |         |           '|                     |j	        d           |                     |j
        d           |                     |j        d           d S )Nr   r   r   r   r   r   r   r&   s           r-   test_labels_emptyz TestLabelsPlot.test_labels_empty   s    &v..h'W%"BHRLL2FF~~'' 	3 	3GAtV[^T2222#&&&#&&&W-----r/   c                 $   t          dd           }t          ddg|          }t          j        |          }|j        d         }|j        d         }t          j        d	d
g          t          j        d
d	g          ddgd}|                                D ]&\  }}|                     |j	        |         |           '|                     |j
        d           |                     |j        d           |                     |j        d           d S )Nr%   c                 
    | dS )Nz.1f )r   s    r-   <lambda>z6TestLabelsPlot.test_labels_formatter.<locals>.<lambda>*   s
    1

 r/   )value_formatr   r   群1ZGU?r   r   群1ZGU?vdimsr   r   r   r   z0.3z0.7)r   r   r%   r   r   )r   r	   r   r   r   r    r!   r"   r#   r$   r   r   r%   )	r'   vdimr(   r)   r   r   r*   r+   r,   s	            r-   test_labels_formatterz$TestLabelsPlot.test_labels_formatter)   s   .B.BCCC/:$GGG&v..h'W%1a&))!Q0@0@"EN, ,~~'' 	3 	3GAtV[^T2222#&&&#&&&V,,,,,r/   c                 $   t          ddg                              d          }t          j        |          }|j        d         }|j        d         }t          j        ddg          t          j        ddg          d	d
gd}|                                D ]&\  }}|                     |j	        |         |           '|                     |j
        d           |                     |j        d           |                     |j        d           d S )Nr   r   T)invert_axesr   r   r   r   r   r   r   r   r   r   )r	   optsr   r   r   r    r!   r"   r#   r$   r   r   r%   r&   s           r-   test_labels_invertedz#TestLabelsPlot.test_labels_inverted7   s   k23388T8JJ&v..h'W%1a&))!Q0@0@CQT:VV~~'' 	3 	3GAtV[^T2222#&&&#&&&W-----r/   c                 *   t          ddg                              d          }t          j        |          }|j        d         }|j        d         }|j        d         }t          j        dd	g          t          j        d	dg          d
dgt          j        ddg          d}|                                D ]&\  }}|                     |j	        |         |           '|                     |j
        d           |                     |j        d           |                     |j        d           |                     t          |j                  d|d           |                     |j        d           |                     |j        d           d S )Nr7   r9   r   color_indexr   r   color_mapperr   r   0.333330.66666r8   r:   )r   r   r   
text_colorr   r   r   rI   field	transformr	   rA   r   r   r   r    r!   r"   r#   r$   r   r   r%   r
   rI   lowhigh	r'   r(   r)   r   r   cmapperr*   r+   r,   s	            r-   "test_labels_color_mapped_text_valsz1TestLabelsPlot.test_labels_color_mapped_text_valsC   s   /:;;@@Q@OO&v..h'W%,~.1a&))!Q0@0@'3"$(GW+=">">@ @  ~~'' 	3 	3GAtV[^T2222#&&&#&&&W---)%*:;;|bi=j=jkkkg...w/////r/   c                 2   t          ddgddg                              d          }t          j        |          }|j        d         }|j        d	         }|j        d
         }t          j        ddg          t          j        ddg          ddgt          j        ddg          d}|                                D ]&\  }}|                     |j	        |         |           '|                     |j
        d           |                     |j        d           |                     |j        d           |                     t          |j                  d|d           |                     |j        d           |                     |j        d           d S )N)r   r   r8   r   )r   r   r:   r   r%   colorr;      rD   r   r   rF   r   r   rG   rH   r   )r   r   r%   rT   r   r   rJ   rM   rP   s	            r-   test_labels_color_mappedz'TestLabelsPlot.test_labels_color_mappedU   s   +-?@QXHYZZZ__lm_nn&v..h'W%,~.1a&))!Q0@0@&	2Xq!f--/ /  ~~'' 	3 	3GAtV[^T2222#&&&#&&&V,,,)%*:;;w]d=e=efffa(((q)))))r/   c                 n   t          g dd                              d          }t          j        |          }|j        d         }|j        d         }|                     |j        d         t          j        g d                     |                     t          |j
                  d	di           d S )
N))r   r   #000)r   r   #F00)r   r   #0F0rT   r;   rI   cdsr   rI   )rX   rY   rZ   rK   )r	   rA   r   r   r   r#   r$   r    r!   r
   rI   r'   r(   r)   r\   r   s        r-   test_label_color_opz"TestLabelsPlot.test_label_color_opk   s    HHH%' ' ''+twt'?'? 	&v..l5!W%,/:R:R:R1S1STTT)%*:;;g|=TUUUUUr/   c                 ,   t          g dd                              d          }t          j        |          }|j        d         }|j        d         }|j        d         }|                     |t                     |                     |j        d           |                     |j	        d	           |                     |j
        d
         t          j        g d                     |                     t          |j                  d
|d           d S )Nr   r   r   )r   r   r   )r   r   r   rT   r;   r[   r\   r   text_color_color_mapperr   r   rI   )r   r   r   rJ   )r	   rA   r   r   r   
assertTruer   r#   rN   rO   r$   r    r!   r
   rI   r'   r(   r)   r\   r   rQ   s         r-   test_label_linear_color_opz)TestLabelsPlot.test_label_linear_color_opt   s
   999%' ' ''+twt'?'? 	&v..l5!W%,89!2333a(((q))),/)))1D1DEEE)%*:;;|bi=j=jkkkkkr/   c                    t          g dd                              d          }t          j        |          }|j        d         }|j        d         }|j        d         }|                     |t                     |                     |j        g d           |                     |j	        d	         t          j        g d                     |                     t          |j                  d	|d
           d S )N))r   r   r   )r   r   r   )r   r   CrT   r;   r[   r\   r   rb   )r   r   rg   rI   rJ   )r	   rA   r   r   r   rc   r   r#   factorsr$   r    r!   r
   rI   rd   s         r-   test_label_categorical_color_opz.TestLabelsPlot.test_label_categorical_color_op   s    ???%' ' ''+twt'?'? 	&v..l5!W%,89!7888///:::,////1J1JKKK)%*:;;|bi=j=jkkkkkr/   c                 n   t          g dd                              d          }t          j        |          }|j        d         }|j        d         }|                     |j        d         t          j        g d                     |                     t          |j
                  ddi           d S )	N)ra   )r   r   -   )r   r   Z   angler;   )rm   r\   r   )r   gz !?gz !?rK   )r	   rA   r   r   r   r#   r$   r    r!   r
   rm   r]   s        r-   test_label_angle_opz"TestLabelsPlot.test_label_angle_op   s    ;;;%' ' ''+t't':': 	&v..l5!W%'*BH5L5L5L,M,MNNN)%+66'8JKKKKKr/   c                 n   t          g dd                              d          }t          j        |          }|j        d         }|j        d         }|                     |j        d         t          j        g d                     |                     t          |j
                  d	di           d S )
N)ra   )r   r   皙?)r   r   ffffff?alphar;   )
text_alphar\   r   rs   )r   rp   rq   rK   )r	   rA   r   r   r   r#   r$   r    r!   r
   rs   r]   s        r-   test_label_alpha_opz"TestLabelsPlot.test_label_alpha_op   s    ===%' ' ''+twt'?'? 	&v..l5!W%,/---1H1HIII)%*:;;g|=TUUUUUr/   c                 n   t          g dd                              d          }t          j        |          }|j        d         }|j        d         }|                     |j        d         t          j        g d                     |                     t          |j
                  d	di           d S )
N))r   r   10pt)r   r   4pt)r   r   8ptsizer;   text_font_sizer\   r   r{   rv   rw   rx   rK   )r	   rA   r   r   r   r#   r$   r    r!   r
   r{   r]   s        r-   test_label_font_size_op_stringsz.TestLabelsPlot.test_label_font_size_op_strings   s    FFF$& & &&*d&d&A&A 	&v..l5!W%"23RX>T>T>T5U5UVVV)%*>??'K[A\]]]]]r/   c                 J   t          g dd                              d          }t          j        |          }|j        d         }|j        d         }|                     |j        d         g d           |                     t          |j                  d	di           d S )
N))r   r   
   )r   r      )r   r      ry   r;   rz   r\   r   r{   r|   rK   )	r	   rA   r   r   r   r#   r$   r
   r{   r]   s        r-   test_label_font_size_op_intsz+TestLabelsPlot.test_label_font_size_op_ints   s    :::$& & &&*d&d&A&A 	&v..l5!W%"235K5K5KLLL)%*>??'K[A\]]]]]r/   c                 ,   t          g dd                              dd          }t                      5 }t          j        |           d d d            n# 1 swxY w Y   |j                                        }d}|                     ||           d S )Nr`   rT   r;   )rI   rE   zThe `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 'text_color' option and declare a color_index; ignoring the color_index.
)r	   rA   r   r   r   streamreadr#   )r'   r(   loglog_msgwarnings        r-   #test_labels_color_index_color_clashz2TestLabelsPlot.test_labels_color_index_color_clash   s    999%' ' ''+twGt'T'T 	 	,#F+++	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,*//## 	 	'*****s   AAAc                     t          d t          d          D                                                       }t          |d         j        d         t
                    sJ d S )Nc           	      J    i | ] }|t          d d |z   dfdd|z   dfg          !S )r   zLabel 1r   zLabel 2r   ).0is     r-   
<dictcomp>z?TestLabelsPlot.test_labels_text_color_cycle.<locals>.<dictcomp>   sW     " " "  AE9%AE9%   " " "r/   rU   r   rI   )r   rangeoverlay
isinstancerA   r   )r'   hms     r-   test_labels_text_color_cyclez+TestLabelsPlot.test_labels_text_color_cycle   sl    " " a" " "
 

 ')) 	 "Q%*\2E:::::::r/   N)__name__
__module____qualname__r.   r1   r>   rB   rR   rV   r^   re   ri   rn   rt   r}   r   r   r   r4   r/   r-   r   r      s
       . . .
. 
. 
.- - -
. 
. 
.0 0 0$* * *,V V Vl l l
l 
l 
lL L LV V V^ ^ ^^ ^ ^+ + +; ; ; ; ;r/   r   )numpyr    bokeh.modelsr   r   holoviews.core.dimensionr   holoviews.core.optionsr   holoviews.core.spacesr   holoviews.elementr	   holoviews.plotting.bokeh.utilr
   utilsr   	test_plotr   r   r   r4   r/   r-   <module>r      s        B B B B B B B B . . . . . . ( ( ( ( ( ( ) ) ) ) ) ) $ $ $ $ $ $ : : : : : : " " " " " " 4 4 4 4 4 4 4 4x; x; x; x; x;] x; x; x; x; x;r/   