
    rbiJ+                     H   d dl Z d dlZ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 d Zd Zd Zd Zej                            dd	d
g          ej                            dg d          ej                            dd	d
g          d                                     Zd Zd Zd Zd Z edg ej                    dk    rd nd          d             Zej                            dd	d
g          ej                            dd	d
g          ej                            dd	d
g          ej                            dd	d
g          d                                                 Zej                            dddg          ej                            dddg          d                         Zd  Zd! Z ej                            d"dg d#g          ej                            d$dd%d&gg           ed'g(          d)                                     Z!ej                            d"dg d#g          ej                            d$dd%d&gg           ed'g(          d*                                     Z"ej                            d+d,d-g          d.             Z#d/ Z$dS )0    N)AxesSubplotBase)check_figures_equalimage_comparisonc                 t   t          j        t          |           t          |           t          t          d||g                              D ]i\  \  }}\  }}\  }\  }}	||k    r| d         j        |                             ||          |	||f         k    sJ d|||	||f         rdnd|fz              jdS )z
    x_shared and y_shared are n x n boolean matrices; entry (i, j) indicates
    whether the x (or y) axes of subplots i and j should be shared.
    xyr   z,axes %i and %i incorrectly %ssharing %s axisznot  N)	itertoolsproduct	enumeratezip_shared_axesjoined)
axsx_sharedy_sharedi1ax1i2ax2i3nameshareds
             n/var/www/html/mdtn/previsions/meteo_cartes/venv/lib/python3.11/site-packages/matplotlib/tests/test_subplots.pycheck_sharedr      s    
 7@6GcNNcNNc$8 4556678 78 @ @2	S9B2r>D& 881v"4(//S99VBF^KKK:B&R.8b$>@ @ LKKK@ @    c                    t          t          | ||                    D ]\  }\  }}}|                                |j        j        gz   D ]*}|                                |k    sJ d| d|             +|                                |j        j        gz   D ]*}|                                |k    sJ d| d|             +|s|                                dk    sJ |s|	                                dk    sJ dS )z<Check that the x and y ticklabel visibility is as specified.zVisibility of x axis #z is incorrectly zVisibility of y axis #r	   N)
r   r   get_xticklabelsxaxis
offsetTextget_visibleget_yticklabelsyaxis
get_xlabel
get_ylabel)r   	x_visible	y_visibleiaxvxvyls           r   check_ticklabel_visibler-      s@   $Si%C%CDD ) )<BB##%%)<(== 	E 	EA==??b(((DQDDDD )(((##%%)<(== 	E 	EA==??b(((DQDDDD )(((  	)==??b(((( 	)==??b(((() )r   c                 J   t          | |          D ]@\  }}|j                                        D ]!}|j                                        |k    sJ "At          | |          D ]@\  }}|j                                        D ]!}|j                                        |k    sJ "AdS )z
    Check that the x and y tick visibility is as specified.

    Note: This only checks the tick1line, i.e. bottom / left ticks.
    N)r   r   get_major_ticks	tick1liner!   r#   )r   r&   r'   r)   visibleticks         r   check_tick1_visibler3   .   s     C++ ; ;GH,,.. 	; 	;D>--//7:::::	;c9-- ; ;IH,,.. 	; 	;D>--//7:::::	;; ;r   c            
         d} t          j        | d d         t                    t          j        | d d         t                    t          j        g dg dg dg dg          t          j        g dg dg dg dg          d}g d	g d	d
gdz  d
gdz  d
gdz  g d	dg dd
gdz  g dd
gdz  d
gdz  g ddd}|d         |d<   |d         |d
<   t          j        dd          \  }\  \  }}\  }}||||g}t          ||d         |d                    t          j        |           g d}	|	D ]}
|	D ]}t          j        dd|
|          \  }\  \  }}\  }}||||g}t          |||
         ||                    t          ||d         |
         |d         |                    t          j        |           d S )N)   r5      r6   )dtype)FTFF)TFFF)FFFT)FFTF)allnonerowcolFFTTTr5   )r8   r;   r:   r9   FTTFTF)xyr9   Fr8   )FTr8   r9   r:   r;   r      sharexshareyr>   r?   )
nponesboolzerosarraypltsubplotsr   closer-   )rdimsharer1   fa1a2a3a4r   opsxoyos               r   test_sharedrV   <   s~   D7484000HT"1"XT2228++++++++++++	- . .
 8++++++++++++	- . . E  211111vz
vz000  211vz111
vz000  G$ =E%L,E$K "l1a00AR(2rr2r
CeFmU6]333IaLLL ;
:
:C   	 	B&)l1a2&N&N&N#A#R(2rr2r"CeBir333#Cb)973<;KLLLIaLLLL	 r   remove_ticksTFlayout_engine)r9   tightconstrainedwith_colorbarc                    t          j        |          }|                    dddd          }|j        D ]d}|                    dd           |r3|                    t          j                                        |           |	                    | 	           et          |j        g d
g d           | rt          |j        g d
g d           d S t          |j        g dg d           d S )N)layoutr6   TrA   foobarxlabelylabelr)   )remove_inner_ticksr<   r=   )TTTT)rI   figurerJ   flatsetcolorbarmplcmScalarMappablelabel_outerr-   r3   )rW   rX   r[   figr   r)   s         r   test_label_outerrn   r   s@    *M
*
*
*C
,,q!D,
6
6Ch 8 8
eE*** 	9LL..00RL888
,7777,,,.H.H.HJ J J JH0002L2L2L	N 	N 	N 	N 	N 	H...0H0H0H	J 	J 	J 	J 	Jr   c                     t          j                    } |                     dd          }|                     |dddf                   }|                     |dddf                   }|                     |d                   }|                     |d                   }| j        D ]}|                                 t          | j        g dg d           d S )	N   r   r6   r@   )r@   r6   )r6   r@   )FTFT)TTFF)rI   re   add_gridspecadd_subplotaxesrl   r-   )rm   gsrO   rP   rQ   rR   r)   s          r   test_label_outer_spanru      s    
*,,C			!Q		B 
AqsF	$	$B	AaCF	$	$B	D	"	"B	D	"	"Bh  
,,,.H.H.HJ J J J Jr   c                  ~    t          j        d          } |                                  t          | gdgdg           d S )Nr   r   r@   r@   T)rI   rs   rl   r-   rc   s    r   test_label_outer_non_gridspecrx      s?    	,		BNNRD4&4&11111r   c                  ~   t          j        ddd          \  } \  }}t          |gdgdg           |j                                         t          |gdgdg           t          j        ddd          \  } \  }}t          |gdgdg           |j                                         t          |gdgdg           d S )Nr@   r6   TrC   FrB   )rI   rJ   r-   r#   	tick_leftr   tick_bottom)rN   rO   rP   s      r   test_shared_and_movedr~      s     ,q!D111KAxBRD4&5'222HRD4&5'222,q!D111KAxBRD5'D6222HRD5'D622222r   c                  (   t          j        t                    5  t          j        ddd           d d d            n# 1 swxY w Y   t          j        t                    5  t          j        ddd           d d d            d S # 1 swxY w Y   d S )Nr6   blahr{   rz   )pytestraises
ValueErrorrI   rJ    r   r   test_exceptionsr      s	   	z	"	" * *Q&))))* * * * * * * * * * * * * * *	z	"	" * *Q&))))* * * * * * * * * * * * * * * * * *s!   >AA"BBBzsubplots_offset_text.pngx86_64gy&1?)tolc                  z   t          j        ddd          } t          j        ddd          dz   }t          j        dddd	
          \  }}|d                             | |            |d                             | |            |d                             ||            |d                             ||            d S )Nr   g    _Bg    eAd   
   g     @r6   r;   r8   rA   )r   r   )r@   r   )r   r@   )r@   r@   )rD   arangerI   rJ   plot)r>   r?   rm   r   s       r   test_subplots_offsettextr      s     		!T3A
	!S"c!A|Aqu===HCINN1aINN1aINN1aINN1ar   topbottomleftrightc                    t          j        | |||d          5  t          j                                        dddd          }d d d            n# 1 swxY w Y   t	          j        |          D ]\  \  }}}|j        j        d         }|j        j        d         }	|j        j        d         }
|j        j        d         }|| o|dk    k    sJ |	|o|dk    k    sJ |
|o|dk    k    sJ ||o|dk    k    sJ d S )	N)zxtick.labeltopzxtick.labelbottomzytick.labelleftzytick.labelrightrp   TrA   label2Onlabel1Onr   r6   )	rI   
rc_contextre   rJ   rD   ndenumerater   _major_tick_kwr#   )r   r   r   r   r   r(   jr)   xtopxbottomyleftyrights               r   test_subplots_hide_ticklabelsr      s    
3V,0eM M 
N 
N D Djll##Aqd#CCD D D D D D D D D D D D D D D nS)) , ,
Ax&z2()*5'
3(4Q''''6,a1f----!q&))))%*AF+++++, ,s   +AAAxlabel_positionylabel_positionc                 F   t          j                                        dddd          }t          j        |          D ]\  \  }}}|                    dd           |j                            |            |j                            |           |	                                 t          |                                          | dk    r|dk    p| d	k    o|d
k    k    sJ t          |                                          |dk    r|d
k    p|dk    o|dk    k    sJ d S )Nrp   TrA   r^   r_   r`   r   r6   r   r   r   r   )rI   re   rJ   rD   r   rg   r   set_label_positionr#   rl   rF   r$   r%   )r   r   r   r(   r   r)   s         r   test_subplots_hide_axislabelsr      sF    *,,

1T$

?
?CnS)) 
6 
6
A
eE***
##O444
##O444
BMMOO$$x'2AF 3%'2AF4 4 4 4 BMMOO$$v%0!q& 5')4a1f6 6 6 6 6
6 
6r   c                      t          j                    \  } }|                                                                |                                k    sJ d S )N)rI   rJ   get_subplotspecget_gridspec)rm   r)   s     r   test_get_gridspecr      sJ    lnnGC,,.."//2C2CCCCCCCr   c                  |    ddi} dddgi}t          j        dd| |          \  }}| ddik    sJ |dddgik    sJ d S )NrB   r8   width_ratiosr@   r6   )
subplot_kwgridspec_kw)rI   rJ   )r   r   rm   r)   s       r   test_dont_mutate_kwargsr      ss    E"J!Aq6*Kl1aJ'24 4 4GC(E*****>Aq62222222r   r   )r@   rp   r6   height_ratiosr@   r6   png)
extensionsc                 n    |                      dd||           |                     dd||d           d S )Nr6   rp   r   r   r   )rJ   )fig_testfig_refr   r   s       r   test_width_and_height_ratiosr      sc    
 a-#/  1 1 1Q&3%1(3 (3 4 4 4 4 4r   c                 z    g dg dg}|                      |||           |                     |||d           d S )N)ABr   )r   CDr   r   )subplot_mosaic)r   r   r   r   mosaic_specs        r   #test_width_and_height_ratios_mosaicr     sq    
 #??OOO4KK})5  7 7 7;,9+759 59 : : : : :r   zmethod,args)rJ   )r6   rp   )r   )zabc;defc                 \   t          j        t          d          5   t          t          |           |ddgdddgid d d d            n# 1 swxY w Y   t          j        t          d          5   t          t          |           |g ddg did d d d            d S # 1 swxY w Y   d S )	Nr   )matchr@   r6   )r   r   r   )r@   r6   rp   )r   r   )r   r   r   getattrrI   )methodargss     r   test_ratio_overlapping_kwsr     s    
z	9	9	9 D DVd1a&*9Aq6)B	D 	D 	D 	DD D D D D D D D D D D D D D D 
z	8	8	8 F FVd*8))))D	F 	F 	F 	FF F F F F F F F F F F F F F F F F Fs#   #AAA1#B!!B%(B%c                  h   t          j                    } t          |                                 t                    sJ t          |                     g d          t                    rJ t          j        t                    5  t          | g dg d           d d d            d S # 1 swxY w Y   d S )Nrw   )rect)
rI   re   
isinstancerr   r   add_axesr   r   	TypeErrorr   )rm   s    r   test_old_subplot_compatr      s    
*,,Ccoo''55555#,,LLL,99;GGGGG	y	!	! 3 3S,,,\\\22223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   B''B+.B+)%r
   platformnumpyrD   r   
matplotlibri   matplotlib.axesr   r   matplotlib.pyplotpyplotrI   matplotlib.testing.decoratorsr   r   r   r-   r3   rV   markparametrizern   ru   rx   r~   r   machiner   r   r   r   r   r   r   r   r   r   r   r   <module>r      s"                 - - - - - - - -       O O O O O O O O@ @ @ ) ) )"; ; ;3 3 3l $77*J*J*JKK4-88J J 98 LK 87J$J J J(2 2 23 3 3* * * -.+8+--99aauF F F F F u..D%=11$//4-00, , 10 0/ 21 /.,$ *Xu,=>>*VW,=>>6 6 ?> ?>6D D D3 3 3 $			):;;4!Q.99(((4 4 )( :9 <;4 $			):;;4!Q.99(((: : )( :9 <;: %)  
F F 
F3 3 3 3 3r   