
    (?e!                        d dl m 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"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             Z. e#dg          d             Z/ e#dg          d             Z0 e#g d           d!             Z1 e#d"g          d#             Z2d$ Z3d% Z4d& Z5d' Z6ej7        8                    d(           e"d)g*          d+                         Z9d, Z:d- Z; e#d.gd/0          d1             Z< e#d2gd/d(3          d4             Z= e#d5gd/0          d6             Z> e#d7gd/0          d8             Z?d9 Z@d: ZAd; ZBd< ZCd= ZDd> ZE e#d?gd/0          d@             ZFdA ZGej7        8                    dB          dC             ZHdD ZIej7        8                    dB          dE             ZJej7        8                    dB          dF             ZK e#dGg          dH             ZL e#dIgd/dB3          dJ             ZMdK ZNdL ZOdM ZPdN ZQdO ZRdP ZSdQ ZTejU        V                    dRdSdTg          dU             ZWdV ZXdW ZYdX ZZdY Z[dZ Z\d[ Z]d\ Z^d] Z_ej7        8                    dB          d^             Z`d_ Zad` Zbda Zcdb Zddc Zedd Zf e#degd)gd/d(f          dg             Zg e"d)g*          dh             Zhdi ZiejU        V                    djdkdldmgg           e"d)g*           ejj        dndoi          dp                                     ZkdS )q    )datetimeN)SimpleNamespace)assert_array_equalassert_array_almost_equal)
CollectionLineCollectionEventCollectionPolyCollection)check_figures_equalimage_comparison
pcolormeshpcolor)paramsc                     | j         S N)param)requests    Alib/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_plotr9      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&   )r9   check_segmentsr-   testingr   get_positionsget_orientationis_horizontalget_linelengthget_lineoffsetget_linestyle	get_color
get_colors)_r5   r8   r&   s       r    test__EventCollection__get_propsrH   C   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   )
r9   r-   hstackset_positionsr>   r   r?   r=   r2   r3   spltr5   r8   new_positionss       r   $test__EventCollection__set_positionsrQ   ]   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+   #   )r9   r-   rL   switch_orientationadd_positionsr>   r   r?   r=   r2   r3   rN   s       r   $test__EventCollection__add_positionsrW   k   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+   rK   )
r9   r-   rL   append_positionsr>   r   r?   r=   r2   r3   rN   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+   rK   )
r9   r-   rL   extend_positionsr>   r   r?   r=   r2   r3   rN   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   )	r9   rU   r@   rA   r?   r=   r2   r4   r3   )rO   r5   r8   new_orientationrP   s        r   )test__EventCollection__switch_orientationrd      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)
r9   rU   r?   r@   rA   r-   r>   r   r=   r2   rN   s       r   ,test__EventCollection__switch_orientation_2xrg      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 )
Nrb   r)   r$   r#   z EventCollection: set_orientationr+   r,   r   r   )r9   set_orientationr@   rA   r=   r2   r4   r3   )rO   r5   r8   rc   s       r   &test__EventCollection__set_orientationrk      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   )r9   set_linelengthrB   r=   r2   r4   )rO   r5   r8   new_linelengths       r   %test__EventCollection__set_linelengthrr      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)r9   set_lineoffsetrC   r=   r2   r4   )rO   r5   r8   new_lineoffsets       r   %test__EventCollection__set_lineoffsetrx      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_linestylery   #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_ )r9   setr/   getpr2   )propvalueexpectedrO   r5   rG   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)	r9   r-   r.   	set_colorrE   rF   r>   r   r2   )rO   r5   rG   	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   rb   z.orientation must be 'horizontal' or 'vertical'r   )get_segmentslower
ValueError	enumerate)
r5   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                     t          j        g           } |                     t          j                              }t          |                                t          j                                                                                   d S r   )	mcollectionsPathCollectionget_datalimmtransformsIdentityTransformr   
get_pointsBboxnull)colcol_data_lims     r   test_null_collection_datalimr   '  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   )r/   axesr   r   mpathPathr1   r   r   r   r   r   r   r   )r7   r5   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   )r/   figurer   scatterdataLimbounds)r7   r   s     r   test_add_collectionr   9  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flattenr0   
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   D  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      "@ro             	transform)g      4@g      >@g      .@r}   )r/   r   r-   arangelinspacereshapequiverr   	transDatar   r   r   r   Affine2D	translatesincosr   )r7   r   r   uvqtranss          r   test_quiver_limitsr   ^  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   ro   r   r   r   r   r   )ro      rn      r   decimal)r/   r   r-   r   r   r   r   r   r   barbsr   r   r   r   r   )r7   r   r   r   s       r   test_barb_limitsr   o  s    	B
BBA
B2A;q!DAq "",,R44r|CEIaBF1IIrvayyE:::: bj/&') ) ) ) ) )r   z EllipseCollection_test_image.pngT)remove_textc            	         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+   ro   r   r   )unitsoffsetsoffset_transform
facecolors)r/   r0   r-   r   r   vstackravelT	ones_liker   EllipseCollectionr   r1   autoscale_view)r6   r7   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   zpolycollection_close.png)r   stylec                  @   ddl m}  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   )Axes3Dr   r   r   r         @)rgbr   kr~         ?r%   gffffff?r   )zszdirr   r   )mpl_toolkits.mplot3dr   r/   r   add_axeslistranger   r
   len	set_alphazipextendr   add_collection3d
set_xlim3d
set_zlim3d
set_ylim3d)r   	vertsQuadr6   r7   colorszpospolyr  cszcs              r   test_polycollection_closer    s   ++++++ 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.pngc                     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  r/   r0   r  r   RegularPolyCollectionr   r1   r   )	xxyy	xy_points	rotationsr6   r7   xyalphar   s	            r   !test_regularpolycollection_rotater-    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-   r%  )selfkwargs	__class__s     r   r3  zCtest_regularpolycollection_scale.<locals>.SquareCollection.__init__  s1    EGG<<r<V<<<<<r   c                     | j         }d|j        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@)
r   r   dpibboxwidthviewLimheightr   r   scale)r4  r7   
pts2pixelsscale_xscale_ys        r   get_transformzHtest_regularpolycollection_scale.<locals>.SquareCollection.get_transform  sf    B	-J 27=02:3CCG 27>1BJ4EEG'))//AAAr   )__name__
__module____qualname__r3  rA  __classcell__)r6  s   @r   SquareCollectionr0    sN        	= 	= 	= 	= 	=	B 	B 	B 	B 	B 	B 	Br   rF  r   r   )r  r   r   Tr!  )r+   r   r+   r   )	r   r&  r/   r0   r-   r%  r   r1   axis)rF  r6   r7   r+  circle_areassquaress         r    test_regularpolycollection_scalerJ    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)r8  iE     )r   r   ind)
r/   r0   r   savefigioBytesIOr8  r   containsr   )r6   r7   r   mouse_eventfoundindicess         r   test_pickingrV    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   rN  r         ?r]  r~   )r-   r   r/   r0   r   draw_without_renderingrA  r   r   rR  r   )r   r   r6   r7   meshrZ  r[  r   rS  rT  rU  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      пTrY  )r/   r0   r   r^  rA  r   r   rR  )r   r   r6   r7   r_  pointspointrZ  r[  r   rS  rT  rU  s                r   test_quadmesh_contains_concavere    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   rX  rY  r   )r-   r   r/   r0   r   _Ar^  rA  r   r   get_cursor_data	set_arrayonesshaper   )	r   r   r6   r7   r_  rZ  r[  r   rS  s	            r   test_quadmesh_cursor_datarl    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\  rY  	   )r/   r0   r   r-   rj  r^  rA  r   r   r   rh  )r   r6   r7   r_  rZ  r[  r   rS  s           r   )test_quadmesh_cursor_data_multiple_pointsrp  +  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'   )r/   r   drawr   r   r   test_linestyle_single_dashesrt  7  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   rv  )rn   rn   r+  )r   r   r   r   r   )r/   r0   r   r   r   r1   r3   r4   )r6   r7   widthsheightsanglescoordses          r   test_size_in_xyr|  <  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)         )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  M  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  l  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  r  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 )Nrb  r]        @)r   r   r   r   r   r   )r   r   r   )r   r   r   r   r   )r   rn   ro   r  r  r  z2Line collection with customized caps and joinstyle)r/   r0   r3   r4   r-   r.   zerosr   r  r  r1   r2   )r6   r7   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   )r/   r0   r   r  r  )r6   r7   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  r,  r  r+   )r  r  r  r  m)r&   r,  r  )r&   )	r-   r   r/   r0   r   r  rs  r   get_facecolors)r   r,  r6   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   )rE   .0lines     r   
<listcomp>z7test_pathcollection_legend_elements.<locals>.<listcomp>  s"    666Dt~~''666r   r   r   )locro  )numr  r   r  )r   r,  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-   randomseedrandrandintr/   r0   r   legend_elementsr  r.   r  r   r   legendr  sqrtr  r   mpltickerMaxNLocator
add_artistcanvasrs  )r   r   r  r  r6   r7   r  hr  r  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   )arrr5   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_arrayr    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   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_input-   r~   )
r  r   ri  r  r  	TypeErrorr-   	not_equal	get_arrayany)valsr  s     r   test_collection_set_arrayr%  	  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   TF)scalexscaleyr   r   )r-   column_stackrepeattiler  r   r/   r0   r   blended_transform_factoryr   	transAxesr1   r   r   r>   assert_allcloseget_xlim)ar<  xy_pairs	line_segsfr7   r   s          r   test_blended_collection_autolimr5    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?)r/   r0   r   r-   r>   r/  get_ylimr0  )r6   r7   s     r   test_singleton_autolimr8  '  ss    lnnGCJJq!Jr{{}}udm<<<Jr{{}}udm<<<<<r   ztransform, expected)r   )rb  g      @)r.  )gffffff@g	@c                 r   t          j                    \  }}|                    ddt          ||                      |                    dd           t          j                            |                                |           t          j                            |                                |           d S )Nr   r   r   )	r/   r0   r   getattrr-   r>   r/  r7  r0  )r   r   r6   r7   s       r   test_autolim_with_zerosr;  .  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   r=  6   )r   ro  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,))ro  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))ro  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))r=  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  r/   r0   r:  r  r  r   reescaperi  r   r   rj  r   )r   r   r   r  r6   r7   r5   s          r   "test_quadmesh_set_array_validationrD  >  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        t          j        d          5  |                    t          j        d                     d d d            n# 1 swxY w Y   t          j        d	                              d
          }|                    |           |                                 t          |
                                          d	k    sJ t           j                            |d          }|                    |           |                                 t          |
                                          dk    sJ d S )Nrr  )r   r   r   r   r+   r   r   r~   zSetting a PolyQuadMeshr  r   )r   r   r   r   )r-   r   r/   r   update_scalarmappableget_facecolormamasked_wherer   r  	get_pathsr   r  warnsr  MatplotlibDeprecationWarningri  rj  r   r   masked_less)r'  r(  zzquadmeshquadmesh_fcpolymeshs         r   'test_polyquadmesh_masked_vertices_arrayrR  n  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$:$:$<$<=== 
c64
6 
6 
6 ' '271::&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 
1		f	%	%Br""$$$x!!##$$))))			2q	!	!Br""$$$x!!##$$))))))s   (J<<K K c                 >   g d}g d}t          j        d          }t          j        ||          \  }} t          t          |           |||          }t          j        |j        |j        g          j        }t          |                                |           d S )Nrr  )r   r   r   )r   r   )rk  )	r-   rj  r   r:  r/   stackr   r   get_coordinates)r   r   r   r  r'  r(  r5   rz  s           r   test_quadmesh_get_coordinatesrV    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   ro  rn     )r   r   r?  r@  )r-   r   r   r/   r0   r   rj  rk  ri  r  rs  r  r"  )r   r   r  r6   r7   r5   s         r   test_quadmesh_set_arrayrY    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  norm)r   r   )r/   r0   r  	colormapsr  	Normalizer:  r  rs  r-   r  r  r\  r]  )r   r6   r7   r  r^  r5   s         r   test_quadmesh_vmin_vmaxra    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   ro  rn  r   )r,  r+   )r-   r   r   maxr   r/   r0   r:  r  rs  r   r  )r   r   r   r  r,  
alpha_flatr6   r  r  coll1coll2s              r   test_quadmesh_alpha_arrayrg    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?)r/   r0   r:  r-   r   r   r  r  r   r  rF  )r   r6   r7   pcs       r   test_alpha_validationrk    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'  g?ri  g?r  r  c                     d| z  S )Nr~   r   rn  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>  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>  s     333A1H333r   r   N)r-   r  r  r/   r0   r   r  r   )r   r   CSlegend_sizesr6   r7   r  handleslabelshandle_sizess              r   +test_legend_inverse_size_label_relationshiprx    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   )r:  r/   r-   r   r   rF  mcolorsto_rgba_array_get_default_facecolorget_cmapr^  r   
same_colorget_edgecolorset_facecolorset_edgecolorrG  r  r  ri  rj  )r   r  rj  face_defaultmappeds        r   test_color_logicr    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_linewidthrz  r~  r  
get_zorderrG  )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   r:  r/   ri  r   rF  uint8)r   r  rj  s      r   test_array_dimensionsr  m  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-   r,  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  rv  )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  z
2021-11-29)r-   r   r   timedelta64
datetime64r/   r   get_offsetsr  r  r  r>   r/  r0   )r   r   dr  off0r6   r7   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  rn   r   1   4   5   r>  7   8   r   r   r   r   r~   )r   r   r   r   r   mask)r   r-   rH  r.   r/   r0   r   )
unmasked_xmasked_yr6   r7   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-   rH  r.   r   add_subplotr   r  r*  
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-   rH  r.   r   r/   r0   r   r*  r  
isinstancer  type)r   r   r6   r7   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  zlines.linewidthro   c           	         |                      d          }|                     d          }||fD ].}|                    dd           |                    dd           /t          dd          }g d}|                    |dd||d           t          |t                    r|g}t          |t          j	        |          t          j	        |                    D ]!\  }}}	|
                    |dd|	|d           "d S )No   r   r   r   ):r  z--r   )r'   r  r,  )r  r3   r4   r  vlinesr  strr  	itertoolscycleaxvline)
r   r   r  r   r   r7   r   r  gcolr   s
             r   test_striped_linesr    s!    ""3''G  %%F  
Aq
AqaA!!!JNN1aj83NOOO(C   :1ioh77$?:668 8 H H4q!Q"t3GGGGH Hr   )lr   rP  r  rB  typesr   numpyr-   numpy.testingr   r   r  
matplotlibr  matplotlib.pyplotpyplotr/   matplotlib.collectionscollectionsr   matplotlib.colorsr  rz  matplotlib.pathpathr   matplotlib.transforms
transformsr   r   r   r	   r
   matplotlib.testing.decoratorsr   r   fixturer   r9   rH   rQ   rW   r[   r_   rd   rg   rk   rr   rx   r   r   r=   r   r   r   r   contextr   r   r   r   r  r-  rJ  rV  r`  re  rl  rp  rt  r|  r  r  r  r  r  r  r  r  r  r  r  r%  r5  r8  markparametrizer;  rD  rR  rV  rY  ra  rg  rk  rx  r  r  r  r  r  r  r  r  r  r  
rc_contextr  r   r   r   <module>r     sM	         				     				 ! ! ! ! ! !     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III  JI& -.DPPP! ! QP!H 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$3 3 3 8 8 8= = = .1  	8 	8	 	8-5 -5 -5`2* 2* 2*j	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
%;<<((("B'((H H )( )( =<H H Hr   