
    P/Phݼ                     	   d dl m Z  d dlZd dlZd dlZd dlZd dlmZ d dlZd dl	m
Z
mZ d dlZd dl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m Z m!Z! d dlm"Z" d dl#m$Z$m%Z%  ej&        dd	g
          d             Z'd Z( e%dg          d             Z) e%dg          d             Z* e%dg          d             Z+ e%dg          d             Z, e%dg          d             Z- e%dg          d             Z. e%dg          d             Z/ e%dg          d             Z0 e%dg          d             Z1 e%dg          d              Z2 e%g d!          d"             Z3 e%d#g          d$             Z4d% Z5d& Z6d' Z7d( Z8d) Z9ej:        ;                    d*           e$d+g,          d-                         Z<d. Z=d/ Z> e%d0gd1 ej?                    d2k    rd3nd 4          d5             Z@d6 ZA e%d7gd1d*8          d9             ZB e%d:gd1;          d<             ZC e%d=gd1;          d>             ZDd? ZEd@ ZFdA ZGdB ZHdC ZIdD ZJ e%dEgd1;          dF             ZKdG ZLej:        ;                    dH          dI             ZMdJ ZNej:        ;                    dH          dK             ZOej:        ;                    dH          dL             ZP e%dMg          dN             ZQ e%dOgd1dH8          dP             ZRdQ ZSdR ZTdS ZUdT ZV e$d+g,          ejW        X                    dUi dVdWig          dX                         ZYejW        X                    dYdZd[d\ddd]gd^z  d_fd`dadbgdddcfg          dd             ZZde Z[df Z\dg Z]ejW        X                    dhdidjg          dk             Z^dl Z_dm Z`dn Zado Zbdp Zcdq Zddr Zeds Zfej:        ;                    dH          dt             Zgdu Zhdv Zidw Zjdx Zkdy Zldz Zm e%d{gd+gd1d*|          d}             Zn e$d+g,          d~             Zod ZpejW        X                    ddddgg           e$d+g,          d                         Zq e$g d,          d             ZrdS )    )datetimeN)SimpleNamespace)assert_array_equalassert_array_almost_equal)
CollectionLineCollectionEventCollectionPolyCollection)FillBetweenPolyCollection)check_figures_equalimage_comparison
pcolormeshpcolor)paramsc                     | j         S N)param)requests    a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/matplotlib/tests/test_collections.pypcfuncr      s
    =    c            
         t          j        g d          } t          j        g d          }d}d}d}d}g d}d}d	}t          | |||||||
          }	t          j                    \  }
}|                    |	           |                    d           | ||||||||d	}|                    dd           |                    dd           ||	|fS )z,Generate the initial collection and plot it.)              ?       @      @g      @g       @g      *@g      5@)g      A@g     K@g     @V@
horizontal         ?   r   r   r   r   solidT)orientation
lineoffset
linelength	linewidthcolor	linestyleantialiasedzEventCollection: default)		positionsextra_positionsr#   r$   r%   r&   r'   r(   r)      r   )	nparrayr	   pltsubplotsadd_collection	set_titleset_xlimset_ylim)r*   r+   r#   r$   r%   r&   r'   r(   r)   collfigaxpropss                r   generate_EventCollection_plotr:      s   ;;;<<Ih//OKJJILLEIK9'2&0&0%.!&%.'2  D lnnGCdLL+,,,# /'%%##'	 	E KKBKK1tU?r   EventCollection_plot__defaultc                     t                      \  } }}t          ||d         |d         |d         |d                    t          j                            |d         |                                           |d         |                                k    sJ |                                sJ |d         |                                k    sJ |d         |	                                k    sJ |
                                dgk    sJ |                                g|                                D ](}t          j                            ||d                    )d S )Nr*   r%   r$   r#   r   Nr'   )r:   check_segmentsr.   testingr   get_positionsget_orientationis_horizontalget_linelengthget_lineoffsetget_linestyle	get_color
get_colors)_r6   r9   r'   s       r    test__EventCollection__get_propsrI   E   sc   244NAtU4%&&'	) ) ) J!!%"4d6H6H6J6JKKK4#7#7#9#99999$"5"5"7"77777$"5"5"7"77777I;......""7T__%6%67 = =

%%eU7^<<<<= =r   #EventCollection_plot__set_positionsc                     t                      \  } }}t          j        |d         |d         g          }|                    |           t          j                            ||                                           t          |||d         |d         |d                    |                     d           | 	                    dd           d S )	Nr*   r+   r%   r$   r#   zEventCollection: set_positionsr,   Z   )
r:   r.   hstackset_positionsr?   r   r@   r>   r3   r4   spltr6   r9   new_positionss       r   $test__EventCollection__set_positionsrR   _   s    577D$Iu[159J3KLMMM}%%%J!!-1C1C1E1EFFF4&&') ) ) 	NN3444MM"br   #EventCollection_plot__add_positionsc                     t                      \  } }}t          j        |d         |d         d         g          }|                                 |                    |d         d                    |                                 t          j                            ||                                           t          |||d         |d         |d                    | 	                    d           | 
                    dd	           d S )
Nr*   r+   r   r%   r$   r#   zEventCollection: add_positionsr,   #   )r:   r.   rM   switch_orientationadd_positionsr?   r   r@   r>   r3   r4   rO   s       r   $test__EventCollection__add_positionsrX   m   s   577D$Iu[1$%67:< = =Mu./2333J!!-1C1C1E1EFFF4 &&'	) ) )
 	NN3444MM"br   &EventCollection_plot__append_positionsc                     t                      \  } }}t          j        |d         |d         d         g          }|                    |d         d                    t          j                            ||                                           t          |||d         |d         |d                    |                     d           | 	                    dd	           d S )
Nr*   r+   r    r%   r$   r#   z!EventCollection: append_positionsr,   rL   )
r:   r.   rM   append_positionsr?   r   r@   r>   r3   r4   rO   s       r   'test__EventCollection__append_positionsr\      s    577D$Iu[1$%67:< = =M% 1215666J!!-1C1C1E1EFFF4 &&'	) ) )
 	NN6777MM"br   &EventCollection_plot__extend_positionsc                     t                      \  } }}t          j        |d         |d         dd          g          }|                    |d         dd                     t          j                            ||                                           t          |||d         |d         |d                    |                     d           | 	                    dd	           d S )
Nr*   r+   r   r%   r$   r#   z!EventCollection: extend_positionsr,   rL   )
r:   r.   rM   extend_positionsr?   r   r@   r>   r3   r4   rO   s       r   'test__EventCollection__extend_positionsr`      s    577D$Iu[1$%67;= > >M% 121226777J!!-1C1C1E1EFFF4 &&'	) ) )
 	NN6777MM"br   (EventCollection_plot__switch_orientationc                     t                      \  } }}d}|                                 ||                                k    sJ |                                rJ |                                }t          |||d         |d         |           |                     d           |                     dd           |                     dd           d S )	Nverticalr%   r$   z#EventCollection: switch_orientationr,   r-   r   r    )	r:   rV   rA   rB   r@   r>   r3   r5   r4   )rP   r6   r9   new_orientationrQ   s        r   )test__EventCollection__switch_orientationre      s    577D$ Od22444444!!#####&&((M4 &&9 9 9 	NN8999MM"bMM!Qr   ,EventCollection_plot__switch_orientation__2xc                     t                      \  } }}|                                 |                                 |                                }|d         |                                k    sJ |                                sJ t
          j                            |d         |           t          |||d         |d         |d                    | 	                    d           dS )zc
    Check that calling switch_orientation twice sets the orientation back to
    the default.
    r#   r*   r%   r$   z&EventCollection: switch_orientation 2xN)
r:   rV   r@   rA   rB   r.   r?   r   r>   r3   rO   s       r   ,test__EventCollection__switch_orientation_2xrh      s     677D$&&((M4#7#7#9#99999J!!%"4mDDD4 &&'	) ) )
 	NN;<<<<<r   %EventCollection_plot__set_orientationc                     t                      \  } }}d}|                    |           ||                                k    sJ |                                rJ t	          ||d         |d         |d         |           |                     d           |                     dd           |                     dd	           d S )
Nrc   r*   r%   r$   z EventCollection: set_orientationr,   r-   r   r    )r:   set_orientationrA   rB   r>   r3   r5   r4   )rP   r6   r9   rd   s       r   &test__EventCollection__set_orientationrl      s    577D$ O)))d22444444!!#####4%&&"	$ $ $
 	NN5666MM"bMM!Qr   $EventCollection_plot__set_linelengthc                  ,   t                      \  } }}d}|                    |           ||                                k    sJ t          ||d         ||d         |d                    |                     d           |                     dd           d S )N   r*   r$   r#   zEventCollection: set_linelengthi   )r:   set_linelengthrC   r>   r3   r5   )rP   r6   r9   new_linelengths       r   %test__EventCollection__set_linelengthrs      s    577D$N'''T002222224%!&'	) ) )
 	NN4555MM#rr   $EventCollection_plot__set_lineoffsetc                  ,   t                      \  } }}d}|                    |           ||                                k    sJ t          ||d         |d         ||d                    |                     d           |                     dd           d S )Ng      r*   r%   r#   zEventCollection: set_lineoffseti)r:   set_lineoffsetrD   r>   r3   r5   )rP   r6   r9   new_lineoffsets       r   %test__EventCollection__set_lineoffsetry      s    577D$N'''T002222224%&!'	) ) )
 	NN4555MM"br   )#EventCollection_plot__set_linestylerz   #EventCollection_plot__set_linewidthc                      dddgfdddgfdfD ]Z\  } }}t                      \  }}} |j        di | |i t          j        ||           |k    sJ |                    d|             [d S )Nr(   dashed)r   )      @r~   )r&      r   zEventCollection: set_ )r:   setr0   getpr3   )propvalueexpectedrP   r6   rH   s         r   test__EventCollection__set_propr      s     (_$56-/):;" 7 7eX
 677dA!!D%=!!!xd##x////5t5566667 7r   EventCollection_plot__set_colorc                  B   t                      \  } }}t          j        g d          }|                    |           |                                g|                                D ]"}t          j                            ||           #|                     d           d S )N)r   r   r   r   zEventCollection: set_color)	r:   r.   r/   	set_colorrF   rG   r?   r   r3   )rP   r6   rH   	new_colorr'   s        r    test__EventCollection__set_colorr     s    133MD$&&INN9..""7T__%6%67 8 8

%%eY7777NN/00000r   c                    |                                  }|                                dk    s|                                dk    s|d}d}n,|                                dk    rd}d}nt          d          t          |          D ]]\  }}	|	d|f         ||dz  z   k    sJ |	d|f         ||dz  z
  k    sJ |	d|f         ||         k    sJ |	d|f         ||         k    sJ ^dS )	zp
    Test helper checking that all values in the segment are correct, given a
    particular set of inputs.
    r   noneNr   r   rc   z.orientation must be 'horizontal' or 'vertical'r    )get_segmentslower
ValueError	enumerate)
r6   r*   r%   r$   r#   segmentspos1pos2isegments
             r   r>   r>     s2   
   ""H|++  ""f,,0C					
	*	*IJJJ  )) 0 0
7q$w:
Q#>>>>>q$w:
Q#>>>>>q$w9Q<////q$w9Q</////	0 0r   c                  d   t          j        d                              d          } t          j        | t          j        d                    }|                    d          dk    sJ |                    t          j        d          dz              |                    d          dk    sJ d S )N   )      r    r   )r/   r    gUUUUUU?r   )r.   arangereshapemcollectionsr   norm	set_array)linesr6   s     r   test_collection_norm_autoscaler   )  s    IbMM!!),,E&uBIaLLAAAD99Q<<5    NN29Q<<!#$$$99Q<<5      r   c                     t          j        g           } |                     t          j                              }t          |                                t          j                                                                                   d S r   )	r   PathCollectionget_datalimmtransformsIdentityTransformr   
get_pointsBboxnull)colcol_data_lims     r   test_null_collection_datalimr   3  st    

%b
)
)C??;#@#B#BCCL|..00"',,..99;;= = = = =r   c                     t          j                    } t          j        t	          j        ddg          g          }|                     |           |                    t          j	                              }t          |                                t          j                                                                                   d S )Nr   r   )r   r   )r0   axesr   r   mpathPathr2   r   r   r   r   r   r   r   )r8   r6   coll_data_lims      r   test_no_offsets_datalimr   :  s     
B&
FF3C(D(D'EFFDd$$[%B%D%DEEM}//11"',,..99;;= = = = =r   c                      t          j                     t          j                    } |                     ddgddg           | j        j        }|                     g g            | j        j        |k    sJ d S )Nr   r   )r0   figurer   scatterdataLimbounds)r8   r   s     r   test_add_collectionr   E  sp     JLLL	BJJ1v1vZFJJr2:&&&&&&r   mpl20png)
extensionsc                    g d}g d}t          j        ||          \  }}|                                }|                                }|                                 }|                    d           |                    d           d|_        |                    ||           |                                }|                    d           |                    d           |                    ||dd           d S )N)g+c>g`8F>gq[;u>gy7/>g9̗>gW!>g-I>g\p5>gdjD>gyK'?g~+=?gFEAL ?g|0j?gGKe?gލ=B?)r   皙?gK?gsh|??gS?g?r   gQ@g(\@g333333(@g      6@gC@g33333Q@logr   o )markerls)	r.   meshgridflattenr1   
set_xscale
set_yscalemarginsr   plot)fig_testfig_refx_valsy_valsxyax_testax_refs           r   test_collection_log_datalimr   P  s   J J JF  F ;vv&&DAq			A			A!!GuuGOOOAqF
e
e
KK1SRK(((((r   c                     t          j                    } t          j        d          t          j        d          }}t          j        ddd                              dd          x}}t          j        ||||          }|                    | j                  j	        dk    sJ t          j
                     t          j                    } t          j        ddd          }t          j        dd	d          }t          j        ||          \  }}t          j                                        d
d          | j        z   }t          j        ||t          j        |          t          j        |          |           | j        j	        dk    sJ d S )N   
   r   P   )r   r   g      @g      "@rp   r          	transform)g      4@g      >@g      .@r~   )r0   r   r.   r   linspacer   quiverr   	transDatar   r   r   r   Affine2D	translatesincosr   )r8   r   r   uvqtranss          r   test_quiver_limitsr   j  sD   	B9Q<<2qAK2r""**2q111A
1aAA==&&-1AAAAAJLLL	B
BBA
B2A;q!DAq "",,R44r|CEJq!RVAYYq		U;;;;: 7777777r   c                     t          j                    } t          j        ddd          }t          j        ddd          }t          j        ||          \  }}t          j                                        dd          | j        z   }t          j	        ||t          j
        |          t          j        |          |           t          | j        j        d	d
           d S )Nr   r   rp   r   r   r   r   r   )rp      ro      r   decimal)r0   r   r.   r   r   r   r   r   r   barbsr   r   r   r   r   )r8   r   r   r   s       r   test_barb_limitsr   {  s    	B
BBA
B2A;q!DAq "",,R44r|CEIaBF1IIrvayyE:::: bj/&') ) ) ) ) )r   z EllipseCollection_test_image.pngTarm64g/$?)remove_texttolc            	         t          j                    \  } }t          j        d          }t          j        d          }t          j        ||          \  }}t          j        |                                |                                f          j        }||d         z  }||d         z  }t          j        |          dz  }	t          j
        |||	d||j        d          }
|                    |
           |                                 d S )Nr   r   r,   rp   r   r   )unitsoffsetsoffset_transform
facecolors)r0   r1   r.   r   r   vstackravelT	ones_liker   EllipseCollectionr   r2   autoscale_view)r7   r8   r   r   XYXYwwhhaaecs              r   test_EllipseCollectionr    s     lnnGC
	!A
	!A;q!DAq	AGGIIqwwyy)	*	*	,B	
QrUB	
QrUB	b		B	B		'
B#rBL
 
 
B br   c                     t           j                            d          } d}d}d}|                     d          dz  }t          j                    \  }}t          j        ||||d|j                  }t          |j	        t          j
        |                                          d	z             t          |j        t          j
        |                                          d	z             t          |j        t          j        |                                                     t          |                                |           t          |                                |           t          |                                |           |                    |           |                    d
d           |                    d
d           |                     d          dz  }|                     d          dz  }	|                     d          dz  }
|                    ||	|
           t          |                                |                                           t          |                                |	                                           t          |                                |
                                           d S )Nr   )r    )r   )-   )r   r    r   r   )widthsheightsanglesr   r   r   r   r      r    r      )r  r	  r
  )r.   randomdefault_rngr0   r1   r   r   r   r   _widthsr/   r   _heights_anglesdeg2rad
get_widthsget_heights
get_anglesr2   r4   r5   r   )rngr  r	  r
  r   r7   r8   r  
new_widthsnew_heights
new_angless              r   $test_EllipseCollection_setter_getterr    sN   
)


"
"CFGFjj!!B&GlnnGC		'

 

 

B bj"(6*:*:*@*@*B*BS*HIIIbk28G+<+<+B+B+D+Ds+JKKKbj"*V*<*<*B*B*D*DEEEbmmoov666bnn..888bmmoov666bKKBKKBG$$q(J**W%%)KG$$s*JFF*k*FEEEbmmooz/?/?/A/ABBBbnn..0A0A0C0CDDDbmmooz/?/?/A/ABBBBBr   zpolycollection_close.png)r   stylec                  ^   ddl m}  dt          j        d<   ddgddgddgddggddgddgddgddggddgddgd	dgddggddgddgd	dgd	dggg}t          j                    }|                     | |                    }g d
}t          t          d                    }t          j	        |t          |          z  d          }|                    d           g }g }t          ||          D ]Q\  }	}
|                    |	gt          |          z             |                    |
gt          |          z             R|                    |           |                    ||d           |                    dd           |                    dd           |                    dd           d S )Nr   )Axes3DTzaxes3d.automarginr   r   r   r         @)rgbr   kr         ?r&   gffffff?r   )zszdirr   r   )mpl_toolkits.mplot3dr  r0   rcParamsr   add_axeslistranger   r
   len	set_alphazipextendr   add_collection3d
set_xlim3d
set_zlim3d
set_ylim3d)r  	vertsQuadr7   r8   colorszpospolyr%  cszcs              r   test_polycollection_closer;    s   ++++++(,CL$% bB8b"XBx0
bB8b"XBx0
bB8b"XBx0
bB8b"XBx0	2I *,,C	ffSkk	"	"B&&&Fa>>D&CII/ / /DNN3 
B	BD&!! ( (1
		1#I&'''
		1#I&''''NN2#... MM!QMM!QMM!Qr   z regularpolycollection_rotate.png)r   c                     t           j        d dd df         \  } }t          j        |                                 |                                g          }t          j        ddt           j        z  t          |                    }t          j                    \  }}t          ||          D ];\  }}t          j        dd||g|j                  }|                    |d           <|                                 d S )	Nr   r   r    r   )d   )sizesrotationr   r   Tautolim)r.   mgrid	transposer   r   pir,  r0   r1   r.  r   RegularPolyCollectionr   r2   r   )	xxyy	xy_points	rotationsr7   r8   xyalphar   s	            r   !test_regularpolycollection_rotaterL    s    Xcrc3B3hFBbjjllBJJLL9::IAqwI77IlnnGCI.. - -	E0VeD2<9 9 9 	#t,,,,r   zregularpolycollection_scale.pngc                  
    G d dt           j                  } t          j                    \  }}dg}t          j        dz  g} | |||j                  }|                    |d           |                    g d           d S )	Nc                   $     e Zd Z fdZd Z xZS ):test_regularpolycollection_scale.<locals>.SquareCollectionc                 X     t                      j        ddt          j        dz  i| d S )Nr   r?  r  )r   )super__init__r.   rD  )selfkwargs	__class__s     r   rR  zCtest_regularpolycollection_scale.<locals>.SquareCollection.__init__  s1    EGG<<r<V<<<<<r   c                 
   | j         }d|                    d          j        z  }||j        j        z  |j        j        z  }||j        j        z  |j        j        z  }t          j                    	                    ||          S )z4Return transform scaling circle areas to data space.g      R@T)root)
r   
get_figuredpibboxwidthviewLimheightr   r   scale)rS  r8   
pts2pixelsscale_xscale_ys        r   get_transformzHtest_regularpolycollection_scale.<locals>.SquareCollection.get_transform  ss    B4 8 8 <<J 27=02:3CCG 27>1BJ4EEG'))//AAAr   )__name__
__module____qualname__rR  rb  __classcell__)rU  s   @r   SquareCollectionrO    sN        	= 	= 	= 	= 	=	B 	B 	B 	B 	B 	B 	Br   rg  r   r    )r>  r   r   Tr@  )r,   r   r,   r   )	r   rE  r0   r1   r.   rD  r   r2   axis)rg  r7   r8   rJ  circle_areassquaress         r    test_regularpolycollection_scalerk    s    B B B B B<= B B B lnnGC
BEAI;LBG G GGgt,,,GGNNNr   c                  L   t          j                    \  } }|                    dgdgdgd          }|                     t	          j                    | j                   t          dd          }|                    |          \  }}|sJ t          |d	         dg           d S )
Nr   i  T)picker)rY  iE     )r   r   ind)
r0   r1   r   savefigioBytesIOrY  r   containsr   )r7   r8   r   mouse_eventfoundindicess         r   test_pickingrw    s    lnnGC
**aS1#vd*
3
3CKK
#'K***!C3///K\\+..NE7LLLwu~s+++++r   c                     t          j        d          } | d d d f         | d d d f         z  }t          j                    \  }}|                    |          }|                                 d\  }}|                                                    ||f          \  } }t          ||| |          }|	                    |          \  }	}
|	sJ t          |
d         dg           d\  }}|                                                    ||f          \  } }t          ||| |          }|	                    |          \  }	}
|	sJ t          |
d         dg           d S )Nr   r   r   xdataydatar   r   ro  r         ?r~  r   )r.   r   r0   r1   r   draw_without_renderingrb  r   r   rs  r   )r   r   r7   r8   meshr{  r|  r   rt  ru  rv  s              r   test_quadmesh_containsr  %  s]   
	!A	!!!T'
QtQQQwZAlnnGC==D   LE5))5%.99DAq!Ua1EEEK]];//NE7LLLwu~s+++LE5))5%.99DAq!Ua1EEEK]];//NE7LLLwu~s+++++r   c                     ddgddgg} ddgddgg}t          j                    \  }}|                    | |dgg          }|                                 g d}|D ]e}|\  }}}	|                                                    ||f          \  } }t          ||| |          }
|                    |
          \  }}||	u sJ fd S )Nr   r,   r   ))      r#  T)r   r#  F)r   r#  T)r   g      пTrz  )r0   r1   r   r  rb  r   r   rs  )r   r   r7   r8   r  pointspointr{  r|  r   rt  ru  rv  s                r   test_quadmesh_contains_concaver  ;  s    
R1a&A
Q!RAlnnGC==Au%%D     F
  ! !!&uh!!##--uen==1%E!qIII{33w     ! !r   c                  B   t          j        d          } | d d d f         | d d d f         z  }t          j                    \  }}|                    |          }d |_        |                                 d\  }}|                                                    ||f          \  } }t          ||| |          }|
                    |          J |                    t          j        |j                             t          |
                    |          dg           d S )Nr   ry  rz  r   )r.   r   r0   r1   r   _Ar  rb  r   r   get_cursor_datar   onesshaper   )	r   r   r7   r8   r  r{  r|  r   rt  s	            r   test_quadmesh_cursor_datar  P  s   
	!A	!!!T'
QtQQQwZAlnnGC==DDG   LE5))5%.99DAq!Ua1EEEK,,444 	NN2717##$$$t++K881#>>>>>r   c                     g d} t          j                    \  }}|                    | | t          j        d                    }|                                 d\  }}|                                                    ||f          \  } }t          ||| |          }t          |
                    |          t          j        d                     d S )N)r   r    r   r    r   r   r}  rz  	   )r0   r1   r   r.   r  r  rb  r   r   r   r  )r   r7   r8   r  r{  r|  r   rt  s           r   )test_quadmesh_cursor_data_multiple_pointsr  d  s    AlnnGC==Arwv//D   LE5))5%.99DAq!Ua1EEEKt++K88"'!**EEEEEr   c                  j    t          j        g dg ddddgf           t          j                     d S )Nr   r   r    r   r   )r(   )r0   r   drawr   r   r   test_linestyle_single_dashesr  p  s8    K			999b"X????HJJJJJr   zsize_in_xy.pngc                  
   t          j                    \  } }d\  }}}d}ddg}t          j        |||d||j                  }|                    |           |                    dd           |                    dd           d S )N)r   r   r   r   r  )ro   ro   rJ  )r   r   r   r   r   )r0   r1   r   r   r   r2   r4   r5   )r7   r8   r  r	  r
  coordses          r   test_size_in_xyr  u  s    lnnGC-FGVF!F&t	7 	7 	7A aKK2KK2r   c                 z   g d}|                      g d|          x}}|                      g d|          }|                      g d|          }|                      g d|          }t          |           t          |           t          |	           t          |
           t          |           d S )N)   r     )redbluegreen)indexr   r    r   )r"   r}   dashdot)TFT)
edgecolors)r   )
linewidths)
linestyles)antialiaseds)Seriesr   )pdr  r  fclwr   r  s          r   test_pandas_indexingr    s     LLEii000i>>>B	999E	*	*B	111	?	?B	&&&e	4	4B""""Br   defaultc                     t          j        g           } |                     ddg           |                     g d           |                                 dgdz  k    sJ |                                 g ddz  k    sJ |                     g d           |                                 dgdz  k    sJ |                                 g dk                                    sJ d S )N-r  r=   r   r    )r  r  r  r   )r   r   set_linestylesset_linewidthsget_linestylesget_linewidthsallr   s    r   test_lslw_bcastr    s    

%b
)
)CSz"""yyy!!!I;?2222999q=0000'''I;?2222  III-224444444r   c                      t                      } t          j        t          d          5  |                     d           d d d            d S # 1 swxY w Y   d S )Nz"Do not know how to convert 'fuzzy'matchfuzzy)r   pytestraisesr   set_linestyler:  s    r   test_set_wrong_linestyler    s    A	z)M	N	N	N ! !	   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   AAAc                     t          j        g           } |                                 J t          j        g d          } |                                 dk    sJ |                     d           |                                 dk    sJ d S )Nround)capstylebutt)r   r   get_capstyleset_capstyler  s    r   test_capstyler    s    

%b
)
)C%%%

%b7
;
;
;C((((V''''''r   c                     t          j        g           } |                                 J t          j        g d          } |                                 dk    sJ |                     d           |                                 dk    sJ d S )Nr  )	joinstylemiter)r   r   get_joinstyleset_joinstyler  s    r   test_joinstyler    s    

%b
)
)C&&&

%bG
<
<
<C'))))g'))))))r   zcap_and_joinstyle.pngc                  D   t          j                    \  } }|                    ddg           |                    ddg           t	          j        g d          }t	          j        dgdgdgg          t	          j        g dg          z   }t	          j        d	          }||d d d d d
f<   ||d d d d df<   t          |g d          }|                    d           |	                    d           |
                    |           |                    d           d S )Nr  r~        @)r   r   r   r   r   r   )r   r   r   )r   r   r    r   r   )r   ro   rp   r$  r  r  z2Line collection with customized caps and joinstyle)r0   r1   r4   r5   r.   r/   zerosr   r  r  r2   r3   )r7   r8   r   yssegsline_segmentss         r   test_cap_and_joinstyle_imager    s*   lnnGCKKsKKs
!!A	C53%#'	(	(28___4E+F+F	FB8IDDAAAqMDAAAqM"4<<<@@@Mw'''(((m$$$LLEFFFFFr   zscatter_post_alpha.pngc                      t          j                    \  } }|                    t          d          t          d          t          d                    }|                    d           d S )Nr   r  r   )r0   r1   r   r+  r-  )r7   r8   scs      r   test_scatter_post_alphar    sT     lnnGC	E!HHeAhh%((	3	3BLLr   c                     t          j        d          } | dz  }t          j        d          \  }\  }}|                    | | | |          }|                    | | |           }|                    |           t          j                     t          |                                d d df         |           t          |                                d d df         |           t          j        d          \  }\  }}|                    | | g d|          }|                    | | d|          }t          j                     t          |                                d d df         |           t          |                                d d df         |           t          j        d          \  }\  }}|                    | | g d	          }|                    |           |                    | | d	          }|                    |           t          j                     t          |                                d d df         |           t          |                                d d df         |           d S )
Nr   r    )r:  rK  r  r,   )r  r   r!  r:  m)r'   rK  r  )r'   )	r.   r   r0   r1   r   r-  r  r   get_facecolors)r   rK  r7   ax0ax1sc0sc1s          r   test_scatter_alpha_arrayr    sH   
	!AEEl1ooOC#s
++aau+
-
-C
++aa+
 
 CMM%HJJJs))++AAArE2E:::s))++AAArE2E:::l1ooOC#s
++a";";";5+
I
IC
++a#U+
3
3CHJJJs))++AAArE2E:::s))++AAArE2E:::l1ooOC#s
++a";";";+
<
<CMM%
++a#+
&
&CMM%HJJJs))++AAArE2E:::s))++AAArE2E:::::r   c            	          t           j                            d           t           j                            dd          \  } }t           j                            d          }t           j                            ddd          }t           j                            ddd          }t          j                    \  }}|                    | |||dd	d
          }|                    d          \  }}t          |          dk    sJ |g dk    sJ t          j
        d |D                       }	|                    t          j        d          dz            }
t          |	|
           |                    ||d          }|                    d          \  }}t          |          dk    sJ |                    ||d          }|                    ddd          \  }}t          d |D                       sJ t          d |D                       sJ |                    ||d          }|                    dddd           \  }}d |D             }t          j        t          j
        |t"                    dz            }t%          ||           |                    ||d          }t&          j                            ddg d !          }|                    |          \  }}t          |          t          |          k    sJ g d"}|                    |dd#          \  }}d$ |D             |dd          k    sJ ||||fD ]}|                    |           |j                                         d S )%N!N,r    r   r   r   )sizei,  jetr   )r:  scmapr   r  z{x:g})fmt)01234c                 6    g | ]}|                                 S r   )rF   .0lines     r   
<listcomp>z7test_pathcollection_legend_elements.<locals>.<listcomp>  s"    666Dt~~''666r   r   r   )locr  )numr>  r   r  )r   rK  r'   c              3   F   K   | ]}|                                 d k    V  dS )r   N)	get_alphar  s     r   	<genexpr>z6test_pathcollection_legend_elements.<locals>.<genexpr>  s1      554t~~3&555555r   c              3   F   K   | ]}|                                 d k    V  dS )r  N)get_markerfacecolorr  s     r   r  z6test_pathcollection_legend_elements.<locals>.<genexpr>  s3      AAtt''))U2AAAAAAr   z{x:.2f}c                     d| z  S )Nr    r   )r   s    r   <lambda>z5test_pathcollection_legend_elements.<locals>.<lambda>  s
    QqS r   )r   r  r  funcc                 6    g | ]}|                                 S r   get_markersizer  s     r   r  z7test_pathcollection_legend_elements.<locals>.<listcomp>  s$    444$##%%444r   r   r   )r   r    r  r   r   r   r   r   )nbinsmin_n_tickssteps)r,   r   g33333K@i  )r  r   r  c                 ,    g | ]}t          |          S r   )float)r  ls     r   r  z7test_pathcollection_legend_elements.<locals>.<listcomp>!  s    ###E!HH###r   )r.   r  seedrandrandintr0   r1   r   legend_elementsr,  r/   r  r   r   legendr  sqrtr   r   mpltickerMaxNLocator
add_artistcanvasr  )r   r   r:  r  r7   r8   r  hr  r5  colors2l1h2lab2l2l3actsizeslabeledsizesl4r  h5lab5levelsh6lab6s                            r   #test_pathcollection_legend_elementsr    s   INN89>>!R  DAq
	rA
	!QR((A
	"c++AlnnGC	AqAsq	I	IB'**DAqq66Q;;;;)))))))X66A66677Fggbill1n%%Gvw'''	1aQ		B!!a!((HBr77a<<<<	2t	#	#B7#UCCDAq55155555555AAqAAAAAAAA	1aQ		B7y#0=  2 2DAq44!444H728Au--122Lh555	1aQ		B
*
 
 qc'B'B'B ! D DC!!c!**HBr77c"ggF!!f7!HHHB##d###vabbz1111"b"  
aJOOr   c                      t          j        g d          } t          |           }t           j                            | t          j        g d                     d S )N)r   r    r   r   )r.   r/   r	   r?   r   )arrr6   s     r   test_EventCollection_nosortr  )  sN    
(===
!
!C3DJ!!#rx'>'>?????r   c                  t   t          j        dt           j                                      ddd          } t	          |           }t	          t          |                     }t          |j                  t          |j                  k    sJ t          |j        |j                  D ]G\  }}t          j	        |j
        |j
                  sJ t          j	        |j        |j                  sJ Ht          j        dt                    }d | D             |d d <   t	          |          }t          |j                  t          |j                  k    sJ t          |j        |j                  D ]G\  }}t          j	        |j
        |j
                  sJ t          j	        |j        |j                  sJ Hd S )Nr   dtyper   r   r    c                 @    g | ]}t          d  |D                       S )c              3   4   K   | ]}t          |          V  d S r   tuple)r  r   s     r   r  z=test_collection_set_verts_array.<locals>.<listcomp>.<genexpr>:  s(      00E!HH000000r   r%  r  r   s     r   r  z3test_collection_set_verts_array.<locals>.<listcomp>:  s/    @@@Qe00a00000@@@r   )r.   r   doubler   r
   r*  r,  _pathsr.  array_equal	_vertices_codesemptyobject)vertscol_arrcol_listaplpverts_tuplecol_arr_tupleatps           r   test_collection_set_verts_arrayr7  0  s   Ib	***222q!<<EU##Gd5kk**Hw~#ho"6"66666gnho66 4 4B~blBL99999~bi333333(2V,,,K@@%@@@KN";//Mw~#m&:";";;;;;w~}';<< 5 5C~blCM:::::~bi4444445 5r   rT  stepprec                    t          j        dd          }t          j        |          }|dz   } |                                j        |||fi |  |                                 j        |ddfi |}|                    |||           d S )Nr      皙?r,   g333333?)r.   r   r   r1   fill_betweenset_data)r   r   rT  tf1f2r6   s          r   *test_fill_between_poly_collection_set_datarB  B  s     	ArA	B	cB#G#Ar288888+8+Ar3AA&AADMM!Rr   )t_directionr@  r  wheremsg)r9  NNNz't_direction must be 'x' or 'y', got 'z')r   N)r,   r   Nz'x' is not 1-dimensionalr   Fr   z0where size \(3\) does not match 'x' size \(\d+\)r   r   r    z5'y' has size \d+, but 'x1' has an unequal size of \d+c                 6   t          j        dd          }|t          j        |          nt          j        |          }|dz   }|r
 |j        | }t          j        t          |          5  t          | ||||           d d d            d S # 1 swxY w Y   d S )Nr   r;  r<  r  )rD  )	r.   r   r   asarrayr   r  r  r   r   )rC  r@  r  rD  rE  r?  rA  s          r   'test_fill_between_poly_collection_raiserH  O  s     	ArAjbjnnB	cB AIu	z	-	-	- G G!+q"bFFFFG G G G G G G G G G G G G G G G G Gs   ,BBBc                  ~   g t          d          } t                      }|                    |            t          j        t
          d          5  |                    d           d d d            n# 1 swxY w Y   d| d<   t          j        | |                                          	                                sJ d S )Nr   z^Image data of dtyper  wrong_inputr  r   )
r+  r   r   r  r  	TypeErrorr.   	not_equal	get_arrayany)valsr:  s     r   test_collection_set_arrayrP  _  s    U2YY<D 	AKK 
y(>	?	?	? # #	M"""# # # # # # # # # # # # # # # DG<akkmm,,002222222s   A22A69A6c            	      :   g d} d}t          j        t          j        | d          t          j        d|gt	          |                     g          }|                    t	          |           ddg          }t          j                    \  }}t          j	        |j
        |j                  }|                    t          ||                     |                    dd           t           j                            |                                d	d
g           d S )N)r   r    r   r<  r    r   r   TF)scalexscaleyr   r  )r.   column_stackrepeattiler,  r   r0   r1   r   blended_transform_factoryr   	transAxesr2   r   r   r?   assert_allcloseget_xlim)ar]  xy_pairs	line_segsfr8   r   s          r   test_blended_collection_autolimr_  o  s    		AF	!Q!Vc!ff1M1MNOOH  #a&&!Q00ILNNEAr1",MMEnY%@@@AAAT%000Jr{{}}r2h77777r   c                  .   t          j                    \  } }|                    dd           t          j                            |                                ddg           t          j                            |                                ddg           d S )Nr   gQgQ?)r0   r1   r   r.   r?   rY  get_ylimrZ  )r7   r8   s     r   test_singleton_autolimrb  }  ss    lnnGCJJq!Jr{{}}udm<<<Jr{{}}udm<<<<<r   ztransform, expected)r   )r  g      @)rX  )gffffff@g	@c                 r   t          j                    \  }}|                    ddt          ||                      |                    dd           t          j                            |                                |           t          j                            |                                |           d S )Nr   r   r   )	r0   r1   r   getattrr.   r?   rY  ra  rZ  )r   r   r7   r8   s       r   test_autolim_with_zerosre    s     lnnGCJJq!wr955J666JJq!Jr{{}}h777Jr{{}}h77777r   c                 ,   t          j        d          }t          j        d          }t           j                            d          }t          j                    \  }} t          ||           |||          }t          j        t          t          j
        d                    5  |                    |                    dd                     d d d            n# 1 swxY w Y   t          j        d                              d	          }t          j        t          t          j
        d
                    5  |                    |           d d d            n# 1 swxY w Y   t          j        t          t          j
        d                    5  |                    |                                           d d d            n# 1 swxY w Y   t          j        d          }t          j        t          t          j
        d                    5  |                    |           d d d            n# 1 swxY w Y   t          j        d          }t          j        t          t          j
        d                    5  |                    |           d d d            n# 1 swxY w Y   t          j        d          }t          j        t          t          j
        d                    5  |                    |           d d d            n# 1 swxY w Y   t          j        d          }t          j        d          }t           j                            d          }t          j                    \  }}|                    |||d          }d S )Nr  r   )   r   zuFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (10, 7)r  r   rg  6   )r   r  ztFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (6, 9)zsFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (54,))r  r   r   zwFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (9, 6, 3))r  r   r   zwFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (9, 6, 4))rg  r   r    zxFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (7, 10, 2)gouraudshading)r.   r   r  r0   r1   rd  r  r  r   reescaper   r   r   r  r   )r   r   r   r9  r7   r8   r6   s          r   "test_quadmesh_set_array_validationrn    s   
	"A
	!A
	!!AlnnGC72vq!Q''D	zH*I *I 
J 
J 
J ) ) 	qyyQ''((() ) ) ) ) ) ) ) ) ) ) ) ) ) )
 		"f%%A	zG*H *H 
I 
I 
I   	q               
zF*G *G 
H 
H 
H " " 	qwwyy!!!" " " " " " " " " " " " " " " 		A	zJ*K *K 
L 
L 
L   	q              
 		A	zJ*K *K 
L 
L 
L   	q              
 	
A	zK*L *L 
M 
M 
M   	q              
 		"A
	!A
	!!AlnnGC==Aq)=44DDDsl   &*CC #C ;EE!$E!(G		GGH77H;>H;J%%J),J)1LLLc                     t          j        g dg d          \  } }| |z  d dd df         }t          j        | ||          }|                                 |                                dd d d f         }t           j                            | dk    |dk    z  |           } t          j        | ||          }|                                 t          |
                                          dk    sJ t          ||                                           t           j                            | dk    |dk    z  |          }t          j        | ||          }|                                 t          |
                                          dk    sJ t          ||                                           t           j                            | d dd df         dk    |d dd df         dk    z  |          }t          j        |          }|                                 t          |
                                          dk    sJ t          ||                                           t          j        d                              d          }|                    |           |                                 t          |
                                          dk    sJ t           j                            |d	          }|                    |           |                                 t          |
                                          d
k    sJ d S )Nr  )r   r   r    r   r,   r   r   r   r   )r   r    r    r   )r.   r   r0   r   update_scalarmappableget_facecolormamasked_wherer   r,  	get_pathsr   r   r   r   masked_less)rF  rG  zzquadmeshquadmesh_fcpolymeshs         r   'test_polyquadmesh_masked_vertices_arrayrz    s   [LLL11FB
R%"crc	B~b"b))H""$$$((**122qqq51K			R1Wq12	6	6Bz"b"%%H""$$$x!!##$$)))){H$:$:$<$<=== 
		R1Wq12	6	6Bz"b"%%H""$$$x!!##$$)))){H$:$:$<$<=== 
		RSbS\Q.2crc3B3h<13DEr	J	JBz"~~H""$$$x!!##$$)))){H$:$:$<$<===
 
1		f	%	%Br""$$$x!!##$$))))			2q	!	!Br""$$$x!!##$$))))))r   c                 >   g d}g d}t          j        d          }t          j        ||          \  }} t          t          |           |||          }t          j        |j        |j        g          j        }t          |                                |           d S )Nr  )r    r   r   )r    r    )r  )	r.   r  r   rd  r0   stackr   r   get_coordinates)r   r   r   r9  rF  rG  r6   r  s           r   test_quadmesh_get_coordinatesr~    s    		A		A
fA[AFB73B**D XrtRTl##%Ft++--v66666r   c                  N   t          j        d          } t          j        d          }t          j        d                              d          }t          j                    \  }}|                    | |t          j        |j                            }|                    |           |j	        
                                 t          j        |                                |          sJ |                    t          j        d                     |j	        
                                 t          j        |                                t          j        d                    sJ t          j        d                              d          }t          j                    \  }}|                    | |t          j        |j                  d          }|                    |           |j	        
                                 t          j        |                                |          sJ |                    t          j        d                     |j	        
                                 t          j        |                                t          j        d                    sJ d S )Nr   r  r  r;  )r   r   ri  rj  )r.   r   r   r0   r1   r   r  r  r   r  r  r*  rM  )r   r   r9  r7   r8   r6   s         r   test_quadmesh_set_arrayr     s   
	!A
	!A
	!V$$AlnnGC==Arwqw//00DNN1JOO>$..**A..... 	NN271::JOO>$..**BGAJJ77777
	"f%%AlnnGC==Arwqw//=CCDNN1JOO>$..**A..... 	NN272;;JOO>$..**BGBKK8888888r   c                 j   t          j                    \  }}t          j        d         }t          j                            dd          } t          ||           dgg||          }|j                                         t          j
        |                                dd d f          | |d                              sJ d\  |_        |_        |j                                         t          j
        |                                dd d f          | |d                              sJ d S )Nplasmar   r   )vminvmax)r  r   )r   r    )r0   r1   r  	colormapsr5  	Normalizerd  r  r  r.   r*  r  r  r  )r   r7   r8   r  r   r6   s         r   test_quadmesh_vmin_vmaxr    s   lnnGC="D:QQ//D72vu4d;;;DJOO>$--//1115ttDDGG}}EEEEE  DItyJOO>$--//1115ttDDGG}}EEEEEEEr   c                 B   t          j        d          }t          j        d          }t          j        d                              d          }||                                z  }|                                }t          j        d          \  }\  }} t          ||           ||||          }	 t          ||           |||          }
|
                    |           t          j	                     t          |	                                d d df         |           t          |
                                d d df         |           t          j        d          \  }\  }} t          ||           ||||          }	 t          ||           |||          }
|
                    |           t          j	                     t          |	                                d d df         |           t          |
                                d d df         |           d S )Nr   r  r  r    )rK  r,   )r.   r   r   maxr   r0   r1   rd  r-  r  r   r  )r   r   r   r9  rK  
alpha_flatr7   r  r  coll1coll2s              r   test_quadmesh_alpha_arrayr  .  s   
	!A
	!A
	!V$$AKEJl1ooOC#s GC  Aq666E GC  Aq))E	OOEHJJJu++--aaae4jAAAu++--aaae4jAAAl1ooOC#s GC  Aq666E GC  Aq))E	OOEHJJJu++--aaae4jAAAu++--aaae4jAAAAAr   c                 l   t          j                    \  }} t          ||           t          j        d                              d                    }t          j        t          d          5  |	                    ddg           |
                                 d d d            d S # 1 swxY w Y   d S )Nr  )r   r   z^Data array shaper  r   333333?)r0   r1   rd  r.   r   r   r  r  r   r-  rp  )r   r7   r8   pcs       r   test_alpha_validationr  F  s    lnnGC	V		RYr]]226::	;	;B	z)<	=	=	= # #
c3Z   
  """# # # # # # # # # # # # # # # # # #s   0,B))B-0B-c                     t           j                            d           t           j                            d          } t           j                            d          }dt           j                            d          z
  }d|z  }g d}t          j                    \  }}|                    | ||          }|                    d|d 	          \  }}	d
 |D             }
d |
D             }
t          |
|d           dS )z|
    Ensure legend markers scale appropriately when label and size are
    inversely related.
    Here label = 5 / size
    r  2   r   r   )r<  皙?r  g?r  r>  c                     d| z  S )Nr   r   r  s    r   r  z=test_legend_inverse_size_label_relationship.<locals>.<lambda>`  s
    QU r   )r   r  r  c                 6    g | ]}|                                 S r   r  r'  s     r   r  z?test_legend_inverse_size_label_relationship.<locals>.<listcomp>d  s$    8881A$$&&888r   c                     g | ]
}d |dz  z  S )r   r    r   r'  s     r   r  z?test_legend_inverse_size_label_relationship.<locals>.<listcomp>e  s     333A1H333r   r   N)r.   r  r  r0   r1   r   r  r   )r   r   CSlegend_sizesr7   r8   r  handleslabelshandle_sizess              r   +test_legend_inverse_size_label_relationshipr  O  s     INN8
	A
	A	BIR   A	AA'''LlnnGC	AqA		B((?? )  OGV
 98888L33l333LlL!DDDDDDr   c                 N   t          t          |           } t          j        d                              dd          } | |dd          }|                                 t          j        |                                          } |	                                |
                    |                                                    }t          j        |                                d          sJ  | |          }|                    d           |                    d           |                                 t          j        |                                d          sJ t          j        |                                g dg          sJ |                    d           |                                 t          j        |                                g d	g          sJ |                    d            |                                 t          j        |                                g dg          sJ |                    d            |                                 t          j        |                                |          sJ |                    d            |                                 t          j        |                                |          sJ t          j        |                                d          sJ |                    d            |                                 t          j        |                                d          sJ t          j        |                                |          sJ |                    |           |                                 t          j        |                                |          sJ t          j        |                                d          sJ  | |d
d          }|                                 t          j        |                                |          sJ t          j        |                                g dg          sJ  | |d
t          j        d                    }|                                 t          j        |                                |          sJ t          j        |                                g dg          sJ |                    d            |                                 t          j        |                                t          j        d                    sJ t          j        |                                g dg          sJ  | |d
t          j        d                    }|                                 t          j        |                                |          sJ t          j        |                                g dg          sJ |                    d            |                                 t          j        |                                t          j        d                    sJ t          j        |                                g dg          sJ d S )Nr  r   r   r  r   )r  r   r!   r   )r   r   r   r   )r   r   r   )r   r   r   )r  r   )r  r   )rd  r0   r.   r   r   rp  mcolorsto_rgba_array_get_default_facecolorget_cmapr   r   
same_colorget_edgecolorset_facecolorset_edgecolorrq  r-  r*  r   r  )r   r9  r  face_defaultmappeds        r   test_color_logicr  j  s   S&!!F
	"a##A	e	7	7	7B()B)B)D)DEELR[[]]27717799--..Fb..00%88888	BVUb..00&99999b..00<<<.AAAAALLb..00>>>2BCCCCCLLb..00<<<.AAAAAT>"**,,f55555T>"**,,f55555b..00&99999LLb..00&99999b..00,?????LLOOO>"**,,f55555b..00&99999	iI	>	>	>B>"**,,f55555b..00<<<.AAAAA	iBGG4D4D	E	E	EB>"**,,f55555b..00<<<.AAAAALLb..00"''2B2BCCCCCb..00<<<.AAAAA	iBGG4D4D	E	E	EB>"**,,f55555b..00<<<.AAAAALLb..00"''2B2BCCCCCb..00<<<.AAAAAAAr   c                     t          d dddg d          } |                                 d         dk    sJ t          j        |                                 d          sJ |                                 dk    sJ t          j        |                                 g dg          sJ t          d d           } t          j        |                                 d          sJ d S )	Ng@r  r   )r   r   r   r   )r&   	edgecolorzorderr   r   )	facecolorr   )r   get_linewidthr  r  r  
get_zorderrq  )lcs    r   test_LineCollection_argsr    s    	s \\\
; 
; 
;Ba C''''b..00#66666==??ab..00<<<.AAAAA 
	-	-	-Bb..00&9999999r   c                    t          j        d                              dd          } t          t          |           |          }|                    |                                           |                                 |                    |           |                                 t          j        dt           j                                      ddd          }|                    |           |                                 d S )Nr  r   r   $   r!  )	r.   r   r   rd  r0   r   r   rp  uint8)r   r9  r  s      r   test_array_dimensionsr    s    
	"a##A	f		a	 	 BLLLLOOO
	"BH%%%--aA66ALLOOOr   c                      t          j        t          j        ddd          d          j        } t	          | g          }|                                \  }t          j        | |k              sJ d S )Nr   r      )r    r   )r.   rV  r   r   r   r   r  )r   r  readbacks      r   test_get_segmentsr    se    wr{1a--v668H	
	#	#B!!IH6(h&'''''''r   c                     t          j                    } dg}t          j        |          }t          j        |d          }t          j        |          }|                    d           |                    |           j        }|                    |           j        }|                    |           j        }||k    sJ ||k    sJ d S )Nr    )r>  r  )r>  r   )r   r   r   CircleCollectionset_offsetsr   r   )identityr>  r   initlatenull_boundsinit_boundslate_boundss           r   test_set_offsets_later    s    ,..HCE(u555D(uhGGGD(u555DX ""8,,3K""8,,3K""8,,3K +%%%%+%%%%%%r   c                  8   t          j                                        dd          } t          j        |           }t          j                    }|                    |            | |                                cxk    r|                                k    sn J d S )Nr    )r   )r   r   skewr   r   set_offset_transformget_offset_transform)r  r  r  s      r   test_set_offset_transformr    s    !!&&q!,,D"D999D"$$Dd###4,,..MMMM$2K2K2M2MMMMMMMMMr   c                     t          j        ddd          } t          j        |           }| t          j        dd          z  t          j        d          z   }t          j        ||          }|                                }|                    t          t          ||                               t           j                            ||                                           t          j                    \  }}|                    ||          }|                                }|                    t          t          ||                               t           j                            ||                                           d S )Nr   r   r   r   r  z
2021-11-29)r.   r   r   timedelta64
datetime64r0   r   get_offsetsr  r*  r.  r?   rY  r1   )r   r   dr  off0r7   r8   s          r   test_set_offset_unitsr    s&    	Ar1A
q		A	BN2s###bmL&A&AAA	Q		B>>DNN4Aq		??###JtR^^%5%5666 lnnGC	Aq		B>>DNN4Aq		??###JtR^^%5%566666r   test_check_masked_offsets)baseline_imagesr   r   r  c                  j   t          dddddd          t          dddddd          t          dddddd          t          dddddd	          t          dddddd
          g} t          j                            g dg d          }t	          j                    \  }}|                    | |           d S )Ni  r  ro   r   1   4   5   rh  7   8   r   r    r   r   r   )r   r   r   r   r   mask)r   r.   rr  r/   r0   r1   r   )
unmasked_xmasked_yr7   r8   s       r   r  r  
  s     	r2q"b))r2q"b))r2q"b))r2q"b))r2q"b))J u{{???{AAHlnnGCJJz8$$$$$r   c                 :   t           j                            g dg d          }t          j        dd          }|                                }|                    ||          }|                    t           j                            ||g                     |                    g            |	                    g            |                                 }|                    g dg d           |                    g            |	                    g            d S )Nr  r   r   r   r   r   r  r   r   )r   r    r   )
r.   rr  r/   r   add_subplotr   r  rT  
set_xticks
set_yticks)r   r   r   r   r   scatr   s          r   test_masked_set_offsetsr    s    
OOO///::A
	!QA""$$G??1a  DRU''A//000rr  ""F
NN999iii(((
b
br   c                  X   t           j                            g dg d          } t          j        dd          }t	          j                    \  }}|                    | |          }t           j                            | |g          }|                    |           t          |
                                t          |                    sJ t          j        | |g          }|                    |           t          |
                                t          |                    sJ d S )Nr  r  r  r   r   )r.   rr  r/   r   r0   r1   r   rT  r  
isinstancer  type)r   r   r7   r8   r  masked_offsetsunmasked_offsetss          r   test_check_offsets_dtyper  .  s   
OOO///::A
	!QAlnnGC::aDU''A//N^$$$d&&(($~*>*>?????1v..%&&&d&&(($/?*@*@AAAAAAAr   gapcolororanger  r"  c           
          |                      d          }|                     d          }||fD ].}|                    dd           |                    dd           /t          dd          }g d}|                    |ddd||d           t          |t                    r|g}t          |t          j	        |          t          j	        |                    D ]"\  }}}	|
                    |ddd|	|d           #d S )	No   r   r   r   ):r  z--rp   r   )r&   r(   r  rK  )r  r4   r5   r+  vlinesr  strr.  	itertoolscycleaxvline)
r   r   r  r   r   r8   r   r  gcolr   s
             r   test_striped_linesr  >  s2    ""3''G  %%F  
Aq
AqaA!!!JNN1abJ     (C   :1ioh77$?:668 8 V V4q!Q"TQTUUUUV Vr   )r   pdfsvgepsc                    |                                  }|                                 }d}g dg dg}t          |d          }|                    |           t          j        d|i          5  t          |d          }d d d            n# 1 swxY w Y   |                    |           |                    |           |                                |                                cxk    r|k    sn J d S )Nr   ))r   r   )r   r  )r  r  )r  r   ))r  r  )r  ?)r  r  )r  r  r   )hatchzhatch.linewidth)r  r
   set_hatch_linewidthr  
rc_contextr2   get_hatch_linewidth)r   r   r   r   r  polygonsreftests           r   test_hatch_linewidthr  V  sV   ""$$G  ""F	B 	988888H 
-
-
-CB	*B/	0	0 3 3hc2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 #4   ##%%)@)@)B)BHHHHbHHHHHHHHs   /BBB)sr   rq  r  platformrl  typesr   numpyr.   numpy.testingr   r   r  
matplotlibr  matplotlib.pyplotpyplotr0   matplotlib.collectionscollectionsr   matplotlib.colorsr5  r  matplotlib.pathpathr   matplotlib.transforms
transformsr   r   r   r	   r
   r   matplotlib.testing.decoratorsr   r   fixturer   r:   rI   rR   rX   r\   r`   re   rh   rl   rs   ry   r   r   r>   r   r   r   r   r  contextr   r   r   machiner  r  r;  rL  rk  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r7  markparametrizerB  rH  rP  r_  rb  re  rn  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   <module>r     s
         				      				 ! ! ! ! ! !     G G G G G G G G            - - - - - - # # # # # #       + + + + + +E E E E E E E E E E E E < < < < < < O O O O O O O O h/000  10% % %P 2344= = 54=2 89::
 
 ;:
 89::  ;:" ;<==  >= ;<==  >= =>??  @?  ABCC= = DC=( :;<<  =<  9:;;  <; 9:;;  <;      
	7 	7 
	7 45661 1 7610 0 04! ! != = == = =' ' ' 7((() ) )( )08 8 8") ) ) 56D/x/11W<<ee!E E E E E&(C (C (CV -.DPPP" " QP"J 56DIII  JI 454HHH  IH8, , ,, , ,,! ! !*? ? ?(	F 	F 	F  
 #$$777  87      " 9
5 
5 
5! ! ! 9( ( ( 9* * * *+,,G G -,G& +,")5 5 5 5 5; ; ;:. . .b@ @ @5 5 5$ (((B#899  :9 )( GG;$ugk#VW1a&$VW	J  G G G3 3 3 8 8 8= = = .1  	8 	8	 	8-5 -5 -5`-* -* -*`	7 	7 	79 9 9<F F F B B B0# # #E E E6 9BB BB BBJ: : :   ( ( (& & &*N N N7 7 7( #>"?#W$gG G G% %G G%" (((  )( B B B  hc
%;<<(((V V )( =<V,  < < <===I I >=I I Ir   