Ë
    \;j÷ ã            	       óÌ	  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ 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mZ d dlm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' d dlm(Z( d dl)m*Z* d	„ Z+d
„ Z, edgdd¬«      d„ «       Z- edgdd¬«      d„ «       Z. edgd¬«      d„ «       Z/d„ Z0d„ Z1 edgdd¬«      d„ «       Z2 edgdd ejf                  «       dk(  rd nd¬«      d„ «       Z4 edgdd ejf                  «       dk(  rd nd¬«      d „ «       Z5 ed!gdd ejf                  «       dk(  rd nd"¬«      d#„ «       Z6 ed$gdd ejf                  «       dk(  rd nd"¬«      d%„ «       Z7 ed&gddej                  d'k(  rd(nd ¬«      d)„ «       Z8 ed*gdd ejf                  «       dk(  rd nd+¬«      d,„ «       Z9 ed-d.gdd¬«      d/„ «       Z: ed0gdd¬«      d1„ «       Z; ed2gdd3¬«      d4„ «       Z<d5„ Z=d6„ Z> e«       d7„ «       Z? G d8„ d9«      Z@ G d:„ d;«      ZAd<„ ZB ed=gd¬«      d>„ «       ZCd?„ ZDd@„ ZEdA„ ZF edBgd¬«      dC„ «       ZG edDgd¬«      dE„ «       ZHdF„ ZIdG„ ZJdH„ ZKdI„ ZL edJgddej                  d'k(  rdKnd ¬«      dL„ «       ZMdM„ ZNdN„ ZOdO„ ZPdP„ ZQdQ„ ZRdR„ ZSej¨                  j«                  dSdT«      dU„ «       ZVej¨                  j«                  dVdW«      dX„ «       ZWej¨                  j«                  dVdY«      dZ„ «       ZXej¨                  j«                  dSdT«      d[„ «       ZYej¨                  j«                  d\d]«      d^„ «       ZZd_„ Z[d`„ Z\da„ Z]db„ Z^dc„ Z_dd„ Z`de„ Zadf„ Zbdg„ Zcdh„ Zddi„ Zedj„ Zfdk„ Zgej¨                  j«                  d\d]«      dl„ «       Zhdm„ Zidn„ Zjdo„ Zkdp„ Zldq„ Zm	 d¦dr„Znds„ Zo	 	 d§dt„Zpdu„ Zq	 d¦dv„Zrdw„ Zsej¨                  jé                  dx«      dy„ «       Zuej¨                  j«                  dzd{«      d|„ «       Zvd}„ Zwed~„ «       Zxd„ Zyd€„ Zzej¨                  j«                  d�d‚dƒgd„ e
jö                  d‚dƒg«      g«      d…„ «       Z|ej¨                  j«                  d†d‡dˆe}g«      d‰„ «       Z~dŠ„ Zd‹„ Z€dŒ„ Z�d�„ Z‚dŽ„ Zƒd�„ Z„d�„ Z…d‘„ Z†d’„ Z‡ e«       d“„ «       Zˆd”„ Z‰d•„ ZŠd–„ Z‹d—„ ZŒd˜„ Z�d™„ ZŽdš„ Z�d›„ Z�dœ„ Z‘d�„ Z’ej¨                  jé                  dx«      dž„ «       Z“dŸ„ Z”d „ Z•d¡„ Z–d¢„ Z—d£„ Z˜d¤„ Z™d¥„ Zšy)¨é    N)Úmock)Úassert_allclose)Úcheck_figures_equalÚimage_comparison)Úneeds_usetex)ÚHandlerTuple)Ú
rc_context)ÚFontPropertiesc                  ó  — t         j                  j                  d«      } t         j                  j                  d«      }dgdz  dgdz  z   }dgdz  dgdz  z   }t        j                  «       \  }}t        | |||«      D ]  \  }}}}	|j                  ||||	¬«       Œ |j                  «       \  }
}t        j                  t        ||
«      «      }|j                  |j                  «       |j                  «       dd	¬
«       y )Né
   Úaé   ÚbÚrÚg©ÚlabelÚcúcenter left)é   ç      à?)ÚlocÚbbox_to_anchor)ÚnpÚrandomÚrandnÚpltÚsubplotsÚzipÚscatterÚget_legend_handles_labelsÚcollectionsÚOrderedDictÚlegendÚvaluesÚkeys)ÚXÚYÚlabelsÚcolorsÚfigÚaxÚxÚyr   ÚcolorÚhandlesr$   s               úeG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\matplotlib/tests/test_legend.pyÚtest_legend_ordereddictr2      sæ   € ô 	�	‰	�‰˜Ó€AÜ
�	‰	�‰˜Ó€AØˆU�Q‰Y˜#˜ ™Ñ"€FØˆU�Q‰Y˜#˜ ™Ñ"€Fä�l‰l‹n�G€CˆÜ! ! Q¨°Ö7Ñˆˆ1ˆe�UØ
�
‰
�1�a˜u¨ˆ
Õ.ð 8ð ×2Ñ2Ó4�O€GˆVÜ×$Ñ$¤S¨°Ó%9Ó:€FØ‡I�Iˆf�m‰m‹o˜vŸ{™{›}Ø°ð õ 9ó    c                  óæ   — t        j                  «       \  } }|j                  ddg«       |j                  ddg«       d„ |j                  «       D «       }d„ dD «       }|j	                  ||d¬«       y )	Nr   r   é   c              3   ó    K  — | ]  }|–— Œ y ­w©N© )Ú.0Úlines     r1   Ú	<genexpr>z(test_legend_generator.<locals>.<genexpr>4   s   è ø€ Ð/¡˜Œt¡ùó   ‚c              3   ó    K  — | ]  }|–— Œ y ­wr7   r8   )r9   r   s     r1   r;   z(test_legend_generator.<locals>.<genexpr>5   s   è ø€ Ð2Ñ!1˜ŒeÑ!1ùr<   )ÚspamÚeggsú
upper left©r   )r   r   ÚplotÚ	get_linesr$   )r+   r,   r0   r)   s       r1   Útest_legend_generatorrD   .   s\   € ä�l‰l‹n�G€CˆØ‡G�GˆQ�ˆF„OØ‡G�GˆQ�ˆF„Oá/ §¡¤Ó/€GÙ2Ñ!1Ó2€Fà‡I�Iˆg�v <€IÕ0r3   zlegend_auto1.pngTÚmpl20)Úremove_textÚstylec                  óà   — t        j                  «       \  } }t        j                  d«      }|j	                  |d|z
  dd¬«       |j	                  ||dz
  dd¬«       |j                  d¬«       y	)
úTest automatic legend placementéd   é2   Úoúy=1©r   úy=-1ÚbestrA   N)r   r   r   ÚarangerB   r$   )r+   r,   r-   s      r1   Útest_legend_auto1rR   :   s^   € ô �l‰l‹n�G€CˆÜ
�	‰	�#‹€AØ‡G�GˆAˆr�A‰v�s %€GÔ(Ø‡G�GˆAˆq�2‰v�s &€GÔ)Ø‡I�I�&€IÕr3   zlegend_auto2.pngc                  óø   — t        j                  «       \  } }t        j                  d«      }|j	                  ||dd¬«      }|j	                  ||ddd…   dd¬«      }|j                  |d   |d   gd	d
gd¬«       y)rI   rJ   ÚedgeÚm)Úalignr/   Néÿÿÿÿr   r   ÚupÚdownrP   rA   )r   r   r   rQ   Úbarr$   )r+   r,   r-   Úb1Úb2s        r1   Útest_legend_auto2r]   D   sv   € ô �l‰l‹n�G€CˆÜ
�	‰	�#‹€AØ	�‰��1˜F¨#ˆÓ	.€BØ	�‰��1‘T�r�T‘7 &°ˆÓ	4€BØ‡I�Iˆr�!‰u�b˜‘eˆn˜t V˜n°&€IÕ9r3   zlegend_auto3.png)rG   c                  óØ   — t        j                  «       \  } }g d¢}g d¢}|j                  ||dd¬«       |j                  dd«       |j	                  dd«       |j                  d¬	«       y
)rI   ©çÍÌÌÌÌÌì?çš™™™™™¹?ra   r`   r`   r   ©çffffffî?rc   çš™™™™™©?rd   r   r   úo-r:   rN   ç        ç      ð?rP   rA   N)r   r   rB   Úset_xlimÚset_ylimr$   )r+   r,   r-   r.   s       r1   Útest_legend_auto3rj   N   s[   € ô �l‰l‹n�G€CˆÚ&€AÚ*€AØ‡G�GˆAˆq�$˜f€GÔ%Ø‡K�K��SÔØ‡K�K��SÔØ‡I�I�&€IÕr3   c                  ób  — t        j                  dd¬«      \  } }g }t        |j                  d«      D ]®  \  }}|j	                  |«       |j                  dgddgz  z   t        d«      d	|¬
«       |j                  d¬«      }| j                  j                  «        |j                  |j                  «       j                  |j                  j                  «       «      «       Œ° t        |d   j                   |d   j                   «       t        |d   j                   |d   j                   «       y)zŠ
    Check that the legend location with automatic placement is the same,
    whatever the histogram type is. Related to issue #9580.
    é   )gš™™™™™@g333333@©ÚncolsÚfigsize)rZ   ÚstepÚ
stepfilledr   r   é	   r   ÚLegend)Úbinsr   ÚhisttyperP   rA   r   r5   N)r   r   r   ÚflatÚ	set_titleÚhistÚranger$   ÚcanvasÚdrawÚappendÚget_window_extentÚtransformedÚ	transAxesÚinvertedr   Úbounds)r+   ÚaxsÚ
leg_bboxesr,   ÚhtÚlegs         r1   Útest_legend_auto4r†   Z   sö   € ô �|‰| !¨ZÔ8�H€CˆØ€JÜ�c—h‘hÐ =Ö>‰ˆˆBØ
�‰�RÔà
�‰���a˜˜‘e‘¤%¨£)°8ÀbˆÔIØ�i‰i˜FˆiÓ#ˆØ�
‰
�‰ÔØ×ÑØ×!Ñ!Ó#×/Ñ/°·±×0EÑ0EÓ0GÓHõ	Jð ?ô �J˜q‘M×(Ñ(¨*°Q©-×*>Ñ*>Ô?Ü�J˜q‘M×(Ñ(¨*°Q©-×*>Ñ*>Õ?r3   c                  óø  — t        j                  dd¬«      \  } }g }t        |j                  d«      D �]  \  }}t	        j
                  dddd¬	«      t	        j                  t        j                  d
dgd
d
gdd
gddgddgddgddgddgddgg	«      d¬«      t	        j                  ddd
ddd¬«      fD ]  }|j                  |«       Œ |j                  ddgddgd¬«       |j                  |¬«      }| j                  j                  «        |j                  |j!                  «       j#                  |j$                  j'                  «       «      «       �Œ! t)        |d   j*                  |d
   j*                  «       y)z�
    Check that the automatic placement handle a rather complex
    case with non rectangular patch. Related to issue #9580.
    r5   )g333333#@g333333@rm   ©ÚcenterrP   )r   r`   çš™™™™™é?çš™™™™™É?ÚC1)ÚxyÚwidthÚheightÚfcr   r   r`   rg   ra   )r�   )r   r   r   ih  rd   ÚC0)rŽ   r�   z	A segmentrN   rA   N)r   r   r   rv   ÚmpatchesÚEllipseÚPolygonr   ÚarrayÚWedgeÚ	add_patchrB   r$   rz   r{   r|   r}   r~   r   r€   r   r�   )r+   r‚   rƒ   r,   r   Ú_patchr…   s          r1   Útest_legend_auto5r™   p   sj  € ô
 �|‰| !¨ZÔ8�H€Cˆà€JÜ�s—x‘xÐ!3×4‰ˆˆCô
 × Ñ Ø!¨°S¸TôCä× Ñ ¤§¡Ø˜�F˜Q ˜F Q¨ F¨Q°¨F°S¸#°JÀÀcÀ
Ø˜#�J  c 
¨S°#¨Jð+8ó "9à=AôCô —‘˜z¨3°°3¸dÀtÔLóˆFð �L‰L˜Õ ðð 	�‰��c�
˜S #˜J¨kˆÔ:à�i‰i˜CˆiÓ ˆØ�
‰
�‰ÔØ×ÑØ×!Ñ!Ó#×/Ñ/°·±×0EÑ0EÓ0GÓHö	Jð% 5ô* �J˜q‘M×(Ñ(¨*°Q©-×*>Ñ*>Õ?r3   zlegend_various_labels.pngc                  ód  — t        j                  «       } | j                  d«      }|j                  t	        j
                  d«      dd¬«       |j                  t	        j                  dd«      dd¬«       |j                  t	        j
                  ddd«      dd	¬«       |j                  dd
¬«       y )Néy   é   rL   r   rN   gffffff@u   DÃ©veloppÃ©srW   Ú__nolegend__rP   )Ú	numpointsr   )r   ÚfigureÚadd_subplotrB   r   rQ   Úlinspacer$   ©r+   r,   s     r1   Útest_various_labelsr£   �   sƒ   € ô �*‰*‹,€CØ	�‰˜Ó	€BØ‡G�GŒB�I‰I�a‹L˜# Q€GÔ'Ø‡G�GŒB�K‰K˜˜3Ó ¨N€GÔ;Ø‡G�GŒB�I‰I�a˜˜BÓ ¨N€GÔ;Ø‡I�I˜˜v€IÕ&r3   zlegend_labels_first.pngÚx86_64g¸…ëQ¸Ž?)rF   rG   Útolc                  óL  — t        j                  «       \  } }|j                  t        j                  d«      dd¬«       |j                  t        j
                  d«      dz  dd¬«       |j                  t        j                  ddd	«      d
d¬«       |j                  dd¬«       y )Nr   ú-or   rN   r   z:xr-   é   rW   ÚdÚdiamondrP   F)r   Úmarkerfirst)r   r   rB   r   rQ   Úonesr$   r¢   s     r1   Útest_labels_firstr­   ›   sz   € ô �l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹M˜4 q€GÔ)Ø‡G�GŒB�G‰G�B‹K˜‰M˜4 s€GÔ+Ø‡G�GŒB�I‰I�b˜"˜bÓ! 3¨i€GÔ8Ø‡I�I�& e€IÕ,r3   zlegend_multiple_keys.pnggL7‰A`å ?c                  ó,  — t        j                  «       \  } }|j                  g d¢d«      \  }|j                  g d¢d«      \  }|j                  g d¢d«      \  }|j                  ||f||f|gg d¢d||ft	        d ¬	«      ||ft	        d d
¬«      i¬«       y )N©r   r5   rl   r§   ©r5   rl   rœ   z-x©rl   rœ   r   z-d)ztwo keyszpad=0zone keyr   )Úndivider   )r²   Úpad)rž   Úhandler_map)r   r   rB   r$   r   )r+   r,   Úp1Úp2Úp3s        r1   Útest_multiple_keysr¸   ¦   s–   € ô �l‰l‹n�G€CˆØ
�'‰'’)˜TÓ
"�C€BØ
�'‰'’)˜TÓ
"�C€BØ
�'‰'’)˜TÓ
"�C€BØ‡I�I��Bˆx˜"˜b˜ 2Ð&Ò(HØØ ˜8¤\¸$Ô%?Ø ˜8¤\¸$ÀAÔ%FðHð õ Ir3   zrgba_alpha.pngg¸…ëQ¸ž?c                  óú   — d t         j                  d<   t        j                  «       \  } }|j                  t	        d«      d¬«       t        j
                  dgd¬«      }|j                  j                  g d¢«       y )	Núlegend.framealphar   r   ©ÚlwúLonglabel that will go awayr‰   rA   ©r   r   r   r   )r   ÚrcParamsr   rB   ry   r$   ÚlegendPatchÚset_facecolor©r+   r,   r…   s      r1   Útest_alpha_rgbarÃ   ´   s\   € ð )-„C‡L�LÐ$Ñ%Ü�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜!€GÔÜ
�*‰*Ð3Ð4¸(Ô
C€CØ‡O�O×!Ñ!¢.Õ1r3   zrcparam_alpha.pngc                  ó.  — t        j                  «       \  } }|j                  t        d«      d¬«       t	        j
                  ddi¬«      5  t        j                  dgd¬	«      }|j                  j                  g d
¢«       d d d «       y # 1 sw Y   y xY w)Nr   r   r»   rº   g      è?)Úrcr½   r‰   rA   r¾   )	r   r   rB   ry   Úmplr	   r$   rÀ   rÁ   rÂ   s      r1   Útest_alpha_rcparamrÇ   ¿   sm   € ô �l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜!€GÔÜ	�‰Ð/°Ð5Ö	6Ü�j‰jÐ7Ð8¸hÔGˆð
 	�‰×%Ñ%¢nÔ5÷ 
7×	6Ñ	6ús   Á6BÂBz	fancy.pngÚdarwing{®Gáz„?c                  ó   — t        j                  d«       t        j                  dgdz  dd¬«       t        j                  t	        j
                  d«      t	        j
                  ddd«      d	¬«       t        j                  t	        j
                  d«      t	        j
                  d«      d
d
d¬«       t        j                  ddd
gdddd¬«       y )Nr›   r   r   zo--ÚXXrN   r   rW   zXX
XXr   )ÚxerrÚyerrr   r   rg   r5   Tú	My legendr   )r   r   rn   ÚshadowÚtitlerž   )r   ÚsubplotrB   r    r   rQ   Úerrorbarr$   r8   r3   r1   Ú
test_fancyrÒ   Í   s�   € ô ‡K�K�ÔÜ‡H�HˆaˆS�2‰X�u DÕ)Ü‡K�K”—	‘	˜"“œrŸy™y¨¨Q°Ó3¸8ÕDÜ‡L�L”—‘˜2“¤§	¡	¨"£°CØ õ'ä‡J�J�=°#°s°Ø˜t¨;À!öEr3   Ú
framealphag/Ý$�•?c                  ó–   — t        j                  ddd«      } | }t        j                  | |dd¬«       t        j                  dd¬«       y )	Nr   rJ   Úmylabelr   )r   r¼   r   úupper right)rÓ   r   )r   r¡   r   rB   r$   )r-   r.   s     r1   Útest_framealphar×   Ú   s;   € ô 	�‰�A�s˜CÓ €AØ	€AÜ‡H�HˆQ�˜ rÕ*Ü‡J�J˜# =Ö1r3   zscatter_rc3.pngzscatter_rc1.pngc                  ó<  — dt         j                  d<   t        j                  «        t        j                  d«      } | j                  t        j                  d«      t        j                  ddd«      d¬«       | j                  d	d
dgd¬«       dt         j                  d<   t        j                  «        t        j                  d«      } | j                  t        j                  d«      t        j                  ddd«      d¬«       | j                  d	d
dgd¬«       y )Nrl   zlegend.scatterpointsr›   r   r   rW   ÚthreerN   r   rg   r   rÍ   )r   r   rÏ   r   Úone)	rÆ   r¿   r   rŸ   rÐ   r    r   rQ   r$   )r,   s    r1   Útest_rcrÛ   ã   sØ   € ð ,-„C‡L�LÐ'Ñ(Ü‡J�J„LÜ	�‰�SÓ	€BØ‡J�JŒr�y‰y˜‹}œbŸi™i¨¨A¨rÓ2¸'€JÔBØ‡I�I�-°°c°
Øð ô !ð ,-„C‡L�LÐ'Ñ(Ü‡J�J„LÜ	�‰�SÓ	€BØ‡J�JŒr�y‰y˜‹}œbŸi™i¨¨A¨rÓ2¸%€JÔ@Ø‡I�I�-°°c°
Øð õ !r3   zlegend_expand.pngc                  óº  — ddg} t        j                  t        | «      d«      \  }}t        j                  d«      }t        || «      D ]‘  \  }}|j                  |d|z
  dd¬«       |j                  d	|¬
«      }|j                  |«       |j                  ||dz
  dd¬«       |j                  d|¬
«      }|j                  |«       |j                  d|d¬«       Œ“ y)zTest expand modeNÚexpandr   rJ   rK   rL   rM   rN   r@   )r   ÚmoderO   Úrightú
lower leftr5   )r   rÞ   rn   )	r   r   Úlenr   rQ   r   rB   r$   Ú
add_artist)Úlegend_modesr+   r‚   r-   r,   rÞ   Úl1Úl2s           r1   Útest_legend_expandræ   ö   sÇ   € ð ˜(Ð#€LÜ�|‰|œC Ó-¨qÓ1�H€CˆÜ
�	‰	�#‹€AÜ˜˜\Ö*‰ˆˆDØ
�‰��2˜‘6˜3 eˆÔ,Ø�Y‰Y˜<¨dˆYÓ3ˆØ
�‰�bÔØ
�‰��1�r‘6˜3 fˆÔ-Ø�Y‰Y˜7¨ˆYÓ.ˆØ
�‰�bÔØ
�	‰	�l¨°Qˆ	Õ7ñ +r3   ÚhatchingÚdefaultc            	      ór  — t        j                  «       \  } }t        j                  ddddd¬«      }|j                  |«       t        j                  dddddd	¬
«      }|j                  |«       t        j                  dddddd¬«      }|j                  |«       t        j                  ddddddd¬«      }|j                  |«       |j	                  g d¢g d¢g d¢dd¬«       |j	                  g d¢g d¢g d¢ddd¬
«       |j                  dd«       |j                  dd«       |j                  dd¬«       y )N©r   r   ç333333Ó?ÚxxzPatch
default color
filled)Úhatchr   )ç…ëQ¸Õ?r   z||rŒ   zPatch
explicit color
filled)rí   Ú	edgecolorr   )r   çš™™™™™Ù?FzPatch
default color
unfilled)rí   Úfillr   )rî   rð   zPatch
explicit color
unfilled)rí   rñ   rï   r   )r   g333333Ã?rë   )rŠ   rŠ   rŠ   )r`   rg   r`   Ú+zPath
default color)rî   g¸…ëQ¸Þ?g)\�Âõ(ä?ÚC2zPath
explicit colorg{®Gáz„¿çš™™™™™ñ?rœ   )ÚhandlelengthÚhandleheight)r   r   Ú	Rectangler—   Úfill_betweenrh   ri   r$   )r+   r,   Úpatchs      r1   Útest_hatchingrú     s%  € ô �l‰l‹n�G€Cˆô �M‰M˜& # s°$Ø >ô@€Eà‡L�L�ÔÜ�M‰M˜) S¨#°TÀTØ ?ôA€Eà‡L�L�ÔÜ�M‰M˜( C¨°D¸uØ @ôB€Eà‡L�L�ÔÜ�M‰M˜+ s¨C°tÀ%Ø$(Ø AôC€Eð ‡L�L�Ôð ‡O�O’L¢,²ØÐ%:ð ô <à‡O�O’O¢\²=Ø¨Ð5Kð ô Mð ‡K�K��sÔØ‡K�K��sÔØ‡I�I˜1¨1€IÕ-r3   c                  ó4  — t        j                  «       \  } }|j                  t        d«      «      }| j	                  |dg«      }|j                  «        | j                  g k(  sJ ‚|j	                  d«      }|j                  «        |j                  «       �J ‚y )Nr   Útest)r   r   rB   ry   r$   ÚremoveÚlegendsÚ
get_legend)r+   r,   Úlinesr…   s       r1   Útest_legend_remover  %  sy   € Ü�l‰l‹n�G€CˆØ�G‰G”E˜"“IÓ€EØ
�*‰*�U˜V˜HÓ
%€CØ‡J�J„LØ�;‰;˜"ÒÐÐØ
�)‰)�FÓ
€CØ‡J�J„LØ�=‰=‹?Ð"Ð"Ñ"r3   c                  ó,  — t        j                  «       \  } }d}d}g d¢}g d¢}|j                  |||d   |d   ¬«       |j                  |||d   |d   ¬«       |j                  |||d   |d   ¬«       |j                  d¬«      }|j	                  «       D �cg c]  }|j                  «       ‘Œ }}|j                  D �	cg c]  }	|	j                  «       ‘Œ }
}	|t        t        |«      «      k(  sJ ‚|
t        t        |«      «      k(  sJ ‚y	c c}w c c}	w )
z6Check that the legend handles and labels are reversed.r   )zFirst labelzSecond labelzThird label)Ú.Ú,rL   r   rN   r5   T©ÚreverseN)
r   r   rB   r$   Ú	get_textsÚget_textÚlegend_handlesÚ
get_markerÚlistÚreversed)r+   r,   r-   r.   r)   Úmarkersr…   ÚtÚactual_labelsÚhÚactual_markerss              r1   Ú&test_reverse_legend_handles_and_labelsr  0  s  € ä�l‰l‹n�G€CˆØ	€AØ	€AÚ;€FÚ€Gà‡G�GˆAˆq�'˜!‘* F¨1¡I€GÔ.Ø‡G�GˆAˆq�'˜!‘* F¨1¡I€GÔ.Ø‡G�GˆAˆq�'˜!‘* F¨1¡I€GÔ.Ø
�)‰)˜Dˆ)Ó
!€CØ+.¯=©=¬?Ó;©? a�Q—Z‘Z•\¨?€MÐ;Ø.1×.@Ò.@ÓAÑ.@¨�a—l‘l•nÐ.@€NÐAØœD¤¨&Ó!1Ó2Ò2Ð2Ð2ØœT¤(¨7Ó"3Ó4Ò4Ð4Ñ4ùò <ùÚAs   ÂDÃ Dc                 ó0  — | j                  «       }|j                  dgdd¬«       |j                  dgdd¬«       |j                  d¬	«       |j                  «       }|j                  dgdd¬«       |j                  dgdd¬«       |j                  «        y
)z3Check that the rendered legend entries are reversedr   ÚroÚfirstrN   r5   ÚbxÚsecondTr  N)r   rB   r$   )Úfig_testÚfig_refr,   s      r1   Útest_reverse_legend_displayr  B  s‡   € ð 
×	Ñ	Ó	€BØ‡G�GˆQˆC�˜W€GÔ%Ø‡G�GˆQˆC�˜X€GÔ&Ø‡I�I�d€IÔà	×	Ñ	Ó	€BØ‡G�GˆQˆC�˜X€GÔ&Ø‡G�GˆQˆC�˜W€GÔ%Ø‡I�I…Kr3   c                   óT   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zy)ÚTestLegendFunctionc                 ó  — t        j                  t        d«      d¬«      }t        j                  d«      5 }t        j
                  «        d d d «       j                  t        j                  «       |dg«       y # 1 sw Y   Œ0xY w)Nr   úhello worldrN   úmatplotlib.legend.Legend©r   rB   ry   r   rù   r$   Úassert_called_withÚgca©Úselfr   rs   s      r1   Útest_legend_no_argsz&TestLegendFunction.test_legend_no_argsR  sV   € Ü—‘œ˜r›¨-Ô8ˆÜ�Z‰ZÐ2Ô3°vÜ�J‰JŒL÷ 4à×!Ñ!¤#§'¡'£)¨U°]°OÕD÷ 4Ð3ús   ¶A:Á:Bc                 ó  — t        j                  t        d«      «      }t        j                  d«      5 }t        j
                  |dg«       d d d «       j                  t        j                  «       |dg«       y # 1 sw Y   Œ0xY w)Nr   r  r  r   r#  s      r1   Ú%test_legend_positional_handles_labelsz8TestLegendFunction.test_legend_positional_handles_labelsX  s[   € Ü—‘œ˜r›Ó#ˆÜ�Z‰ZÐ2Ô3°vÜ�J‰J�u˜}˜oÔ.÷ 4à×!Ñ!¤#§'¡'£)¨U°]°OÕD÷ 4Ð3ús   ´A;Á;Bc                 óÊ   — t        j                  t        d«      «      }t        j                  t
        d¬«      5  t        j                  |«       d d d «       y # 1 sw Y   y xY w)Nr   zbut found an Artist©Úmatch)r   rB   ry   ÚpytestÚraisesÚ	TypeErrorr$   )r$  r   s     r1   Ú#test_legend_positional_handles_onlyz6TestLegendFunction.test_legend_positional_handles_only^  s>   € Ü—‘œ˜r›Ó#ˆÜ�]‰]œ9Ð,AÖBô �J‰J�uÔ÷ C×BÑBús   ºAÁA"c                 ó  — t        j                  t        d«      d¬«      }t        j                  d«      5 }t        j
                  dg«       d d d «       j                  t        j                  «       |dg«       y # 1 sw Y   Œ0xY w)Nr   r  rN   r  Úfoobarr   r#  s      r1   Ú"test_legend_positional_labels_onlyz5TestLegendFunction.test_legend_positional_labels_onlye  s[   € Ü—‘œ˜r›¨-Ô8ˆÜ�Z‰ZÐ2Ô3°vÜ�J‰J˜�zÔ"÷ 4à×!Ñ!¤#§'¡'£)¨U°X°JÕ?÷ 4Ð3ús   ¶A<Á<Bc                 ó  — t        j                  t        d«      d¬«      }t        j                  d«      5 }t        j
                  |dgd¬«       d d d «       j                  t        j                  «       |dgd¬«       y # 1 sw Y   Œ2xY w)Nr   r  rN   r  r0  rß   rA   r   r#  s      r1   Útest_legend_three_argsz)TestLegendFunction.test_legend_three_argsk  sd   € Ü—‘œ˜r›¨-Ô8ˆÜ�Z‰ZÐ2Ô3°vÜ�J‰J�u˜x˜j¨gÕ6÷ 4à×!Ñ!¤#§'¡'£)¨U°X°JÀGÐ!ÕL÷ 4Ð3ús   ¶BÂB
c                 ó*  — t        j                  t        d«      d¬«      }t        j                  d«      5 }|dgf|_        t        j                  ddi¬«       d d d «       j                  t        j                  «       gddi«       y # 1 sw Y   Œ1xY w)Nr   r  rN   z,matplotlib.legend._get_legend_handles_labelsÚ1r5   )r´   )	r   rB   ry   r   rù   Úreturn_valuer$   r!  r"  )r$  r   Úhandles_labelss      r1   Útest_legend_handler_mapz*TestLegendFunction.test_legend_handler_mapq  sw   € Ü—‘œ˜r›¨-Ô8ˆÜ�Z‰Zð 5ô 6Ø9GØ*/°-°Ð*@ˆNÔ'Ü�J‰J C¨ 8Õ,÷6ð 	×)Ñ)¬3¯7©7«9¨+¸¸Q°xÕ@÷	6ð 6ús   ¶#B	Â	Bc                 óš  — t        j                  «       \  }}t        j                  ddd«      }|j	                  ||d¬«      \  }|j	                  |d|z  d¬«      \  }|j	                  |d|z  d	¬«      \  }t        j                  d
«      5 }|j                  ||g¬«       d d d «       j                  |||gd	dg«       y # 1 sw Y   Œ!xY w)Nr   r   é   r-   rN   r5   Ú2xrl   Ú3xr  )r0   ©	r   r   r   r¡   rB   r   rù   r$   r!  )r$  r+   r,   r-   Úln1Úln2Úln3rs   s           r1   Útest_legend_kwargs_handles_onlyz2TestLegendFunction.test_legend_kwargs_handles_onlyy  s¶   € Ü—,‘,“.‰ˆˆRÜ�K‰K˜˜1˜bÓ!ˆØ�w‰w�q˜! 3ˆwÓ'‰ˆØ�w‰w�q˜!˜A™# TˆwÓ*‰ˆØ�w‰w�q˜!˜A™# TˆwÓ*‰ˆÜ�Z‰ZÐ2Ô3°vØ�I‰I˜s C˜jˆIÔ)÷ 4à×!Ñ! " s¨C j°4¸°,Õ?÷ 4Ð3ús   ÂCÃC
c                 ó`  — t        j                  «       \  }}t        j                  ddd«      }|j	                  ||«      \  }|j	                  |d|z  «      \  }t        j                  d«      5 }|j                  ddg¬«       d d d «       j                  |||gddg«       y # 1 sw Y   Œ!xY w)	Nr   r   r:  r5   r  r-   r;  ©r)   r=  )r$  r+   r,   r-   r>  r?  rs   s          r1   Útest_legend_kwargs_labels_onlyz1TestLegendFunction.test_legend_kwargs_labels_onlyƒ  s’   € Ü—,‘,“.‰ˆˆRÜ�K‰K˜˜1˜bÓ!ˆØ�w‰w�q˜!‹}‰ˆØ�w‰w�q˜!˜A™#‹‰ˆÜ�Z‰ZÐ2Ô3°vØ�I‰I˜c 4˜[ˆIÔ)÷ 4à×!Ñ! " s¨C j°3¸°+Õ>÷ 4Ð3ús   Á/B$Â$B-c                 óÎ  — t        j                  «       \  }}t        j                  ddt        j                  z  d«      }|j                  |t        j                  |«      d¬«      \  }|j                  |t        j                  |«      d¬«      \  }t        j                  d«      5 }|j                  d||f¬	«       d d d «       j                  |||fd«       y # 1 sw Y   ŒxY w)
Nr   r5   é   ÚsinrN   Úcosr  ©r   r   )r)   r0   )r   r   r   r¡   ÚpirB   rG  rH  r   rù   r$   r!  )r$  r+   r,   ÚthÚlnsÚlncrs   s          r1   Ú!test_legend_kwargs_handles_labelsz4TestLegendFunction.test_legend_kwargs_handles_labelsŒ  s°   € Ü—,‘,“.‰ˆˆRÜ�[‰[˜˜AœbŸe™e™G TÓ*ˆØ�w‰w�rœ2Ÿ6™6 "›:¨UˆwÓ3‰ˆØ�w‰w�rœ2Ÿ6™6 "›:¨UˆwÓ3‰ˆÜ�Z‰ZÐ2Ô3°và�I‰I˜Z°#°s°ˆIÔ<÷ 4ð 	×!Ñ! " s¨C j°*Õ=÷ 4Ð3ús   Â'CÃC$c                 ó´  — t        j                  «       \  }}t        j                  ddt        j                  z  d«      }|j                  |t        j                  |«      d¬«      \  }|j                  |t        j                  |«      d¬«      \  }d}t        j                  t        |¬«      5  |j                  ||fd	¬
«       d d d «       y # 1 sw Y   y xY w)Nr   r5   rF  rG  rN   rH  ú4must both be passed positionally or both as keywordsr)  rI  rC  )r   r   r   r¡   rJ  rB   rG  rH  r+  r,  r-  r$   )r$  r+   r,   rK  rL  rM  Úmsgs          r1   Ú test_error_mixed_args_and_kwargsz3TestLegendFunction.test_error_mixed_args_and_kwargs–  sš   € Ü—,‘,“.‰ˆˆRÜ�[‰[˜˜AœbŸe™e™G TÓ*ˆØ�w‰w�rœ2Ÿ6™6 "›:¨UˆwÓ3‰ˆØ�w‰w�rœ2Ÿ6™6 "›:¨UˆwÓ3‰ˆØDˆÜ�]‰]œ9¨CÖ0Ø�I‰I�s˜C�j¨ˆIÔ4÷ 1×0Ñ0ús   Â/CÃCc                 óR  — ddl m}  |d«      }|j                  «       }|j                  g d¢g d¢d¬«      \  }|j                  g d¢g d¢d¬«      \  }t	        j
                  d	«      5 }t        j                  «        d d d «       j                  |||gddg«       y # 1 sw Y   Œ!xY w)
Nr   )Úhost_subplotéo   ©r   r   r5   ÚDensityrN   )r   rl   r5   ÚTemperaturer  )	Úmpl_toolkits.axes_grid1rT  ÚtwinxrB   r   rù   r   r$   r!  )r$  rT  ÚhostÚparrµ   r¶   rs   s          r1   Útest_parasitez TestLegendFunction.test_parasiteŸ  s‡   € Ý8á˜CÓ ˆØ�j‰j‹lˆà�i‰iš	¢9°IˆiÓ>‰ˆØ�h‰h’y¢)°=ˆhÓA‰ˆä�Z‰ZÐ2Ô3°vÜ�J‰JŒL÷ 4à×!Ñ! $¨¨R¨°9¸mÐ2LÕM÷ 4Ð3ús   Á(BÂB&c                 óš  — t        j                  «       \  }}|j                  ddg«      \  }|j                  ddg«      \  }t        j                  t
        d¬«      5  |j                  ||gdg«       d d d «       t        j                  t
        d¬«      5  |j                  |gdd	g«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)
Nr   r5   rl   rœ   z'Mismatched number of handles and labelsr)  Úonly_oneÚlabel_aÚlabel_b)r   r   rB   r+  ÚwarnsÚUserWarningr$   )r$  r+   r,   Úline1Úline2s        r1   Ú9test_legend_warns_on_unequal_number_of_handles_and_labelszLTestLegendFunction.test_legend_warns_on_unequal_number_of_handles_and_labels¬  sž   € Ü—,‘,“.‰ˆˆRØ—‘˜!˜Q˜“‰ˆØ—‘˜!˜Q˜“‰ˆÜ�\‰\œ+Ð-VÖWØ�I‰I�u˜e�n z lÔ3÷ Xä�\‰\œ+Ð-VÖWØ�I‰I�u�g 	¨9Ð5Ô6÷ XÐW÷ XÐWúçWÐWús   ÁB5ÂCÂ5B>ÃC
N)Ú__name__Ú
__module__Ú__qualname__r%  r'  r.  r1  r3  r8  rA  rD  rN  rR  r]  rf  r8   r3   r1   r  r  P  sE   „ òEòEòò@òMòAò@ò?ò>ò5òNó7r3   r  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestLegendFigureFunctionc                 ó   — t        j                  «       \  }}|j                  t        d«      «      }t	        j
                  d«      5 }|j                  |dg«       d d d «       j                  ||dg|j                  ¬«       y # 1 sw Y   Œ*xY w)Nr   r  r  ©Úbbox_transform©	r   r   rB   ry   r   rù   r$   r!  ÚtransFigure©r$  r+   r,   r   rs   s        r1   Útest_legend_handle_labelz1TestLegendFigureFunction.test_legend_handle_label¸  ss   € Ü—,‘,“.‰ˆˆRØ—‘œ˜b›	Ó"ˆÜ�Z‰ZÐ2Ô3°vØ�J‰J�u˜}˜oÔ.÷ 4à×!Ñ! # u¨}¨oØ14·±ð 	"õ 	B÷ 4Ð3ús   ÁBÂBc                 ó  — t        j                  «       \  }}|j                  t        d«      d¬«      }t	        j
                  d«      5 }|j                  «        d d d «       j                  ||dg|j                  ¬«       y # 1 sw Y   Œ*xY w)Nr   r  rN   r  rm  ro  rq  s        r1   r%  z,TestLegendFigureFunction.test_legend_no_argsÀ  sp   € Ü—,‘,“.‰ˆˆRØ—‘œ˜b›	¨�Ó7ˆÜ�Z‰ZÐ2Ô3°vØ�J‰JŒL÷ 4à×!Ñ! # u¨}¨oØ14·±ð 	"õ 	B÷ 4Ð3ús   Á	BÂBc                 ó  — t        j                  «       \  }}|j                  t        d«      «      }t	        j
                  d«      5 }|j                  dg«       d d d «       j                  ||dg|j                  ¬«       y # 1 sw Y   Œ*xY w)Nr   r  r0  rm  ro  rq  s        r1   Útest_legend_label_argz.TestLegendFigureFunction.test_legend_label_argÈ  sq   € Ü—,‘,“.‰ˆˆRØ—‘œ˜b›	Ó"ˆÜ�Z‰ZÐ2Ô3°vØ�J‰J˜�zÔ"÷ 4à×!Ñ! # u¨x¨jØ14·±ð 	"õ 	B÷ 4Ð3ús   ÁBÂBc                 óz  — t        j                  «       \  }}|j                  t        d«      «      }t	        j
                  t        d¬«      5  |j                  |dgd«       d d d «       t	        j
                  t        d¬«      5  |j                  |dgdd¬«       d d d «       y # 1 sw Y   ŒDxY w# 1 sw Y   y xY w)Nr   z0-2r)  r0  rß   ÚleftrA   )r   r   rB   ry   r+  r,  r-  r$   )r$  r+   r,   r   s       r1   Útest_legend_label_three_argsz5TestLegendFigureFunction.test_legend_label_three_argsÐ  s„   € Ü—,‘,“.‰ˆˆRØ—‘œ˜b›	Ó"ˆÜ�]‰]œ9¨EÖ2Ø�J‰J�u˜x˜j¨'Ô2÷ 3ä�]‰]œ9¨EÖ2Ø�J‰J�u˜x˜j¨'°vˆJÔ>÷ 3Ð2÷ 3Ð2úç2Ð2ús   ÁB%ÂB1Â%B.Â1B:c                 óˆ  — t        j                  dd«      \  }}|d   j                  t        d«      «      }|d   j                  t	        j
                  d«      dz  «      }t        j                  d«      5 }|j                  dd||f¬	«       d d d «       j                  |||fdd|j                  ¬
«       y # 1 sw Y   Œ,xY w)Nr   r5   r   r   ç       @r  rß   rI  )r   r)   r0   )r   rn  )r   r   rB   ry   r   rQ   r   rù   r$   r!  rp  )r$  r+   r‚   r   Úlines2rs   s         r1   Útest_legend_kw_argsz,TestLegendFigureFunction.test_legend_kw_argsØ  s¥   € Ü—<‘<  1Ó%‰ˆˆSØ�A‘—‘œE "›IÓ&ˆØ�Q‘—‘œRŸY™Y r›]¨RÑ/Ó0ˆÜ�Z‰ZÐ2Ô3°vØ�J‰J˜7¨:ÀÀv¸ˆJÔO÷ 4à×!Ñ!Ø�%˜� *°'ØŸ?™?ð 	"õ 	,÷ 4Ð3ús   Á6B8Â8Cc                 óR  — t        j                  dd«      \  }}|d   j                  t        d«      «      }|d   j                  t	        j
                  d«      dz  «      }d}t        j                  t        |¬«      5  |j                  ||fd¬	«       d d d «       y # 1 sw Y   y xY w)
Nr   r5   r   r   rz  rP  r)  rI  rC  )
r   r   rB   ry   r   rQ   r+  r,  r-  r$   )r$  r+   r‚   r   r{  rQ  s         r1   Útest_error_args_kwargsz/TestLegendFigureFunction.test_error_args_kwargsâ  s~   € Ü—<‘<  1Ó%‰ˆˆSØ�A‘—‘œE "›IÓ&ˆØ�Q‘—‘œRŸY™Y r›]¨RÑ/Ó0ˆØDˆÜ�]‰]œ9¨CÖ0Ø�J‰J˜˜v�¨zˆJÔ:÷ 1×0Ñ0ús   Á>BÂB&N)	rg  rh  ri  rr  r%  ru  rx  r|  r~  r8   r3   r1   rk  rk  ¶  s#   „ òBòBòBò?ò,ó;r3   rk  c                  óò  — dD � cg c]  } d| z   ‘Œ	 }} |dD � cg c]  } d| z   ‘Œ	 c} z  }|dD � cg c]  } d| z   ‘Œ	 c} z  }|dD � cg c]  } d| z   ‘Œ	 c} z  }g d¢}g d¢}g d	¢}g d
¢}||||||||||||g}g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g}t        |«      D ]½  \  }}	t        |	«       t        j                  dd¬«      \  }
}|j	                  t        d«      d¬«       |
j                  d|	z   ¬«      }|
j                  «        t        |j                  «       j                  ||   d¬«       t        |j                  «       j                  ||   d¬«       Œ¿ y c c} w c c} w c c} w c c} w )N)rw  r‰   rß   zupper zlower )Úlowerr‰   Úupperzleft zright )çQ‡nù¸4@ç;â�¤c:@ç‹lçû©²ˆ@g?‘'IW	�@)r‚  gÛoíDI®Q@r„  ç(¸XQl‚@)g�L‡NÏc@rƒ  r„  r…  )r‚  rƒ  g¢E¶óý—„@r…  )ç      $@ç     P�@ç      `@ç     p‚@)ç     (u@r‡  ç     Ø|@r‰  )é›  r‡  ç     °ˆ@r‰  )r†  r†  rˆ  ç      G@)rŠ  r†  r‹  rŽ  )ç     Ø„@r†  r�  rŽ  )r†  ç      q@rˆ  ç     às@)rŒ  r†  r�  rŽ  )r�  r�  r�  r‘  )r�  r‡  r�  r‰  TrJ   )Úconstrained_layoutÚdpir   ÚBoo1rN   zoutside rA   g-Cëâ6?)Úrtol)Ú	enumerateÚprintr   r   rB   ry   r$   Údraw_without_renderingr   r}   Úextents)ÚposÚtodosÚupperextÚlowerextÚleftextÚrightextÚaxbbÚlegbbÚnnÚtodor+   r‚   r…   s                r1   Útest_figure_legend_outsider¤  ë  s˜  € Ù'BÓCÑ'B ˆX˜‹^Ð'B€EÐCØ	Ñ(CÓDÑ(C ˆh˜‹nÐ(CÑDÑD€EØ	Ñ'CÓDÑ'C ˆg˜‹mÐ'CÑDÑD€EØ	Ñ(DÓEÑ(D ˆh˜‹nÐ(DÑEÑE€Eâ9€HÚ9€HÚ9€GÚ9€HØ�h Ø�h Ø�W˜gØ�h ð*€Dò
 %Ú'Ú%Ú#Ú&Ú$Ú"Ú$Ú$Ú"Ú%Ú%ð'€Eô ˜eÖ$‰ˆˆDÜˆdŒÜ—<‘<°4¸SÔA‰ˆˆSØ�‰”�r“ &ˆÔ)Ø�j‰j˜Z¨$Ñ.ˆjÓ/ˆØ×"Ñ"Ô$ä˜×-Ñ-Ó/×7Ñ7¸¸b¹Ø!õ	#ä˜×-Ñ-Ó/×7Ñ7¸¸r¹Ø!ö	#ñ %ùò7 DùÚDùÚDùÚEs   …E%˜E*®E/ÁE4zlegend_stackplot.pngc                  ó&  — t        j                  «       \  } }t        j                  ddd«      }d|z  }d|z  dz   }d|z  dz   }|j	                  ||||g d¢¬	«       |j                  dd«       |j                  dd
«       |j                  d¬«       y)z/Test legend for PolyCollection using stackplot.r   r   rg   rz  r   ç      @r5   )Úy1Úy2Úy3rC  éF   rP   rA   N)r   r   r   r¡   Ú	stackplotrh   ri   r$   )r+   r,   r-   r§  r¨  r©  s         r1   Útest_legend_stackplotr¬    s‰   € ô �l‰l‹n�G€CˆÜ
�‰�A�r˜2Ó€AØ	ˆq‰€BØ	ˆq‰�1‰€BØ	ˆq‰�1‰€BØ‡L�L��B˜˜BÒ'9€LÔ:Ø‡K�K��2ÔØ‡K�K��2ÔØ‡I�I�&€IÕr3   c                  óÌ   — t        j                  «       \  } }t        j                  «       \  }}|j                  t        d«      t        d«      «      }|j	                  |d«       y )Nrl   Úfoo)r   r   rZ   ry   r$   )r+   r,   Úfig2Úax2Úbrss        r1   Útest_cross_figure_patch_legendr²  #  sF   € Ü�l‰l‹n�G€CˆÜ—‘“�I€Dˆ#à
�&‰&”�q“œ5 ›8Ó
$€CØ‡K�K��UÕr3   c            
      ó   — t        j                  «       \  } }|j                  t        j                  gt        j                  gdddd¬«      }|j                  |gdg«       t        j                  «       \  } }dD ]a  }d}t        j                  j                  d|«      \  }}d	t        j                  j                  |«      z  }|j                  |||||d
d¬«       Œc |j                  «        |j                  d«       y )NrL   r   rl   )ÚmarkerÚ	facecolorrï   Úsr    )ÚredÚgreenÚblueiî  r5   g      i@rë   Únone)r   r¶  r   ÚalphaÚ
edgecolorsT)	r   r   r    r   Únanr$   r   ÚrandÚgrid)r+   r,   r  r/   Únr-   r.   Úscales           r1   Útest_nanscatterrÂ  +  sÔ   € Ü�l‰l‹n�G€Cˆà
�
‰
”B—F‘F�8œbŸf™f˜X¨cØ ¨C°1ð 	ó 	6€Að ‡I�Iˆqˆc�I�;Ôä�l‰l‹n�G€CˆÛ)ˆØˆÜ�y‰y�~‰~˜a Ó#‰ˆˆ1ØœŸ	™	Ÿ™ qÓ)Ñ)ˆØ
�
‰
�1�a˜5 E°Ø¨ð 	õ 	1ð	 *ð ‡I�I„KØ‡G�GˆD…Mr3   c                  óô  — t        j                  «       \  } }|j                  ddddd¬«       |j                  dddd	d¬«       |j                  «        t	        j
                  |g«      \  }}t        |«      d
k(  sJ ‚t        j                  «       \  } }|j                  ddddd¬«       |j                  dddd	d¬«       |j                  «        t	        j
                  |g«      \  }}t        |«      d
k(  sJ ‚y )Nrf   rg   ÚkrL   rü   )r/   r´  r   r   r   Úvr5   )r   r   r    r$   ÚmlegendÚ_get_legend_handles_labelsrá   )r+   r,   ÚhandÚlabs       r1   Útest_legend_repeatcheckokrÊ  ?  sÖ   € Ü�l‰l‹n�G€CˆØ‡J�Jˆs�C˜s¨3°f€JÔ=Ø‡J�Jˆs�C˜s¨3°f€JÔ=Ø‡I�I„KÜ×2Ñ2°B°4Ó8�I€Dˆ#Üˆs‹8�qŠ=Ðˆ=Ü�l‰l‹n�G€CˆØ‡J�Jˆs�C˜s¨3°f€JÔ=Ø‡J�Jˆs�C˜s¨3°f€JÔ=Ø‡I�I„KÜ×2Ñ2°B°4Ó8�I€Dˆ#Üˆs‹8�qŠ=Ð‰=r3   znot_covering_scatter.pngc                  ó(  — g d¢} t        d«      D ]  }t        j                  |g|g| |   ¬«       Œ! t        j                  g d¢d¬«       t        j                  «       j                  dd«       t        j                  «       j                  dd«       y )	N)r   r   r   rl   ©r/   )r®  r®  r®  rP   rA   g      à¿çš™™™™™@)ry   r   r    r$   r"  rh   ri   )r*   rÀ  s     r1   Útest_not_covering_scatterrÎ  N  sj   € â€Fä�1ŽXˆÜ�‰�Q�C˜!˜ F¨1¡IÖ.ð ô ‡J�JÒ$¨&Õ1Ü‡G�GƒI×Ñ�t˜SÔ!Ü‡G�GƒI×Ñ�t˜SÕ!r3   z"not_covering_scatter_transform.pngc                  óJ  — t        j                  «       j                  dd«      } t        j                  ddd«      }t        j                  ||«       t        j                  dgdg| t        j                  «       j                  z   ¬«       t        j                  dd	gd
¬«       y )Niìÿÿÿr¨   r   é   iè  r   )Ú	transformr®  rZ   rP   rA   )ÚmtransformsÚAffine2DÚ	translater   r¡   r   rB   r    r"  Ú	transDatar$   )Úoffsetr-   s     r1   Ú#test_not_covering_scatter_transformr×  Z  su   € ô ×!Ñ!Ó#×-Ñ-¨c°2Ó6€FÜ
�‰�A�r˜4Ó €AÜ‡H�HˆQ�„Nä‡K�K���r�d f¬s¯w©w«y×/BÑ/BÑ&BÕCä‡J�J��uˆ~ 6Ö*r3   c                  ó<  — ddgddgg} ddgddggd	dgd
dggg}d
dgddggd	dgddggg}t        j                  | dd¬«      }t        j                  |d¬«      }t        j                  |dd	¬«      }t        j                  «       \  }}|j	                  |«       |j	                  |«       |j	                  |«       |j                  |||gg d¢«      }|j                  \  }	}
}t        |||f|	|
|f«      D ]'  \  }}|j                  «       d   |j                  k(  rŒ'J ‚ y )N)r   r   )r   r   )rë   ç333333ã?)r‹   r‹   gffffffæ?r‹   rŠ   rð   r   rÙ  ra   ú--rl   )Ú
linestylesr¼   z-.)rÛ  Ú:)rd  re  zline 3r   )
ÚmcollectionsÚLineCollectionr   r   Úadd_collectionr$   r	  r   Úget_linestylesÚ_dash_pattern)Úlines1r{  Úlines3Úlc1Úlc2Úlc3r+   r,   r…   Úh1Úh2Úh3ÚohÚlhs                 r1   Ú!test_linecollection_scaled_dashesrì  f  s<  € Ø˜Ð  8¨XÐ"6Ð7€FØ�Rˆy˜2˜r˜(Ð# r¨2 h°°R°Ð%9Ð:€FØ�Rˆy˜2˜r˜(Ð# r¨2 h°°R°Ð%9Ð:€FÜ
×
%Ñ
% f¸À!Ô
D€CÜ
×
%Ñ
% f¸Ô
>€CÜ
×
%Ñ
% f¸ÀÔ
D€Cä�l‰l‹n�G€CˆØ×Ñ�cÔØ×Ñ�cÔØ×Ñ�cÔà
�)‰)�S˜#˜s�OÒ%AÓ
B€CØ×#Ñ#�J€BˆˆBä�s˜C �o¨¨B° |Ö4‰ˆˆBØ× Ñ Ó" 1Ñ%¨×)9Ñ)9Ó9Ð9Ð9ñ 5r3   c                  óŽ   — t        j                  «       \  } }|j                  t        d«      d¬«       |j	                  d¬«       y)z(Test legend handler with numpoints <= 1.r   rü   rN   r   ©rž   N)r   r   rB   ry   r$   r¢   s     r1   Útest_handler_numpointsrï  z  s5   € ô �l‰l‹n�G€CˆØ‡G�GŒE�!‹H˜F€GÔ#Ø‡I�I˜€IÕr3   c                  óJ  — t        j                  «       \  } }|j                  dgd¬«       |j                  dddd¬«       t	        j
                  t        «      5 }|j                  «        ddd«       t        «      dk(  sJ ‚t        j                  «       \  }}|j                  t        j                  j                  ddd	«      «       t        j                  «       5  t        j                  d
«       |j!                  «        ddd«       y# 1 sw Y   Œ£xY w# 1 sw Y   yxY w)z2Test that Text artists with labels raise a warningr   ú	mock datarN   Útextr   )r-   r.   r¶  r   Nr   )r   r   Úerror)r   r   rB   rò  r+  rb  rc  r$   rá   Ú
pcolormeshr   r   ÚuniformÚwarningsÚcatch_warningsÚsimplefilterr!   )r+   r,   ÚrecordÚfs       r1   Útest_text_nohandler_warningrû  ‚  sÕ   € ä�l‰l‹n�G€CˆØ‡G�GˆQˆC�{€GÔ#Ø‡G�Gˆa�1˜ g€GÔ.Ü	�‰”kÔ	" fØ
�	‰	Œ÷ 
#äˆv‹;˜!ÒÐÐô �L‰L‹N�E€A€rØ‡M�M”"—)‘)×#Ñ# A q¨(Ó3Ô4Ü	×	 Ñ	 Õ	"Ü×Ñ˜gÔ&Ø
×$Ñ$Ô&÷ 
#Ð	"÷ 
#Ð	"ú÷ 
#Ð	"ús   ÁDÃ&DÄDÄD"c                  ó\   — t        j                  g g d¬«       t        j                  «        y)z1Test legend when bar chart is empty with a label.rü   rN   N)r   rZ   r$   r8   r3   r1   Ú test_empty_bar_chart_with_legendrý  “  s   € ô ‡G�GˆB�˜&Õ!Ü‡J�J…Lr3   zshadow_argument_types.pnggyé&1¬œ?c            
      óz  — t        j                  «       \  } }|j                  g d¢d¬«       |j                  dd¬«      |j                  dd¬«      |j                  d	d
ddœ¬«      |j                  ddddœ¬«      |j                  ddddœ¬«      f}|D ]  }|j	                  |«       Œ |j                  d¬«       y )Nr¯   rü   rN   r@   T©r   rÎ   rÖ   Fr   r·  ra   )r/   r»  úcenter right)ra   r‹   r   éûÿÿÿ)r/   Úoyrà   ztab:cyanr   )r/   Úoxúlower rightrA   )r   r   rB   r$   râ   )r+   r,   ÚlegsÚls       r1   Útest_shadow_argument_typesr  ›  sÄ   € ô �l‰l‹n�G€CˆØ‡G�GŠI˜V€GÔ$ð �I‰I˜,¨tˆIÓ4Ø�I‰I˜-°ˆIÓ6Ø�I‰I˜-Ø',°sÑ;ð ó =à�I‰I˜.Ø'6¸bÑAð ó Cà�I‰I˜,Ø'1¸Ñ<ð ó >ð€Dó ˆØ
�‰�aÕð à‡I�I�-€IÕ r3   c                  óâ   — t        j                  «       \  } }|j                  g d¢d¬«       t        j                  t
        d¬«      5  |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)	Nr¯   rü   rN   zdict or boolr)  r@   Úaardvarkrÿ  )r   r   rB   r+  r,  Ú
ValueErrorr$   r¢   s     r1   Útest_shadow_invalid_argumentr  ²  sM   € ô �l‰l‹n�G€CˆØ‡G�GŠI˜V€GÔ$Ü	�‰”z¨Ö	8Ø
�	‰	�l¨:ˆ	Ô6÷ 
9×	8Ñ	8ús   ÁA%Á%A.c                  óÖ   — t        j                  «       \  } }|j                  t        d«      d¬«       |j	                  dd¬«      }|j                  «       j                  «       dk(  sJ ‚y )NrJ   rü   rN   TÚw)rÎ   rµ  r   )r   r   rB   ry   r$   Ú	get_frameÚ	get_alpharÂ   s      r1   Útest_shadow_framealphar  »  sV   € ô �l‰l‹n�G€CˆØ‡G�GŒE�#‹J˜f€GÔ%Ø
�)‰)˜4¨3ˆ)Ó
/€CØ�=‰=‹?×$Ñ$Ó&¨!Ò+Ð+Ñ+r3   c                  ó  — t        j                  «       \  } }|j                  t        d«      d¬«       |j	                  «       }|j                  «       j                  «       dk(  sJ ‚|j                  «       j                  «       rJ ‚y )Nr   rñ  rN   Ú )r   r   rB   ry   r$   Ú	get_titler  Úget_visiblerÂ   s      r1   Útest_legend_title_emptyr  Ä  sj   € ô �l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜[€GÔ)Ø
�)‰)‹+€CØ�=‰=‹?×#Ñ#Ó%¨Ò+Ð+Ð+Ø�}‰}‹×*Ñ*Ô,Ð,Ð,Ð,r3   c                  ó   — t        j                  d¬«      \  } }|j                  t        d«      d¬«       |j	                  «       }|j                  | j                  j                  «       «      j                  }t        j                  d¬«      \  } }|j                  t        d«      d¬«       |j	                  «       }|j                  | j                  j                  «       «      j                  }t        j                  |dz  d«      |k(  sJ ‚y )	NrJ   ©r“  r   ÚAardvarkrN   éÈ   r5   ra   )r   r   rB   ry   r$   r}   rz   Úget_rendererÚx0r+  Úapprox)r+   r,   r…   Úx01Úx02s        r1   Ú test_legend_proper_window_extentr  Ï  sÇ   € ä�l‰l˜sÔ#�G€CˆØ‡G�GŒE�"‹I˜Z€GÔ(Ø
�)‰)‹+€CØ
×
Ñ
 §
¡
× 7Ñ 7Ó 9Ó
:×
=Ñ
=€Cä�l‰l˜sÔ#�G€CˆØ‡G�GŒE�"‹I˜Z€GÔ(Ø
�)‰)‹+€CØ
×
Ñ
 §
¡
× 7Ñ 7Ó 9Ó
:×
=Ñ
=€CÜ�=‰=˜˜Q™ Ó$¨Ò+Ð+Ñ+r3   c                  ó"  — t        j                  d¬«      \  } }|j                  t        d«      d¬«       |j	                  «       }| j	                  «       }| j
                  j                  «        |j                  «        |j                  «        y )NrJ   r  r   r  rN   )r   r   rB   ry   r$   rz   r{   r}   )r+   r,   r…   Úleg2s       r1   Ú"test_window_extent_cached_rendererr"  Ý  sd   € Ü�l‰l˜sÔ#�G€CˆØ‡G�GŒE�"‹I˜Z€GÔ(Ø
�)‰)‹+€CØ�:‰:‹<€DØ‡J�J‡O�OÔà×ÑÔØ×ÑÕr3   c                  ój  — t        j                  t        d«      d¬«       t        j                  t
        «      5  t        j                  dddddœ¬«       d d d «       t        j                  dt        dd¬«      ¬	«      } | j                  «       j                  «       dk(  sJ ‚t        j                  d
dd¬«      \  }}|j                  }|d   j                  t        d«      d¬«       |d   j                  dd¬«      }|j                  «       j                  «       dk(  sJ ‚|d   j                  t        d«      d¬«       |d   j                  ddddœ¬	«      }|j                  «       j                  «       dk(  sJ ‚|d
   j                  t        d«      d¬«       d t        j                  d<   |d
   j                  dddi¬	«      }|j                  «       j                  «       t        j                  d   k(  sJ ‚|d   j                  t        d«      d¬«       |d   j                  d¬«      }|j                  «       j                  «       t        j                  d   k(  sJ ‚|d   j                  t        d«      d¬«       dt        j                  d<   |d   j                  dddi¬	«      }|j                  «       j                  «       dk(  sJ ‚|d   j                  t        d«      d¬«       |d   j                  d¬«      }|j                  «       j                  «       dk(  sJ ‚y # 1 sw Y   �ŒÔxY w)Nr   rñ  rN   r  é   Úserif)ÚfamilyÚsize)rÏ   Útitle_fontsizeÚtitle_fontproperties)rÏ   r)  r5   rl   )r   é   )ro   r   )rÏ   r(  r   zlegend.title_fontsizer&  z	font.size©rÏ   rœ   r¨   r   )r   rB   ry   r+  r,  r
  r$   r
   r  Úget_sizer   rv   Úget_fontsizerÆ   r¿   )	r…   r+   ÚaxesÚleg0Úleg1r!  Úleg3Úleg4Úleg5s	            r1   Ú#test_legend_title_fontprop_fontsizer4  è  s¼  € ä‡H�HŒU�2‹Y˜kÕ*Ü	�‰”zÕ	"Ü�
‰
˜°BØ3:ÀBÑ(Gõ	I÷ 
#ô �*‰*˜:¼NØ.5¸Bô=@ô A€Cà�=‰=‹?×#Ñ#Ó%¨Ò+Ð+Ð+ä—‘˜Q ¨7Ô3�I€CˆØ�9‰9€DØˆ�G‡L�L”�r“ +€LÔ.Ø�‰7�>‰> 
¸2ˆ>Ó>€DØ�>‰>Ó×(Ñ(Ó*¨bÒ0Ð0Ð0Øˆ�G‡L�L”�r“ +€LÔ.Ø�‰7�>‰> 
Ø:AÈ2Ñ/Nð ó P€Dà�>‰>Ó×(Ñ(Ó*¨bÒ0Ð0Ð0Øˆ�G‡L�L”�r“ +€LÔ.Ø,0„C‡L�LÐ(Ñ)Ø�‰7�>‰> 
Ø08¸'Ð/Bð ó D€Dà�>‰>Ó×(Ñ(Ó*¬c¯l©l¸;Ñ.GÒGÐGÐGØˆ�G‡L�L”�r“ +€LÔ.Ø�‰7�>‰> 
ˆ>Ó+€DØ�>‰>Ó×(Ñ(Ó*¬c¯l©l¸;Ñ.GÒGÐGÐGØˆ�G‡L�L”�r“ +€LÔ.Ø,.„C‡L�LÐ(Ñ)Ø�‰7�>‰> 
Ø08¸'Ð/Bð ó D€Dà�>‰>Ó×(Ñ(Ó*¨bÒ0Ð0Ð0Øˆ�G‡L�L”�r“ +€LÔ.Ø�‰7�>‰> 
ˆ>Ó+€DØ�>‰>Ó×(Ñ(Ó*¨bÒ0Ð0Ñ0÷A 
#Ñ	"ús   ºL(Ì(L2Ú	alignment)r‰   rw  rß   c                 óþ   — t        j                  «       \  }}|j                  t        d«      d¬«       |j	                  d| ¬«      }|j                  «       d   j                  | k(  sJ ‚|j                  «       | k(  sJ ‚y )Nr   rü   rN   r  )rÏ   r5  r   )r   r   rB   ry   r$   Úget_childrenrV   Úget_alignment©r5  r+   r,   r…   s       r1   Útest_legend_alignmentr:    sp   € ä�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜V€GÔ$Ø
�)‰)˜*°	ˆ)Ó
:€CØ×ÑÓ˜aÑ ×&Ñ&¨)Ò3Ð3Ð3Ø×ÑÓ )Ò+Ð+Ñ+r3   r   rˆ   c                 ó  — t        j                  «       \  }}|j                  t        d«      d¬«       |j	                  «       }|j                  | «       |j                  «       t        j                  j                  |    k(  sJ ‚y )Nr   rü   rN   )
r   r   rB   ry   r$   Úset_locÚ_get_locrÆ  rs   Úcodes©r   r+   r,   r…   s       r1   Útest_ax_legend_set_locr@    s_   € ä�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜V€GÔ$Ø
�)‰)‹+€CØ‡K�K�ÔØ�<‰<‹>œWŸ^™^×1Ñ1°#Ñ6Ò6Ð6Ñ6r3   )zoutside rightrß   c                 óX  — t        j                  «       \  }}|j                  t        d«      d¬«       |j	                  «       }|j                  | «       | j                  d«      r| j                  «       d   n| } |j                  «       t        j                  j                  |    k(  sJ ‚y )Nr   rü   rN   Úoutsider   )r   r   rB   ry   r$   r<  Ú
startswithÚsplitr=  rÆ  rs   r>  r?  s       r1   Útest_fig_legend_set_locrE     s{   € ä�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜V€GÔ$Ø
�*‰*‹,€CØ‡K�K�ÔàŸN™N¨9Ô5ˆ#�)‰)‹+�aŠ.¸3€CØ�<‰<‹>œWŸ^™^×1Ñ1°#Ñ6Ò6Ð6Ñ6r3   c                 ó  — t        j                  «       \  }}|j                  t        d«      d¬«       |j	                  «       }|j                  | «       |j                  «       d   j                  | k(  sJ ‚|j                  «       | k(  sJ ‚y )Nr   rü   rN   r   )	r   r   rB   ry   r$   Úset_alignmentr7  rV   r8  r9  s       r1   Útest_legend_set_alignmentrH  +  sw   € ä�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜V€GÔ$Ø
�)‰)‹+€CØ×Ñ�iÔ Ø×ÑÓ˜aÑ ×&Ñ&¨)Ò3Ð3Ð3Ø×ÑÓ )Ò+Ð+Ñ+r3   r/   )r·  rº  )r   r   r   c                 óN  — t        j                  «       \  }}|j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  | ¬	«      }|j                  «       D ]2  }t        j                  j                  |j                  «       | «      rŒ2J ‚ y )
Nr   r   ú#1rN   r5   ú#2rl   ú#3©Ú
labelcolor)r   r   rB   r   rQ   r$   r  rÆ   r*   Ú
same_colorÚ	get_color©r/   r+   r,   r…   rò  s        r1   Útest_legend_labelcolor_singlerR  5  sÆ   € ô �l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7à
�)‰)˜uˆ)Ó
%€CØ—‘–ˆÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ  r3   c                  óp  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  g d	¢¬
«      }t        |j                  «       g d	¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  rN   r5   rK  rl   rL  ©r   r   r   rM  ©r   r   rB   r   rQ   r$   r   r  rÆ   r*   rO  rP  ©r+   r,   r…   rò  r/   s        r1   Útest_legend_labelcolor_listrW  B  sÏ   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7à
�)‰)šˆ)Ó
/€CÜ˜3Ÿ=™=›?ªOÖ<‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ =r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   ©r   r/   r5   rK  r   rl   rL  r   Ú	linecolorrM  rT  rU  rV  s        r1   Ú test_legend_labelcolor_linecolorr[  N  sÕ   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBà
�)‰)˜{ˆ)Ó
+€CÜ˜3Ÿ=™=›?ªOÖ<‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ =r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   r   r5   rK  r   rl   rL  r   rZ  rM  rT  ©r   r   r    r   rQ   r$   r   r  rÆ   r*   rO  rP  rV  s        r1   Ú/test_legend_pathcollection_labelcolor_linecolorr^  Z  sÕ   € ä�l‰l‹n�G€CˆØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°T¸S€JÔAØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°T¸S€JÔAØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°T¸S€JÔAà
�)‰)˜{ˆ)Ó
+€CÜ˜3Ÿ=™=›?ªOÖ<‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ =r3   c                  ó„  — t        j                  «       \  } }t        j                  g d¢dz  «      }|j	                  t        j
                  d«      t        j
                  d«      d|¬«       |j                  d¬«      }|j                  «       \  }t        j                  j                  |j                  «       d«      sJ ‚y )	N©r   r   r   r   rU   r5   r   rJ  r   rZ  rM  Úblack)r   r   r   r•   r    rQ   r$   r  rÆ   r*   rO  rP  )r+   r,   r*   r…   rò  s        r1   Ú8test_legend_pathcollection_labelcolor_linecolor_iterablerb  f  s‰   € ô �l‰l‹n�G€CˆÜ�X‰XÒ/°!Ñ3Ó4€FØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m°4¸6€JÔBà
�)‰)˜{ˆ)Ó
+€CØ�M‰M‹O�E€DÜ�:‰:× Ñ  §¡Ó!1°7Ô;Ð;Ñ;r3   c                  óv  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      t        j                  d«      d¬«       |j                  d¬«      }|j                  «       \  }t        j                  j                  |j                  «       d«      sJ ‚y )Nr   rJ  ©r   r   rZ  rM  ra  )r   r   r    r   rQ   r$   r  rÆ   r*   rO  rP  )r+   r,   r…   rò  s       r1   Ú4test_legend_pathcollection_labelcolor_linecolor_cmapre  r  s}   € ô �l‰l‹n�G€CˆØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¬r¯y©y¸«}ÀD€JÔIà
�)‰)˜{ˆ)Ó
+€CØ�M‰M‹O�E€DÜ�:‰:× Ñ  §¡Ó!1°7Ô;Ð;Ñ;r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   ©r   Úmarkeredgecolorr5   rK  r   rl   rL  r   rh  rM  rT  rU  rV  s        r1   Ú&test_legend_labelcolor_markeredgecolorri  }  óÖ   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLà
�)‰)Ð0ˆ)Ó
1€CÜ˜3Ÿ=™=›?ªOÖ<‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ =r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   ©r   rï   r5   rK  r   rl   rL  r   rh  rM  rT  r]  rV  s        r1   Ú5test_legend_pathcollection_labelcolor_markeredgecolorrm  ‰  óÖ   € ä�l‰l‹n�G€CˆØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°TÀS€JÔIØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°TÀS€JÔIØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°TÀS€JÔIà
�)‰)Ð0ˆ)Ó
1€CÜ˜3Ÿ=™=›?ªOÖ<‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ =r3   c                  ó¦  — t        j                  «       \  } }t        j                  g d¢dz  «      }|j	                  t        j
                  d«      t        j
                  d«      d|¬«       |j                  d¬«      }t        |j                  «       dg«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )	Nr`  r5   r   rJ  rl  rh  rM  rÄ  ©r   r   r   r•   r    rQ   r$   r   r  rÆ   r*   rO  rP  ©r+   r,   r*   r…   rò  r/   s         r1   Ú>test_legend_pathcollection_labelcolor_markeredgecolor_iterablerr  •  óš   € ô �l‰l‹n�G€CˆÜ�X‰XÒ/°!Ñ3Ó4€FØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m°4À6€JÔJà
�)‰)Ð0ˆ)Ó
1€CÜ˜3Ÿ=™=›?¨S¨EÖ2‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ 3r3   c                  ó  — t        j                  «       \  } }t        j                  d   t        j
                  j                  d«      «      }|j                  t	        j                  d«      t	        j                  d«      dt	        j                  d«      |d¬«       |j                  d¬«      }t        |j                  «       dg«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )	NÚviridisr   rJ  ÚReds)r   r   rï   Úcmaprh  rM  rÄ  ©r   r   rÆ   Ú	colormapsr   r   r¾  r    rQ   r$   r   r  r*   rO  rP  )r+   r,   r¼  r…   rò  r/   s         r1   Ú:test_legend_pathcollection_labelcolor_markeredgecolor_cmaprz  ¡  s¿   € ô �l‰l‹n�G€CˆÜ—‘˜yÑ)¬"¯)©)¯.©.¸Ó*<Ó=€JØ‡J�JÜ
�	‰	�"‹Ü
�	‰	�"‹ØÜ
�)‰)�B‹-ØØð ô ð �)‰)Ð0ˆ)Ó
1€CÜ˜3Ÿ=™=›?¨S¨EÖ2‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ 3r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   ©r   Úmarkerfacecolorr5   rK  r   rl   rL  r   r}  rM  rT  rU  rV  s        r1   Ú&test_legend_labelcolor_markerfacecolorr~  ´  rj  r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   ©r   rµ  r5   rK  r   rl   rL  r   r}  rM  rT  r]  rV  s        r1   Ú5test_legend_pathcollection_labelcolor_markerfacecolorr�  À  rn  r3   c                  ó¦  — t        j                  «       \  } }t        j                  g d¢dz  «      }|j	                  t        j
                  d«      t        j
                  d«      d|¬«       |j                  d¬«      }t        |j                  «       dg«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )	Nr`  r5   r   rJ  r€  r}  rM  rÄ  rp  rq  s         r1   Ú>test_legend_pathcollection_labelcolor_markerfacecolor_iterablerƒ  Ì  rs  r3   c                  óÜ  — t        j                  «       \  } }t        j                  d   t        j
                  j                  d«      «      }|j                  t	        j                  d«      t	        j                  d«      d|¬«       |j                  d¬«      }t        |j                  «       dg«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nru  r   rJ  r   r}  rM  rÄ  rx  rq  s         r1   Ú8test_legend_pathcollection_labelcolor_markfacecolor_cmapr…  Ø  s±   € ô �l‰l‹n�G€CˆÜ�]‰]˜9Ñ%¤b§i¡i§n¡n°RÓ&8Ó9€FØ‡J�JÜ
�	‰	�"‹Ü
�	‰	�"‹ØØ
ð	 ô ð �)‰)Ð0ˆ)Ó
1€CÜ˜3Ÿ=™=›?¨S¨EÖ2‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ 3r3   c                 óp  — t        j                  «       \  }}|j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       | t
        j                  d	<   |j                  «       }|j                  «       D ]2  }t
        j                  j                  |j                  «       | «      rŒ2J ‚ y )
Nr   r   rJ  rN   r5   rK  rl   rL  úlegend.labelcolor)r   r   rB   r   rQ   rÆ   r¿   r$   r  r*   rO  rP  rQ  s        r1   Ú%test_legend_labelcolor_rcparam_singlerˆ  é  sÐ   € ô �l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7à(-„C‡L�LÐ$Ñ%Ø
�)‰)‹+€CØ—‘–ˆÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ  r3   c                  ó”  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       dt
        j                  d<   |j                  «       }t        |j                  «       g d¢«      D ]5  \  }}t
        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   rY  r5   rK  r   rl   rL  r   rZ  r‡  rT  ©r   r   rB   r   rQ   rÆ   r¿   r$   r   r  r*   rO  rP  rV  s        r1   Ú(test_legend_labelcolor_rcparam_linecolorr‹  ÷  sß   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBà(3„C‡L�LÐ$Ñ%Ø
�)‰)‹+€CÜ˜3Ÿ=™=›?ªOÖ<‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ =r3   c                  ó”  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       dt
        j                  d<   |j                  «       }t        |j                  «       g d¢«      D ]5  \  }}t
        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   rg  r5   rK  r   rl   rL  r   rh  r‡  rT  rŠ  rV  s        r1   Ú.test_legend_labelcolor_rcparam_markeredgecolorr�    óß   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLà(9„C‡L�LÐ$Ñ%Ø
�)‰)‹+€CÜ˜3Ÿ=™=›?ªOÖ<‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ =r3   c                  ó”  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       dt
        j                  d<   |j                  «       }t        |j                  «       g d¢«      D ]5  \  }}t
        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   rg  r5   rK  r   rl   rL  r   Úmecr‡  rT  rŠ  rV  s        r1   Ú4test_legend_labelcolor_rcparam_markeredgecolor_shortr‘    óß   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLà(-„C‡L�LÐ$Ñ%Ø
�)‰)‹+€CÜ˜3Ÿ=™=›?ªOÖ<‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ =r3   c                  ó”  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       dt
        j                  d<   |j                  «       }t        |j                  «       g d¢«      D ]5  \  }}t
        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   r|  r5   rK  r   rl   rL  r   r}  r‡  rT  rŠ  rV  s        r1   Ú.test_legend_labelcolor_rcparam_markerfacecolorr”    rŽ  r3   c                  ó”  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       dt
        j                  d<   |j                  «       }t        |j                  «       g d¢«      D ]5  \  }}t
        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   r|  r5   rK  r   rl   rL  r   Úmfcr‡  rT  rŠ  rV  s        r1   Ú4test_legend_labelcolor_rcparam_markerfacecolor_shortr—  +  r’  r3   c                 óB  — |j                   d   j                  «       }|j                  «       d   }| d   d   } t        j                  j                  ||«      sJ ‚|r`t        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚|rat        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚yy)zÀ
    Check that histogram color, legend handle color, and legend label color all
    match the expected input. Provide facecolor and edgecolor flags to clarify
    which feature to match.
    rW   r   N)ÚtextsrP  Úget_patchesrÆ   r*   rO  Úget_facecolorÚget_edgecolor)Ú	histogramr…   Úexpected_colorrµ  rï   Úlabel_colorrù   s          r1   Úassert_last_legend_patch_colorr   8  sê   € ð —)‘)˜B‘-×)Ñ)Ó+€KØ�O‰OÓ˜bÑ!€EØ˜"‘˜aÑ €IÜ�:‰:× Ñ  ¨nÔ=Ð=Ð=ÙÜ�z‰z×$Ñ$ [°%×2EÑ2EÓ2GÔHÐHÐHÜ�z‰z×$Ñ$ [°)×2IÑ2IÓ2KÔLÐLÐLÙÜ�z‰z×$Ñ$ [°%×2EÑ2EÓ2GÔHÐHÐHÜ�z‰z×$Ñ$ [°)×2IÑ2IÓ2KÔLÐLÑLð r3   c                  ó|  — t        j                  d«      } t        j                  «       \  }}|j	                  | ddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | d
dd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | ddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | d
ddd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | d
dd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬	«       y )Nr   rZ   r   zred bar hist with a red label)ru   r/   r   rZ  rM  T©rµ  rp   r   zgreen step hist, green label©rï   rq   r   z&blue stepfilled hist with a blue labelz,red bar hist with blue edges and a red label)ru   r/   Úecr   )ru   r�   r¤  r   rº  z(unfilled blue bar hist with a blue labelz blue step hist with a blue label)ru   r¤  r   z*red stepfilled hist, blue edges, red labelz)unfilled blue stepfilled hist, blue labelz-edgeless red stepfilled hist with a red label)r   rQ   r   r   rx   r$   r   )r-   r+   r,   r  r…   s        r1   Ú+test_legend_labelcolor_linecolor_histogramsr¥  K  sì  € Ü
�	‰	�"‹€Aô �l‰l‹n�G€CˆØ
�‰�˜E¨Ð4SˆÓT€AØ
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜F¨#Ð5SˆÓT€AØ
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜L°Ø>ð 	ó 	@€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?ð 	�‰�˜E¨°ØDð 	ó 	F€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜E c¨cØDð 	ó 	F€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜E f°Ø@ð 	ó 	B€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?ð 	�‰�˜F¨#°#Ø8ð 	ó 	:€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜F sØ8ð 	ó 	:€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?ð 	�‰�˜L°¸ØBð 	ó 	D€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜L¨S°SØBð 	ó 	D€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜L¨V¸ØAð 	ó 	C€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜L¨S°VØEð 	ó 	G€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Ö?r3   c                 óö  — |j                   d   j                  «       }|j                  «       d   }t        j                  j                  ||«      sJ ‚|r`t        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚|r`t        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚|rat        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚yy)zÉ
    Check that line marker color, legend handle color, and legend label color all
    match the expected input. Provide color, facecolor and edgecolor flags to clarify
    which feature to match.
    rW   N)r™  rP  rC   rÆ   r*   rO  Úget_markerfacecolorÚget_markeredgecolor)Úline_markerr…   rž  r/   rµ  rï   rŸ  Ú
leg_markers           r1   Ú#assert_last_legend_linemarker_colorr«  Ž  s$  € ð —)‘)˜B‘-×)Ñ)Ó+€KØ—‘“ Ñ$€JÜ�:‰:× Ñ  ¨nÔ=Ð=Ð=ÙÜ�z‰z×$Ñ$ [°*×2FÑ2FÓ2HÔIÐIÐIÜ�z‰z×$Ñ$ [°+×2GÑ2GÓ2IÔJÐJÐJÙÜ�z‰z×$Ñ$ [°*×2PÑ2PÓ2RÔSÐSÐSÜ�z‰z×$Ñ$ [°+×2QÑ2QÓ2SÔTÐTÐTÙÜ�z‰z×$Ñ$ [°*×2PÑ2PÓ2RÔSÐSÐSÜ�z‰z×$Ñ$ [°+×2QÑ2QÓ2SÔTÐTÑTð r3   c                  óp  — t        j                  d«      } t        j                  «       \  }}|j	                  | dd¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	dd
¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	ddd¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	ddd¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	ddd¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	ddd¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	ddd¬«      \  }|j                  d¬«      }t        ||d«       y )Nr   r   zred line with a red labelrd  rZ  rM  TrÌ  rL   úred circles with a red labelr   ú"red circles, blue edges, red label)r   r�  r   )r–  r�  r   r¢  rº  ú!blue unfilled circles, blue labelr£  úred edgeless circles, red labelú7black label despite invisible circles for dummy entriesrÄ  )r   rQ   r   r   rB   r$   r«  )r-   r+   r,   r  r…   s        r1   Ú%test_legend_labelcolor_linecolor_plotr²  £  s¶  € Ü
�	‰	�!‹€Aô �l‰l‹n�G€CˆØ	�‰��cÐ!<ˆÓ	=�B€AØ
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸4Õ@ð 
�‰��C˜3Ð&DˆÓ	E�B€AØ
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸4Õ@à	�‰��C˜3 CÐ/SˆÓ	T�B€AØ
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸4Õ@à	�‰��C˜S cÐ1UˆÓ	V�B€AØ
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸tÕDð 
�‰��C˜V¨Ø:ð 
ó 
<�B€Aà
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸tÕDà	�‰��C˜S fÐ4UˆÓ	V�B€AØ
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸tÕDà	�‰��C˜6 vØPð 
ó 
R�B€Aà
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°Õ4r3   c                 ó*  — |j                   d   j                  «       }|j                  d   }t        j                  j                  ||«      sJ ‚|r`t        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚|rat        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚yy)zÅ
    Check that scatter marker color, legend handle color, and legend label color all
    match the expected input. Provide facecolor and edgecolor flags to clarify
    which feature to match.
    rW   N)r™  rP  r	  rÆ   r*   rO  r›  rœ  )Úscatter_markerr…   rž  rµ  rï   rŸ  Ú
leg_handles          r1   Ú&assert_last_legend_scattermarker_colorr¶  É  sÛ   € ð —)‘)˜B‘-×)Ñ)Ó+€KØ×#Ñ# BÑ'€JÜ�:‰:× Ñ  ¨nÔ=Ð=Ð=ÙÜ�z‰z×$Ñ$ [°*×2JÑ2JÓ2LÔMÐMÐMÜ�z‰z×$Ñ$ [°.×2NÑ2NÓ2PÔQÐQÐQÙÜ�z‰z×$Ñ$ [°*×2JÑ2JÓ2LÔMÐMÐMÜ�z‰z×$Ñ$ [°.×2NÑ2NÓ2PÔQÐQÑQð r3   c                  óê  — t        j                  d«      } t        j                  «       \  }}|j	                  | | dd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | | dd	d
¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | | dd	d
¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | | dd	d¬«      }|j                  d¬«      }t        ||d	d¬«       |j	                  | | ddd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | | ddd¬«      }|j                  d¬«      }t        ||d«       y )Nr   r   r­  rd  rZ  rM  Tr¢  r   r®  )r   r¤  r   )r�   r¤  r   rº  r¯  r£  r°  r±  rÄ  )r   rQ   r   r   r    r$   r¶  )r-   r+   r,   r¶  r…   s        r1   Ú(test_legend_labelcolor_linecolor_scatterr¸  Û  sn  € Ü
�	‰	�!‹€Aô �l‰l‹n�G€CˆØ
�
‰
�1�a˜3Ð&Dˆ
ÓE€AØ
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3À$ÕGà
�
‰
�1�a˜3 3Ð.Rˆ
ÓS€AØ
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3À$ÕGà
�
‰
�1�a˜C CÐ/Sˆ
ÓT€AØ
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3À$ÕGð 	�
‰
�1�a˜F sÐ2Uˆ
ÓV€AØ
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3À$ÕGà
�
‰
�1�a˜C FÐ2Sˆ
ÓT€AØ
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3À$ÕGà
�
‰
�1�a˜6 fØRð 	ó 	T€Aà
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3Õ7r3   z4ignore:No artists with labels found to put in legendc                  óÜ   — t        j                  «       } | j                  «       rJ ‚| j                  d«       | j                  «       sJ ‚| j                  d«       | j                  «       rJ ‚y )NTF)r   r$   Úget_draggableÚset_draggable©r$   s    r1   Útest_get_set_draggabler½  û  sb   € ä�Z‰Z‹\€FØ×#Ñ#Ô%Ð%Ð%Ø
×Ñ˜ÔØ×ÑÔ!Ð!Ð!Ø
×Ñ˜ÔØ×#Ñ#Ô%Ð%Ð%Ð%r3   Ú	draggable)TFc                 ó¶   — t        j                  «       \  }}|j                  t        d«      d¬«       |j	                  | ¬«      }|j                  «       | u sJ ‚y )Nr   ÚshabnamsrN   )r¾  )r   r   rB   ry   r$   rº  )r¾  r+   r,   r…   s       r1   Útest_legend_draggablerÁ    sL   € ä�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜Z€GÔ(Ø
�)‰)˜iˆ)Ó
(€CØ×ÑÓ )Ñ+Ð+Ñ+r3   c                  ó^  — t        j                  g d¢ddd¬«      \  } }}t        j                  «       }|j                  D ]  }|j	                  d«       Œ j                  «       d d |d   j                  «       d d k(  sJ ‚|j                  «       d d |d   j                  «       d d k(  sJ ‚y )	Nr¯   g      Ð?Údatar·  )r»  r   r/   rg   rW   r   )r   rx   r$   r	  Ú	set_alphar›  rœ  )r-   rÀ  Úhhr$   rë  s        r1   Útest_alpha_handlesrÆ    s§   € Ü�x‰xš	¨°VÀ5ÔI�H€A€qˆ"Ü�Z‰Z‹\€FØ×#Ô#ˆØ
�‰�SÕð $à×ÑÓ˜c˜rÐ" b¨¡e×&9Ñ&9Ó&;¸C¸RÐ&@Ò@Ð@Ð@Ø×ÑÓ˜c˜rÐ" b¨¡e×&9Ñ&9Ó&;¸C¸RÐ&@Ò@Ð@Ñ@r3   c                 óD  — dt         j                  d<   dt         j                  d<   dt         j                  d<   t        j                  «       \  }}|j	                  ddd¬	«       |j                  d
¬«       |j                  j                  «        d| j                  vsJ ‚y )Nr%  zfont.familyzComputer Modernz
font.serifTztext.usetexr   ÚinputrN   rÍ   r+  z Font family ['serif'] not found.)	rÆ   r¿   r   r   rB   r$   rz   r{   rò  )Úcaplogr+   r,   s      r1   Útest_usetex_no_warnrÊ    s{   € à")„C‡L�L�ÑØ!2„C‡L�L�ÑØ"&„C‡L�L�Ñä�l‰l‹n�G€CˆØ‡G�GˆAˆq˜€GÔ Ø‡I�I�K€IÔ à‡J�J‡O�OÔØ-°V·[±[Ñ@Ð@Ñ@r3   c                 ó
  ‡— t        j                  dd¬«      Š| j                  t        dˆfd„«       t	        j
                  «       \  }}|j                  j                  «        g d¢}g d¢}|j                  ||dd	¬
«       t        ddi«      5  |j                  «       }d d d «       t        j                  t        d¬«      5 }|j                  «       d d d «       t        «      dk(  sJ ‚y # 1 sw Y   ŒOxY w# 1 sw Y   Œ&xY w)Nr   ç      ø?©rp   Úperf_counterc                  ó   •— t        ‰ «      S r7   ©Únext©Úcounters   €r1   Ú<lambda>z-test_warn_big_data_best_loc.<locals>.<lambda>'  ó	   ø€ ´d¸7´mr3   r_   rb   re   r:   rN   z
legend.locrP   zGCreating legend with loc="best" can be slow with large amounts of data.r)  r5   )Ú	itertoolsÚcountÚsetattrÚtimer   r   rz   r{   rB   r	   r$   r+  rb  rc  Údraw_artistrá   )Úmonkeypatchr+   r,   r-   r.   r$   ÚrecordsrÓ  s          @r1   Útest_warn_big_data_best_locrÝ  $  sÏ   ø€ ä�o‰o˜a cÔ*€GØ×Ñœ˜nÓ.CÔDä�l‰l‹n�G€CˆØ‡J�J‡O�OÔò 	'€AÚ*€AØ‡G�GˆAˆq�$˜f€GÔ%ä	�\ 6Ð*Õ	+Ø—‘“ˆ÷ 
,ä	�‰”kð)õ
*à-4Ø�‰˜Ô÷
*ô ˆw‹<˜1ÒÐÑ÷ 
,Ð	+ú÷
*ð 
*ús   ÂC-ÃC9Ã-C6Ã9Dc                 óH  ‡— t        j                  dd¬«      Š| j                  t        dˆfd„«       t	        j
                  «       \  }}|j                  j                  «        g d¢}g d¢}|j                  ||dd	¬
«       |j                  d«      }|j                  |«       y )Nr   rÌ  rÍ  rÎ  c                  ó   •— t        ‰ «      S r7   rÐ  rÒ  s   €r1   rÔ  z:test_no_warn_big_data_when_loc_specified.<locals>.<lambda>?  rÕ  r3   r_   rb   re   r:   rN   rP   )rÖ  r×  rØ  rÙ  r   r   rz   r{   rB   r$   rÚ  )rÛ  r+   r,   r-   r.   r$   rÓ  s         @r1   Ú(test_no_warn_big_data_when_loc_specifiedrà  <  s}   ø€ ä�o‰o˜a cÔ*€GØ×Ñœ˜nÓ.CÔDä�l‰l‹n�G€CˆØ‡J�J‡O�OÔò 	'€AÚ*€AØ‡G�GˆAˆq�$˜f€GÔ%à�Y‰Y�vÓ€FØ‡O�O�FÕr3   Úlabel_arrayÚlowÚhigh)râ  rã  c                 ó
  — g d¢}ddgddgddgg}t        j                  «       \  }}|j                  ||| ¬«       |j                  «       }|j	                  «       D �cg c]  }|j                  «       ‘Œ }}|dd	gk(  sJ ‚y c c}w )
Nr¯   r   r5   r   rœ   rr   rN   râ  rã  )r   r   rB   r$   r  r  )rá  r-   r.   r+   r,   r…   ÚentryÚlegend_textss           r1   Ú'test_plot_multiple_input_multiple_labelrç  M  sŒ   € ò 	€AØ
ˆQˆØ
ˆQˆØ
ˆQˆð	€Aô �l‰l‹n�G€CˆØ‡G�GˆAˆq˜€GÔ$Ø
�)‰)‹+€CØ25·-±-´/ÓB±/¨�E—N‘NÕ$°/€LÐBØ˜E 6˜?Ò*Ð*Ñ*ùò Cs   ÁB r   rÚ   r   c                 ó   — g d¢}ddgddgddgg}t        j                  «       \  }}|j                  ||| ¬«       |j                  «       }|j	                  «       D �cg c]  }|j                  «       ‘Œ }}|t        | «      gdz  k(  sJ ‚y c c}w )Nr¯   r   r5   r   rœ   rr   rN   )r   r   rB   r$   r  r  Ústr)r   r-   r.   r+   r,   r…   rå  ræ  s           r1   Ú%test_plot_multiple_input_single_labelrê  _  s“   € ò 	€AØ
ˆQˆØ
ˆQˆØ
ˆQˆð	€Aô �l‰l‹n�G€CˆØ‡G�GˆAˆq˜€GÔØ
�)‰)‹+€CØ25·-±-´/ÓB±/¨�E—N‘NÕ$°/€LÐBØœC ›J˜<¨!Ñ+Ò+Ð+Ñ+ùò Cs   ÁBc                  óÎ   — g d¢} g d¢}t        j                  «       \  }}t        j                  t        d¬«      5  |j                  | |ddg¬«       d d d «       y # 1 sw Y   y xY w)Nr¯   )r5   r   r*  z,label must be scalar or have the same lengthr)  râ  rã  rN   )r   r   r+  r,  r
  rB   )r-   r.   r+   r,   s       r1   Ú%test_plot_single_input_multiple_labelrì  o  sX   € ò 	€AÚ€AÜ�l‰l‹n�G€CˆÜ	�‰”zØKö
Mà
�‰��1˜U F˜OˆÔ,÷
M÷ 
Mñ 
Mús   »AÁA$c                  ó�   — t        j                  «       \  } }|j                  dgdggdg¬«      \  }|j                  «       dk(  sJ ‚y )Nr   r   ÚArN   )r   r   rB   Ú	get_label)r+   r,   r:   s      r1   Ú!test_plot_single_input_list_labelrð  z  sD   € Ü�l‰l‹n�G€CˆØ�G‰G�a�S˜1˜#�J s eˆGÓ,�E€DØ�>‰>Ó˜sÒ"Ð"Ñ"r3   c                  óÜ   — t        j                  t        «      5  g d¢} ddgddgddgg}g d¢}t        j                  «       \  }}|j                  | ||¬«       d d d «       y # 1 sw Y   y xY w)	Nr¯   r   r5   r   rœ   rr   )rã  râ  ÚmediumrN   )r+  r,  r
  r   r   rB   )r-   r.   r   r+   r,   s        r1   Ú3test_plot_multiple_label_incorrect_length_exceptionró  €  se   € ô 
�‰”zÕ	"ÚˆØ�ˆVØ�ˆVØ�ˆVðˆò *ˆÜ—,‘,“.‰ˆˆRØ
�‰��1˜EˆÔ"÷ 
#×	"Ñ	"ús   š?A"Á"A+c                  óŒ   — t        j                  «       \  } }|j                  g d¢g d¢g d¢ddd¬«       |j                  «        y )NrV  r¯   r°   r   ÚfaceÚFill)rµ  rï   r   )r   r   rø   r$   r¢   s     r1   Útest_legend_face_edgecolorr÷  �  s9   € ä�l‰l‹n�G€CˆØ‡O�O’Išyª)Ø!¨V¸6ð ô Cà‡I�I…Kr3   c                  óä   — t        j                  «       \  } }|j                  ddgddgd¬«       |j                  «       }|j                  |u sJ ‚|j                  «       d   j                  |u sJ ‚y )Nr   r5   rl   rœ   r:   rN   r   )r   r   rB   r$   r.  r  rÂ   s      r1   Útest_legend_text_axesrù  •  se   € Ü�l‰l‹n�G€CˆØ‡G�GˆQ�ˆF�Q˜�F &€GÔ)Ø
�)‰)‹+€Cà�8‰8�r‰>Ðˆ>Ø�=‰=‹?˜1Ñ×"Ñ" bÑ(Ð(Ñ(r3   c                  ó(  — t        j                  «       \  } }|j                  ddgddgd¬«       t        j                  dgdgd¬«      g}|j                  |dgd¬«      }|d   j                  «       |j                  d   j                  «       k(  sJ ‚y )Nr   r   rÅ  )r´  r  rî  )r   r   r    ÚmlinesÚLine2Dr$   r
  r	  )r+   r,   r0   r…   s       r1   Útest_handlerline2drý  ž  s‰   € ä�l‰l‹n�G€CˆØ‡J�J��1ˆv˜˜1�v c€JÔ*Ü�}‰}˜a˜S 1 #¨cÔ2Ð3€GØ
�)‰)�G˜j˜\°Qˆ)Ó
7€CØ�1‰:× Ñ Ó" c×&8Ñ&8¸Ñ&;×&FÑ&FÓ&HÒHÐHÑHr3   c                  óä   — t        j                  «       j                  «       } | j                  «       }|j	                  ddgddgd¬«       | j                  «       }|j                  d¬«      | u sJ ‚y )Nr   r   r:   rN   F)Úroot)r   rŸ   Ú
subfiguresr   rB   r$   Ú
get_figure)Úsubfigr,   r…   s      r1   Útest_subfigure_legendr  §  s`   € ä�Z‰Z‹\×$Ñ$Ó&€FØ	�‰Ó	€BØ‡G�GˆQ�ˆF�Q˜�F &€GÔ)Ø
�-‰-‹/€CØ�>‰>˜uˆ>Ó%¨Ñ/Ð/Ñ/r3   c                  ó~  — t        j                  ddgddgdd¬«      } t        j                  «       j                  «       d   }|j	                  d«       |j                  «       d d t        | j                  «       d   d d «      k(  sJ ‚|j                  «       d d t        | j                  «       d   d d «      k(  sJ ‚y )	Nr   r   r5   rl   z#123456r   )r/   r   r   )r   rø   r$   rš  rÄ  r›  Útuplerœ  )Úpcrù   s     r1   Ú-test_setting_alpha_keeps_polycollection_colorr  °  sµ   € Ü	×	Ñ	˜1˜a˜& 1 a &°	ÀÔ	I€BÜ�J‰J‹L×$Ñ$Ó& qÑ)€EØ	‡O�O�CÔØ×ÑÓ   !Ð$¬¨b×.>Ñ.>Ó.@ÀÑ.CÀBÀQÐ.GÓ(HÒHÐHÐHØ×ÑÓ   !Ð$¬¨b×.>Ñ.>Ó.@ÀÑ.CÀBÀQÐ.GÓ(HÒHÐHÑHr3   c            	      óò  — g d¢} t        j                  «       \  }}| D �cg c]  }t        j                  dgdgd|¬«      ‘Œ }}g d¢}|D �cg c]  }|j	                  «       ‘Œ }}|j                  ||«      }|j                  «       D �cg c]  }|j	                  «       ‘Œ }	}|j                  «       D �
cg c]  }
|
j                  «       ‘Œ }}
||	cxk(  r| k(  sJ ‚ J ‚||k(  sJ ‚y c c}w c c}w c c}w c c}
w )N)r  Ú*rÅ  r   ÚNone)Úlsr´  )r®  rZ   Úxyzzy)	r   r   rû  rü  r
  r$   rC   r  r  )Ú_markersr+   r,   Úmarkr   r)   r:   r  r$   Únew_markersrò  Ú
new_labelss               r1   Útest_legend_markers_from_line2dr  ¸  sþ   € â€HÜ�l‰l‹n�G€Cˆá!ó#Ù!�ô �]‰]˜A˜3  ¨°tÖ<Ø!ð 
ð #â$€FÙ-2Ó3©U Tˆt�‰Õ ¨U€GÐ3Ø�Y‰Y�u˜fÓ%€Fà17×1AÑ1AÔ1CÓDÑ1C¨�4—?‘?Õ$Ð1C€KÐDØ.4×.>Ñ.>Ô.@ÓAÑ.@ d�$—-‘-•/Ð.@€JÐAà�kÔ- XÒ-Ð-Ñ-Ð-Ð-Ø�ZÒÐÑùò#ùò 4ùò EùÚAs    "C%ÁC*Â	C/Â4C4c                 ó\   — g d¢}d}| j                  ||¬«       |j                  ||¬«       y )N)r   r   r   r©   Úerú  rl   )Úncol)rn   r¼  )r  r  Ústringsrn   s       r1   Útest_ncol_ncolsr  É  s.   € ò -€GØ€EØ‡O�O�G %€OÔ(Ø‡N�N�7 %€NÕ(r3   c                  óÊ  — t        j                  «       \  } }t        j                  t        d¬«      5  |j                  ddg¬«       d d d «       t        j                  t        d¬«      5  |j                  ddg¬«       d d d «       t        j                  t        d¬«      5  |j                  d	dg¬«       d d d «       y # 1 sw Y   ŒzxY w# 1 sw Y   ŒNxY w# 1 sw Y   y xY w)
NzFloc must be string, coordinate tuple, or an integer 0-10, not \(1.1,\)r)  )rô   rñ  ©r   r)   zWloc must be string, coordinate tuple, or an integer 0-10, not \(0.481, 0.4227, 0.4523\))çbX9´ÈÞ?g“:M„Û?gmÅþ²{òÜ?zRloc must be string, coordinate tuple, or an integer 0-10, not \(0.481, 'go blue'\))r  zgo blue©r   r   r+  r,  r
  r$   r¢   s     r1   Ú test_loc_invalid_tuple_exceptionr  Ò  sÍ   € ô �l‰l‹n�G€CˆÜ	�‰”zð +Cö 
Eà
�	‰	�g { mˆ	Ô4÷
Eô 
�‰”zð +Tö 
Và
�	‰	Ð-°{°mˆ	ÔD÷
Vô 
�‰”zð +Qö 
Sà
�	‰	Ð(°+°ˆ	Ô?÷
Sð 
S÷
Eð 
Eú÷
Vð 
Vú÷
Sð 
Sús#   ³CÁ+CÂ#CÃC
ÃCÃC"c                  ó‚   — t        j                  «       \  } }|j                  ddg¬«       |j                  ddg¬«       y )N)r  ç}?5^ºIÜ?rñ  r  )r   r5   ©r   r   r$   r¢   s     r1   Útest_loc_valid_tupler  ã  s5   € Ü�l‰l‹n�G€CˆØ‡I�I�.¨+¨€IÔ7Ø‡I�I�& + €IÕ/r3   c                  óŠ   — t        j                  «       \  } }|j                  ddgdg¬«       |j                  ddgdg¬«       y )Nr  r  rñ  r  r   r5   r  r¢   s     r1   Útest_loc_valid_listr!  é  s=   € Ü�l‰l‹n�G€CˆØ‡I�I�5˜%�.¨+¨€IÔ7Ø‡I�I�1�a�& + €IÕ/r3   c                  ó¾   — t        j                  «       \  } }t        j                  t        d¬«      5  |j                  g d¢dg¬«       d d d «       y # 1 sw Y   y xY w)NzOloc must be string, coordinate tuple, or an integer 0-10, not \[1.1, 2.2, 3.3\]r)  )rô   rÍ  gffffff
@rñ  r  r  r¢   s     r1   Útest_loc_invalid_list_exceptionr#  ï  sK   € Ü�l‰l‹n�G€CˆÜ	�‰”zð +Lö 
Nà
�	‰	’o¨{¨mˆ	Ô<÷
N÷ 
Nñ 
Núó   ³AÁAc                  ó¾   — t        j                  «       \  } }t        j                  t        d¬«      5  |j                  ddidg¬«       d d d «       y # 1 sw Y   y xY w)NzKloc must be string, coordinate tuple, or an integer 0-10, not {'not': True}r)  ÚnotTrñ  r  r  r¢   s     r1   Útest_loc_invalid_typer'  ö  sO   € Ü�l‰l‹n�G€CˆÜ	�‰”zð +Fö 
Hà
�	‰	�u˜d�m¨[¨Mˆ	Ô:÷
H÷ 
Hñ 
Húr$  c                  óâ  — t        j                  «       \  } }|j                  ddg¬«       |j                  ddg¬«       |j                  ddg¬«       |j                  ddg¬«       t        j                  t
        d¬«      5  |j                  d	dg¬«       d d d «       t        j                  t
        d
¬«      5  |j                  ddg¬«       d d d «       y # 1 sw Y   ŒBxY w# 1 sw Y   y xY w)Nr   rñ  r  r   r   r   z@loc must be string, coordinate tuple, or an integer 0-10, not 11r)  r:  z@loc must be string, coordinate tuple, or an integer 0-10, not -1rW   ©r   r   r$   r+  r,  r
  r¢   s     r1   Ú!test_loc_validation_numeric_valuer*  ý  sÊ   € Ü�l‰l‹n�G€CˆØ‡I�I�!˜[˜M€IÔ*Ø‡I�I�!˜[˜M€IÔ*Ø‡I�I�!˜[˜M€IÔ*Ø‡I�I�"˜k˜]€IÔ+Ü	�‰”zð +;ö 
=à
�	‰	�b + ˆ	Ô/÷
=ô 
�‰”zð +;ö 
=à
�	‰	�b + ˆ	Ô/÷
=ð 
=÷	
=ð 
=ú÷
=ð 
=ús   ÂCÂ;C%ÃC"Ã%C.c                  ó†  — t        j                  «       \  } }dg}|j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d	|¬«       |j                  d
|¬«       |j                  d|¬«       |j                  d|¬«       t        j                  t
        d¬«      5  |j                  d|¬«       d d d «       y # 1 sw Y   y xY w)Nrñ  rP   r  rÖ   r@   rà   r  rß   r   r   zlower centerzupper centerz 'wrong' is not a valid value forr)  Úwrongr)  )r+   r,   r)   s      r1   Ú test_loc_validation_string_valuer-    s  € Ü�l‰l‹n�G€CˆØˆ]€FØ‡I�I�& €IÔ(Ø‡I�I�-¨€IÔ/Ø‡I�I�& €IÔ(Ø‡I�I�-¨€IÔ/Ø‡I�I�, v€IÔ.Ø‡I�I�, v€IÔ.Ø‡I�I�-¨€IÔ/Ø‡I�I�' &€IÔ)Ø‡I�I�-¨€IÔ/Ø‡I�I�.¨€IÔ0Ø‡I�I�.¨€IÔ0Ø‡I�I�.¨€IÔ0Ü	�‰”zÐ)KÖ	LØ
�	‰	�g fˆ	Ô-÷ 
M×	LÑ	Lús   ÄD7Ä7E c                  óŒ  — t        j                  t        d«      «      \  } t        j                  t        d«      «      \  }t        j                  t
        d¬«      5  t        j                  | |gg d¢¬«      }t        |j                  «      dk(  sJ ‚t        |j                  «       «      dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   znumber of handles and labelsr)  ©Úpl1Úpl2Úpl3©r0   r)   r5   )
r   rB   ry   r+  rb  rc  r$   rá   r	  r  ©r0  r1  r$   s      r1   Ú!test_legend_handle_label_mismatchr5    s�   € Ü�8‰8”E˜"“IÓ�D€CÜ�8‰8”E˜"“IÓ�D€CÜ	�‰”kÐ)GÖ	HÜ—‘ S¨# JÒ7LÔMˆÜ�6×(Ñ(Ó)¨QÒ.Ð.Ð.Ü�6×#Ñ#Ó%Ó&¨!Ò+Ð+Ñ+÷ 
I×	HÑ	Hús   ÁAB:Â:Cc                  óN  — t        j                  t        d«      «      \  } t        j                  t        d«      «      \  }t        j                  t	        | |g«      t	        g d¢«      ¬«      }t        |j                  «      dk(  sJ ‚t        |j                  «       «      dk(  sJ ‚y )Nr   r/  r3  r5   )r   rB   ry   r$   Úiterrá   r	  r  r4  s      r1   Ú(test_legend_handle_label_mismatch_no_lenr8  (  s�   € Ü�8‰8”E˜"“IÓ�D€CÜ�8‰8”E˜"“IÓ�D€CÜ�Z‰Z¤ c¨3 ZÓ 0Ü#Ò$9Ó:ô<€Fäˆv×$Ñ$Ó%¨Ò*Ð*Ð*Üˆv×ÑÓ!Ó" aÒ'Ð'Ñ'r3   c                  óº   — t        j                  g d¢«       t        j                  t        d¬«      5  t        j
                  «        d d d «       y # 1 sw Y   y xY w)Nr¯   zNo artists with labels foundr)  )r   rB   r+  r,  rc  r$   r8   r3   r1   Útest_legend_nolabels_warningr:  1  s3   € Ü‡H�HŠYÔÜ	�‰”{Ð*HÖ	IÜ�
‰
Œ÷ 
J×	IÑ	Iús   ³AÁAc                  ó¢   — t        j                  g d¢«       t        j                  «        t        j                  «       j	                  «       €J ‚y )Nr¯   )r   rB   r$   r"  rÿ   r8   r3   r1   Útest_legend_nolabels_drawr<  7  s2   € ä‡H�HŠYÔÜ‡J�J„LÜ�7‰7‹9×ÑÓ!Ð-Ð-Ñ-r3   c            	      ó6  — g d¢} g d¢}g d¢}g }t        j                  dd¬«      \  }}t        |j                  d«      D ]²  \  }}|j	                  | ||dd	d
¬«       |j                  dd«       |j                  dd«       |j                  |¬«      }|j                  j                  «        |j                  |j                  «       j                  |j                  j                  «       «      «       Œ´ t        |d   j                   |d   j                   «       y )Nr±   )r   r   r   )r   r   r   r5   ©r   r   rm   ©rP   rà   Úgrayr   zShaded Area)r/   r»  r   r   r*  rW   r   rA   r   )r   r   r   rv   rø   rh   ri   r$   rz   r{   r|   r}   r~   r   r€   r   r�   )	r-   r§  r¨  rƒ   r+   r‚   r,   r   r…   s	            r1   Útest_legend_loc_polycollectionrA  >  së   € ò 	€AÚ	€BÚ	€BØ€JÜ�|‰| !¨WÔ5�H€CˆÜ�s—x‘xÐ!7Ö8‰ˆˆCØ
�‰˜˜2˜r¨°sÀ-ˆÔPØ
�‰�A�qÔØ
�‰�B˜ÔØ�i‰i˜CˆiÓ ˆØ�
‰
�‰ÔØ×ÑØ×!Ñ!Ó#×/Ñ/°·±×0EÑ0EÓ0GÓHõ	Jð 9ô �J˜q‘M×(Ñ(¨*°Q©-×*>Ñ*>Õ?r3   c                  ó
  — t        j                  dd¬«      \  } }g }t        |j                  d«      D ]¨  \  }}ddg}ddg}|j	                  ||d¬«       |j                  ddd	d
¬«       |j                  |¬«      }| j                  j                  «        |j                  |j                  «       j                  |j                  j                  «       «      «       Œª t        |d   j                  |d   j                  «       y )Nr5   r>  rm   r?  r   z	plot namerN   rÌ  zsome text blahblahÚtop)ÚverticalalignmentrA   r   )r   r   r   rv   rB   rò  r$   rz   r{   r|   r}   r~   r   r€   r   r�   )r+   r‚   rƒ   r,   r   r-   r.   r…   s           r1   Útest_legend_textrE  Q  sá   € ô �|‰| !¨WÔ5�H€CˆØ€JÜ�s—x‘xÐ!7Ö8‰ˆˆCØ�ˆFˆØ�ˆFˆØ
�‰��1˜KˆÔ(Ø
�‰��QÐ,ÀˆÔFØ�i‰i˜CˆiÓ ˆØ�
‰
�‰ÔØ×ÑØ×!Ñ!Ó#×/Ñ/°·±×0EÑ0EÓ0GÓHõ	Jð 9ô �J˜q‘M×(Ñ(¨*°Q©-×*>Ñ*>Õ?r3   c                  óŽ  — t        j                  «       \  } }|j                  g d¢d¬«       |j                  dd¬«       |j	                  d¬«       t
        j                  j                  | d	| j                  ¬
«      5 }| j                  t        j                  «       «       d d d «       j                  «        y # 1 sw Y   ŒxY w)Nr¯   ÚLinerN   r   )r   r   )r�   r   rA   Ú_get_renderer)Úwraps)r   r   rB   Úannotater$   r   rù   ÚobjectrH  ÚsavefigÚioÚBytesIOÚassert_not_called)r+   r,   Úmocked_get_renderers      r1   Útest_legend_annotaterQ  b  s–   € Ü�l‰l‹n�G€Cˆà‡G�GŠI˜V€GÔ$Ø‡K�K�˜€KÔØ‡I�I�!€IÔä	�‰×	Ñ	Ø�¨×(9Ñ(9ð 
ô 
;Ø>QØ�‰”B—J‘J“LÔ!÷
;ð
 ×)Ñ)Õ+÷
;ð 
;ús   Á>$B;Â;Cc                  ó°  — t         j                  j                  d«       t         j                  j                  d«      } t        j                  dd¬«      \  }}g d¢}|d   j                  | d|¬	«      }|d
   D �cg c]  }|j                  «       ‘Œ c}|k(  sJ ‚|d   j                  «       \  }}||k(  sJ ‚t        d„ |D «       «      sJ ‚|d   j                  | |d¬«      }|d   D �cg c]  }|j                  «       ‘Œ c}|k(  sJ ‚|d   j                  «       \  }}||k(  sJ ‚t        d„ |D «       «      sJ ‚t        j                  t        d¬«      5  |d   j                  | |d d ¬«      }	d d d «       |d   j                  | d¬«      }
|
d   d   j                  «       dk(  sJ ‚t        d„ |
d   dd  D «       «      sJ ‚y c c}w c c}w # 1 sw Y   Œ_xY w)Ni!N,)r   rœ   r   rœ   )Únrowsrn   )úbox Azbox Bzbox Czbox Dr   T)Úpatch_artistr   Úboxesc              3   ód   K  — | ](  }t        |t        j                  j                  «      –— Œ* y ­wr7   )Ú
isinstancerÆ   ÚpatchesÚ	PathPatch©r9   r  s     r1   r;   z-test_boxplot_legend_labels.<locals>.<genexpr>}  s"   è ø€ ÐE¹W¸Œz˜!œSŸ[™[×2Ñ2×3¹Wùó   ‚.0F)r   ÚshowboxÚmediansc              3   ód   K  — | ](  }t        |t        j                  j                  «      –— Œ* y ­wr7   )rX  rÆ   r   rü  r[  s     r1   r;   z-test_boxplot_legend_labels.<locals>.<genexpr>…  s"   è ø€ Ð@¹°1Œz˜!œSŸY™Y×-Ñ-×.¹ùr\  z values must have same the lengthr)  r5   rW   rN   rl   rT  c              3   óZ   K  — | ]#  }|j                  «       j                  d «      –— Œ% y­w)Ú_N)rï  rC  )r9   r-   s     r1   r;   z-test_boxplot_legend_labels.<locals>.<genexpr>Ž  s$   è ø€ ÐIÑ6H°ˆq�{‰{‹}×'Ñ'¨×,Ñ6Hùs   ‚)+)r   r   Úseedr   r   Úboxplotrï  r!   Úallr+  r,  r
  )rÃ  r+   r‚   Úlegend_labelsÚbp1rÅ  r0   r)   Úbp2Úbp3Úbp4s              r1   Útest_boxplot_legend_labelsrj  q  sÐ  € ä‡I�I‡N�N�8ÔÜ�9‰9×Ñ˜GÓ$€DÜ�|‰| !¨1Ô-�H€CˆÚ8€Mð ˆa‰&�.‰.˜¨D¸ˆ.Ó
F€CØ#& w¢<Ó0¡<˜aˆA�K‰K�M <Ñ0°MÒAÐAÐAØ˜!‘f×6Ñ6Ó8�O€GˆVØ�]Ò"Ð"Ð"ÜÑE¹WÓEÔEÐEÐEð ˆa‰&�.‰.˜ ]¸Eˆ.Ó
B€Cà#& y¢>Ó2¡>˜aˆA�K‰K�M >Ñ2°mÒCÐCÐCØ˜!‘f×6Ñ6Ó8�O€GˆVØ�]Ò"Ð"Ð"ÜÑ@¹Ó@Ô@Ð@Ð@ô 
�‰”zÐ)KÖ	LØ�!‰f�n‰n˜T¨°s¸Ð);ˆnÓ<ˆ÷ 
Mð ˆa‰&�.‰.˜ Wˆ.Ó
-€CØˆy‰>˜!Ñ×&Ñ&Ó(¨GÒ3Ð3Ð3ÜÑI°c¸)±nÀQÀRÑ6HÓIÔIÐIÑIùò) 1ùò 3÷ 
MÐ	Lús   Á;GÃ)GÅGÇGc                  óö  — t        j                  «       \  } }|j                  g d¢d¬«       |j                  d¬«      }|j                  j                  «       dk(  sJ ‚t        j                  ddi«      5  t        j                  «       \  } }|j                  g d¢d¬«       |j                  «       }|j                  j                  «       dk(  sJ ‚	 ddd«       t        j                  dd	d
œ«      5  t        j                  «       \  } }|j                  g d¢d¬«       |j                  «       }|j                  j                  «       d	k(  sJ ‚	 ddd«       t        j                  ddi«      5  t        j                  «       \  } }|j                  g d¢d¬«       |j                  d¬«      }|j                  j                  «       dk(  sJ ‚	 ddd«       y# 1 sw Y   �ŒxY w# 1 sw Y   Œ•xY w# 1 sw Y   yxY w)z,Test legend.linewidth parameter and rcParam.r¯   rÃ  rN   g      @)Ú	linewidthúlegend.linewidthr¦  NrÌ  )rm  zpatch.linewidthrg   g      @)r   r   rB   r$   rÀ   Úget_linewidthrÆ   r	   rÂ   s      r1   Útest_legend_linewidthro  ‘  sŒ  € ä�l‰l‹n�G€CˆØ‡G�GŠI˜V€GÔ$ð �)‰)˜cˆ)Ó
"€CØ�?‰?×(Ñ(Ó*¨cÒ1Ð1Ð1ô 
�‰Ð+¨SÐ1Õ	2Ü—,‘,“.‰ˆˆRØ
�‰’	 ˆÔ(Ø�i‰i‹kˆØ�‰×,Ñ,Ó.°#Ò5Ð5Ñ5÷	 
3ô 
�‰¨TÀcÑJÕ	KÜ—,‘,“.‰ˆˆRØ
�‰’	 ˆÔ(Ø�i‰i‹kˆØ�‰×,Ñ,Ó.°#Ò5Ð5Ñ5÷	 
Lô 
�‰Ð+¨SÐ1Õ	2Ü—,‘,“.‰ˆˆRØ
�‰’	 ˆÔ(Ø�i‰i #ˆiÓ&ˆØ�‰×,Ñ,Ó.°#Ò5Ð5Ñ5÷	 
3Ð	2÷ 
3Ñ	2ú÷ 
LÐ	Kú÷ 
3Ð	2ús'   Á5AGÃ2AG#Å.AG/ÇG Ç#G,Ç/G8c                  ó”  — t        j                  «       \  } }t        j                  t	        j
                  dd«      t	        j
                  dd«      gddddd¬	«      }|j                  |«       |j                  «        |j                  «       }t        |j                  «       «      dk(  sJ ‚|j                  «       d
   j                  «       dk(  sJ ‚t        |j                  «      dk(  sJ ‚|j                  d
   }t        j                  j                  |j!                  «       |j!                  «       d
   «      sJ ‚t        j                  j                  |j#                  «       |j#                  «       d
   «      sJ ‚|j%                  «       |j'                  «       d
   k(  sJ ‚|j)                  «       |j+                  «       d
   k(  sJ ‚y )Nrê   r   )r5   r   zpatch collectionr·  r¹  rl   rÚ  )r   rµ  rï   Ú
linewidthsÚ	linestyler   )r   r   rÝ  ÚPatchCollectionr’   ÚCirclerß  Úautoscale_viewr$   rá   r  r  r	  rÆ   r*   rO  r›  rœ  rn  Úget_linewidthsÚget_linestylerà  )r+   r,   r  r…   Úlegend_patchs        r1   Útest_patchcollection_legendry  °  sš  € ô �l‰l‹n�G€Cˆä	×	%Ñ	%Ü	�‰˜ Ó	#¤X§_¡_°V¸QÓ%?Ð@Ø ØØØØô
€Bð ×Ñ�bÔØ×ÑÔà
�)‰)‹+€Cô ˆs�}‰}‹Ó 1Ò$Ð$Ð$Ø�=‰=‹?˜1Ñ×&Ñ&Ó(Ð,>Ò>Ð>Ð>ô ˆs×!Ñ!Ó" aÒ'Ð'Ð'Ø×%Ñ% aÑ(€LÜ�:‰:× Ñ  ×!;Ñ!;Ó!=Ø"$×"2Ñ"2Ó"4°QÑ"7ô9ð 9ð 9ä�:‰:× Ñ  ×!;Ñ!;Ó!=Ø"$×"2Ñ"2Ó"4°QÑ"7ô9ð 9ð 9à×%Ñ%Ó'¨2×+<Ñ+<Ó+>¸qÑ+AÒAÐAÐAØ×%Ñ%Ó'¨2×+<Ñ+<Ó+>¸qÑ+AÒAÐAÑAr3   c                  ó^  — t        j                  «       \  } }t        j                  g d¬«      }|j	                  |«       |j                  «       }t        |j                  «       «      dk(  sJ ‚|j                  «       d   j                  «       dk(  sJ ‚t        |j                  «      dk(  sJ ‚y )Nzempty collectionrN   r   r   )
r   r   rÝ  rs  rß  r$   rá   r  r  r	  )r+   r,   r  r…   s       r1   Ú!test_patchcollection_legend_emptyr{  Ñ  sš   € ä�l‰l‹n�G€Cˆô 
×	%Ñ	% bÐ0BÔ	C€BØ×Ñ�bÔð �)‰)‹+€Cô ˆs�}‰}‹Ó 1Ò$Ð$Ð$Ø�=‰=‹?˜1Ñ×&Ñ&Ó(Ð,>Ò>Ð>Ð>ô ˆs×!Ñ!Ó" aÒ'Ð'Ñ'r3   )FF)FFF)›r"   rM  rÖ  ÚplatformÚsysrÙ  Úunittestr   rö  Únumpyr   Únumpy.testingr   r+  Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.testing._markersr   Úmatplotlib.pyplotÚpyplotr   Ú
matplotlibrÆ   Úmatplotlib.patchesrY  r’   Úmatplotlib.transformsÚ
transformsrÒ  Úmatplotlib.collectionsrÝ  Úmatplotlib.linesr   rû  Úmatplotlib.legend_handlerr   Úmatplotlib.legendr$   rÆ  r	   Úmatplotlib.font_managerr
   r2   rD   rR   r]   rj   r†   r™   r£   Úmachiner­   r¸   rÃ   rÇ   rÒ   r×   rÛ   ræ   rú   r  r  r  r  rk  r¤  r¬  r²  rÂ  rÊ  rÎ  r×  rì  rï  rû  rý  r  r  r  r  r  r"  r4  r  Úparametrizer:  r@  rE  rH  rR  rW  r[  r^  rb  re  ri  rm  rr  rz  r~  r�  rƒ  r…  rˆ  r‹  r�  r‘  r”  r—  r   r¥  r«  r²  r¶  r¸  Úfilterwarningsr½  rÁ  rÆ  rÊ  rÝ  rà  r•   rç  Úintrê  rì  rð  ró  r÷  rù  rý  r  r  r  r  r  r  r!  r#  r'  r*  r-  r5  r8  r:  r<  rA  rE  rQ  rj  ro  ry  r{  r8   r3   r1   Ú<module>r’     së  ðÛ Û 	Û Û Û 
Û Ý Û ã Ý )Û ç OÝ 4Ý Û Ý %Ý +Ý -Ý !Ý 2Ý #Ý !Ý 2ò9ò$	1ñ Ð%Ð&°DÀÔHñó Iðñ Ð%Ð&°DÀÔHñ:ó Ið:ñ Ð%Ð&¨gÔ6ñó 7ðò@ò,@ñ@ Ð.Ð/¸TÈÔQñ'ó Rð'ñ Ð,Ð-¸4ÀwØ+˜8×+Ñ+Ó-°Ò9‘a¸uôFñ-óFð-ñ Ð-Ð.¸DÈØ+˜8×+Ñ+Ó-°Ò9‘a¸uôFñ	IóFð	Iñ Ð#Ð$°$¸gØ+˜8×+Ñ+Ó-°Ò9‘a¸tôEñ2óEð2ñ Ð&Ð'°TÀØ+˜8×+Ñ+Ó-°Ò9‘a¸tôEñ	6óEð	6ñ �;�-¨T¸Ø!Ÿl™l¨hÒ6‘d¸Aô?ñEó?ðEñ �<�.¨d¸'Ø+˜8×+Ñ+Ó-°Ò9‘a¸uôFñ2óFð2ñ Ð$Ð&7Ð8ÀdØô!ñ!ó!ð!ñ" Ð&Ð'°TÀÔIñ8ó Jð8ñ �:�,¨D¸	ÔBñ.ó Cð.ò<#ò5ñ$ Óñ
ó ð
÷c7ñ c7÷L2;ñ 2;òj&#ñR Ð)Ð*°'Ô:ñó ;ðòòò(ñ Ð-Ð.°gÔ>ñ"ó ?ð"ñ Ð7Ð8ÀÔHñ+ó Ið+ò:ò(ò'ò"ñ Ð.Ð/¸TÈØ"Ÿ|™|¨xÒ7‘e¸Qô@ñ!ó@ð!ò*7ò,ò-ò,òò#1ðL ‡�×Ñ˜Ð&AÓBñ,ó Cð,ð ‡�×Ñ˜Ð 3Ó4ñ7ó 5ð7ð ‡�×Ñ˜Ð ;Ó<ñ7ó =ð7ð ‡�×Ñ˜Ð&AÓBñ,ó Cð,ð ‡�×Ñ˜Ð"?Ó@ñ	>ó Að	>ò	>ò	>ò	>ò	<ò<ò	>ò	>ò	>ò>ò&	>ò	>ò	>ò>ð" ‡�×Ñ˜Ð"?Ó@ñ
>ó Að
>ò
>ò
>ò
>ò
>ò
>ð ?DóMò&@@ðF QVØCHóUò*#5ðN GLóRò$8ð@ ‡�×ÑÐRÓSñ&ó Tð&ð ‡�×Ñ˜ mÓ4ñ,ó 5ð,òAð ñ
Aó ð
Aòò0ð" ‡�×Ñ˜¨%°¨Ø)8Ø)1¨¯©°5¸&°/Ó)Bð)Dó Eñ+óEð+ð ‡�×Ñ˜ 5¨!¨S /Ó2ñ,ó 3ð,ò-ò#ò
#òò)òIò0òIò ñ" Óñ)ó ð)ò@ò"0ò0ò=ò;ò0ò.ò&,ò(òð ‡�×ÑÐRÓSñ.ó Tð.ò@ò&@ò",òJò@6ò>BóB(r3   