o
    l’×i•  ã                   @   sÌ   d dl mZ d dlZd dlmZmZ d dlm	Z	m
Z
 d dlmZ d dlmZ dd„ Zedgd	d
dd„ ƒZedgƒdd„ ƒZedgd	d
dd„ ƒZdd„ Zedgƒdd„ ƒZdd„ Zedgddd„ ƒZdS )é    N)Úimage_comparisonÚcheck_figures_equal)Ú
CustomCellÚTable)ÚPath)ÚBboxc                  C   s   ddg} t j| d d S )NÚbÚr)ÚcellColours)ÚpltÚtable)Ú
cellcolors© r   úY/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/matplotlib/tests/test_table.pyÚtest_non_square
   s   r   ztable_zorder.pngT)Úremove_textc                  C   sÀ   ddgddgg} d}dd„ dD ƒ}g }t  t|ƒ¡}t| ƒD ]}||7 }| d	d„ |D ƒ¡ qt  d
dt j d¡}tj|t  	|¡ddd tj
|||ddd tj
|||ddd t g ¡ d S )NiR iØ¨ ivã  iÓÐ )ÚFreezeÚWindc                 S   s   g | ]}d | ‘qS )z%d yearr   ©Ú.0Úxr   r   r   Ú
<listcomp>   s    ztest_zorder.<locals>.<listcomp>)éd   é2   c                 S   s   g | ]}d |d  ‘qS )z%1.1fg     @@r   r   r   r   r   r      s    r   é   r   é   )ÚlwÚzorderÚcenteréþÿÿÿ)ÚcellTextÚ	rowLabelsÚ	colLabelsÚlocr   zupper center)ÚnpÚzerosÚlenÚreversedÚappendÚlinspaceÚpir   ÚplotÚcosr   Úyticks)Údatar"   r!   r    ÚyoffÚrowÚtr   r   r   Útest_zorder   s2   ÿüür2   ztable_labels.pngc            	      C   sê   d} t  dd| ¡}tj |¡}dg|  g|  }t ¡ }| ddd¡}| d¡ |j||dd | ddd	¡}| d¡ |j||d
g|  dd | ddd¡}| d¡ |j||dd | ddd¡}| d¡ |j||d
g|  dd d S )Né   r   é   Ú1r   ÚoffÚbest)r    Ú
rowColoursr#   r   ÚHeader)r    r8   r!   r#   )r    Ú
colColoursr#   )r    r:   r"   r#   )	r$   r)   r   ÚcmÚRdYlGnÚfigureÚadd_subplotÚaxisr   )	ÚdimÚcÚcoloursr    ÚfigÚax1Úax2Úax3Úax4r   r   r   Útest_label_colours1   s>   
þ
ý
þ

ýrH   ztable_cell_manipulation.pngc                  C   s„   d} dgt | ƒ gd }dgt | ƒ }tjt | ƒdt | ƒd fd\}}t|| ƒD ]\}}|j||d|d	 | d
¡ q)t ¡  d S )N©Ú
horizontalÚverticalÚopenÚclosedÚTÚRÚBÚLr5   r   çš™™™™™¹?r   r4   )ÚnrowsÚfigsizer   )Ú	colWidthsr    r#   Úedgesr6   )r&   r   ÚsubplotsÚzipr   r?   Útight_layout)Úcellsr    rU   Ú_ÚaxsÚaxÚcellr   r   r   Útest_diff_cell_tableV   s   "ür_   c                  C   s  d} t jt jt jt jt jft jt jt jt jt jft jt jt jt jt jft jt jt jt jt jft jt jt jt jt jft jt jt jt jt jft jt jt jt jt jft jt jt jt jt jff}t| |ƒD ]\}}td|ddd}tdd„ | ¡  ¡ D ƒƒ}||ks€J ‚qad S )NrI   ©r   r   r4   )Úvisible_edgesÚwidthÚheightc                 s   s    | ]\}}|V  qd S )Nr   )r   r[   Úsr   r   r   Ú	<genexpr>w   s   € z"test_customcell.<locals>.<genexpr>)	r   ÚMOVETOÚLINETOÚ	CLOSEPOLYrX   r   ÚtupleÚget_pathÚiter_segments)ÚtypesÚcodesr1   rA   r^   Úcoder   r   r   Útest_customcellh   s   øýro   ztable_auto_column.pngc            	      C   s”  t  ¡ } |  ddd¡}| d¡ |jddgddggddgd	d
gdd}| d¡ | d¡ | g d¢¡ |  ddd¡}| d¡ |jddgddggddgd	d
gdd}| d¡ | d¡ | d¡ |  ddd¡}| d¡ |jddgddggddgd	d
gdd}| d¡ | d¡ | d¡ | d¡ | d¡ |  ddd¡}| d¡ |jddgddggddgd	d
gdd}| d¡ | d¡ | d¡ d S )Nr   r4   r6   zFit Textr   z-very long long text, Longer text than defaultÚArP   ÚCol1ÚCol2r   )r    r!   r"   r#   Fé   )éÿÿÿÿr   r4   r3   rt   r   z-101)r   r=   r>   r?   r   Úauto_set_font_sizeÚset_fontsizeÚauto_set_column_width)	rC   rD   Útb1rE   Útb2rF   Útb3rG   Útb4r   r   r   Útest_auto_column{   sn   
ÿû


ÿû



ÿû





ÿû

r|   c                  C   s€   t  ¡ \} }t|ƒ}| dddd¡}t|tƒsJ ‚||d u s!J ‚tdddd d}||d< |d |u s5J ‚| ¡  t  |¡ d S )Nr4   r   )r4   r   r`   )ra   )r   r4   )r   rW   r   Úadd_cellÚ
isinstancer   Ú
propertiesÚsetp)rC   r]   r   r^   Úcell2r   r   r   Útest_table_cells¶   s   r‚   Úpng)Ú
extensionsc                 C   sr   ddgddgg}d}d}dd„ |D ƒ}|   ¡ }|j|||d	g d
¢d |  ¡ }|j|||d	t dddd¡d d S )Nr   r3   r   é   )ÚFooÚBar)ÚAdaÚBobc                 S   s   g | ]	}d d„ |D ƒ‘qS )c                 S   s   g | ]}|› ‘qS r   r   r   r   r   r   r   Ð   s    z.test_table_bbox.<locals>.<listcomp>.<listcomp>r   )r   r0   r   r   r   r   Ð   s    z#test_table_bbox.<locals>.<listcomp>r   )rR   çš™™™™™É?çš™™™™™é?g333333ã?)r    r!   r"   r#   ÚbboxrR   rŠ   gÍÌÌÌÌÌì?r‹   )rW   r   r   Úfrom_extents)Úfig_testÚfig_refr.   Ú
col_labelsÚ
row_labelsÚ	cell_textÚax_listÚax_bboxr   r   r   Útest_table_bboxÈ   s(   ÿü
ür•   )Úmatplotlib.pyplotÚpyplotr   Únumpyr$   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.tabler   r   Úmatplotlib.pathr   Úmatplotlib.transformsr   r   r2   rH   r_   ro   r|   r‚   r•   r   r   r   r   Ú<module>   s&    
 
$

:
