rL i < ddlZddlmZddlZddlZddlZddlmZddlmZddl Z ddl Z ddl Z ddl mZddlZddlmZddlmZmZddlmZdd lmZmZdd lmZmZdd lmZmZm Z dd l!m"Z"m#Z#m$Z$ddl%m&Z'ddl(m)Z*ed gddgejVdk(rdnddZ,eddgejVdk(rdndddZ-dZ.dZ/dZ0dZ1dZ2dZ3ed gejVdk(rdnd!"d#Z4ed$gd%Z5d&Z6d'Z7d(Z8ed)gd*Z9d+Z:d,Z;d-Z<ed.gddgd/d0d12d3Z=d4Z>d5Z?d6Z@d7ZAd8ZBe jjd9gd:d;ZEd<ZFejjd=d>ZIe jjd?d@e jfdAe jd@fgdBZLdCZMdDZNdEZOdFZPdGZQe jjdHe jdIe jjdIgJe jdKe jjdKgJgdLZTdMZUdNZVejdOdPiedgQdRZXdSZYdTZZdUZ[edgQdVZ\e jjdWdXdYgdZZ]d[Z^edd\gQd]Z_e jjd^gd_d`Z`daZadbZbdcZce jjdddedfgdgZddhZeejjddiZfdjZgedkgddldmdndPodpZhegdqQdrZiGdsdtZjduZkedvgddwdmixdyZldzZmd{Zned|gddwdmid}~dZoedgddwdmixdZpdZqejjddZredgddPdZsdZtdZudZvdZwdZxdZydZzdZ{edgQdZ|dZ}dZ~dZe jjd^gddZe jjd^gddZdZdZdZdZdZdZy)N)datetime)Timer)SimpleNamespace)Image)gridspec)image_comparisoncheck_figures_equal)Axes)KeyEvent MouseEvent)Figure FigureBase)ConstrainedLayoutEngineTightLayoutEnginePlaceHolderLayoutEngine)AutoMinorLocatorFixedFormatterScalarFormatterfigure_align_labelspngsvgx86_64{Gz?) extensionstolctjd}tjdd}|j |dddf}|j t jddd|jd|j |d }|j t jdd d tdD]}|j |d |f}|jd |z|jd|z|dvr5|jjd|jj|dk(r&|jD]}|jd|dk(s|j jd|j j#tdD]}|j |d|f}|jd||jd||dk(sG|j t jdd d|j jd|j j#|jD]}|jd|j%y)Ntightlayoutr.Az Ylabel0 0)r@dz YLabel1 %dz XLabel1 %drr!topZrightzXLabel2 zYLabel2 )pltfigurerGridSpec add_subplotplotnparange set_ylabelrange set_xlabelxaxisset_label_positiontick_topget_xticklabels set_rotationyaxis tick_right align_labels)figgsaxiticks b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/tests/test_figure.pytest_align_labelsrEs **G $C   1a B ArrE #BGGBIIad #$MM+ E #BGGBIIac "# 1X " __R1X & lQ&' lQ&' ; HH ' ' . HH    6**, &!!"% & 6 HH ' ' 0 HH   ! "1X & __R1X & n% n% 6 GGBIIab) * HH ' ' 0 HH   !**, &!!"% & &zfigure_align_titles_tight.pngz#figure_align_titles_constrained.pnggI +?mpl20)rstylecdD]=}tjdd|ddg\}}|d}|jtjddd|j dd |j d d |j d d |d}|jtjddd|j d|j d|jjd|jj|jD]}|jd|j@y)N)r constrainedr'r!)r width_ratiosrr"r#z Title0 leftleft)locz Title0 centercenterz Title0 rightr+r%r&Title1Xlabel0r)r*) r-subplotsr1r2r3 set_titler6r7r8r9r:r; align_titles)rr?axsrArCs rDtest_align_titlesrUEs +<<1V1a&IS V  !S$'( ] / _( 3 ^ 1 V  !S#&' X i  ##E* &&( "D   b ! " %rFctjdd\}}t|jD]e\}}|j d|j d|j t jd|zt jd|zg|j|j|jt jd}t jd}t|jD]Y\}}|jjjd||<|jjjd||<[t j j#|dd|ddt j j#|ddd|dddtjddd\}}t|jD]V\}}|j d|j d|j%t j&j)d d }X|j+ |j|j|jt jd}t jd}t|jD]Y\}}|jjjd||<|jjjd||<[t j j#|dd|ddt j j#|ddd|dddy) Nr!BooWhor'rTconstrained_layoutr,rA)r-rQ enumerateflatr6r1r2r3 align_ylabels align_xlabelsdraw_without_renderingzerosr7label get_positionr<testingassert_allclose pcolormeshrandomrandncolorbar)r?rTnnrAxnynpcs rDtest_align_labels_stray_axesro_s||Aq!HCCHH%4B e e  ! b "))A,"234 !B !BCHH%2B,,.q12,,.q122JJr"1vr!"v.JJr#A#w14a41||AqT:HCCHH%4B e e ]]299??2r2 34LLL !B !BCHH%2B,,.q12,,.q122JJr"1vr!"v.JJr#A#w14a41rFctjdtjd}tjdtjdtjtjdtjdtjdtjgdk(sJtjgdk(sJtjd tjtjd tjdtjddgk(sJtjd dgk(sJtj|tj |k(sJt jt5tjtdddy#1swYyxYw) Nalltodayr tomorrowrr')rr'r rY)rrrursrur,rtru) r-closer. get_fignums get_figlabelsgcfpytestraises ValueErrorr ) fig_todays rDtest_figure_labelr~s8IIe 7#IJJqMJJzJJLJJqMJJqMJJqM ??  // /    "C CC CIIbMIIKIIaLIIj ?? A && &    2w- // /JJy 779 !! ! z " 68s .GGctjdtjd}tjt j d5d|_ddd|jdk(sJy#1swYxYw)Nrqr'&Changing 'Figure.number' is deprecatedmatchr!)r-rvr.rzwarnsmplMatplotlibDeprecationWarningnumberr?s rDtest_figure_label_replacedrsaIIe **Q-C c66D F  ::??s A22A;crt}tjt5|jdddtj t jd5d|_ddd|jdk(sJtj|jrJy#1swYqxYw#1swYHxYw)Nrrrt) r rzr{AttributeErrorrrrrr- fignum_existsrs rDtest_figure_no_labelrs (C ~ &  c66D F  ::??  ,, ,,s B!B-!B*-B6ctjdtjdtjdtjtjdsJtjdsJtjdsJtjdsJtjdtjdtjdrJtjdrJy)Noner!threerY)r-r.rrvrFrDtest_fignum_existsrsJJuJJqMJJwJJL   U ## #   Q     W %% %   Q  IIeIIaL  '' '  ## ##rFc0d}d}tjd}|j||jDcgc]}|j c}|gk(sJtjdd}|j dd|||usJ|jDcgc]}|j c}||gk(sJtj dddd \}}||usJ|jDcgc]}|j c}gk(sJycc}wcc}wcc}w) Nz A fancy plotz Really fancy!r')numF)rclear?r!T)r-r.suptitletextsget_texttextrQ)text1text2fig0tfig1fig2ax2s rDtest_clf_keywordrs E E ::! DMM%"&** -QAJJL -% 88 8 ::!5 )DIIc3 4<<"&** -QAJJL -% ?? ? Qq5ID# 4<<"&** -QAJJL - 33 3 . . .sD D)Dzfigure_today.pnggQ?)rctjd}|j}|j|j |j t jdtjdtj ddgddgdtjdtjdy)Nrrrtrsrr'r) r-r.r0rR get_labelr1r2r3rvr?rAs rD test_figurers **W C  BLL!GGBIIaLJJzHHaVaVS!JJwIIjrFzfigure_legend.pngcltjd\}}|djddgddgdd|djddgddgdd|djddgd d gdd |djddgddgd d|djddgddgd d |jy)Nr!rr'xg)rccoloryrrk_yzb)r-rQr1legendr?rTs rDtest_figure_legendrs||AHCFKKAAcK5FKKAAcK5FKKAc #SK9FKKAAd#K6FKKAAcK5JJLrFctj}|jgd}|j|usJ|j d}|j|usJ|j||j ||gk(sJ|j|usJ|j ||j ||gk(sJ|j ||j ||gk(sJ|j|usJy)Nrrr'r'o)r-r.add_axesgcar0axessca)r?ax0ax1s rDtest_gcars **,C ,,| $C 779   //# C 779  LL 88Sz !! ! 779  GGCL 88Sz !! !OOC 88Sz !! ! 779  rFcntj}|jtt j t 5|jtddddt j t 5|jtddddt j t 5|jdddddt j t5|jddddy#1swYxYw#1swYxYw#1swYVxYw#1swYyxYw) N) axes_class3d)r projectionT)rpolar)rr*r)r-r.r0r rzr{r| TypeErrorrs rDtest_add_subplot_subclassr s **,COOtO$ z ": 4D9: z "5 4t45 z "5 4t45 y !' 2&'' ::5555''s0D=D6D+D+DDD(+D4ctj}tjtd5|j ddddddtjtd5|j ddddddtjtd5|j ddddddtjtd5|j ddddddtjtd5|j ddd dddtjtd 5|j d dddtjtd 5|j d dddtjt d 5|j dddddtjt d5|j dddddddtjtd5|j ddddddtjtd5|j ddddddtj\}}tjtd5|j |dddy#1swYyxYw#1swYOxYw#1swY%xYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYXxYw#1swY-xYw#1swYxYw#1swYxYw#1swYyxYw)Nz,Number of columns must be a positive integerrr!rr'z)Number of rows must be a positive integerz)num must be an integer with 1 <= num <= 4rtrzmust be a three-digit integerrr#z2takes 1 or 3 positional arguments but 2 were givenz2takes 1 or 3 positional arguments but 4 were givenr rYz2Number of rows must be a positive integer, not '2'2z5Number of columns must be a positive integer, not 2.0g@5The Axes must have been created in the present figure)r-r.rzr{r|r0rrQ)r?_rAs rDtest_add_subplot_invalidrs **,C zK M! 1a ! zH J! 1a ! z*9 :! 1a ! z*9 :! 1a ! z*9 :# 1c"# z)H I  z)H I  y); < 1 y); <$ 1a#$ z' (# Q"# z' (# 3"# LLNEAr z. / I!!!!!!!!##$$#### sJ;'KKK" K/K<8L -L#L#L0L= M ;KKK"K,/K9<L LL #L-0L:=M Mzfigure_suptitle.pngctj\}}|jdd|jdddy)Nhellor)rtitler)rrotation)r-rQr)r?rs rD test_suptitlerEs3 \\^FCLLL$LLbL1rFc&tj\}}tjj dd}|j d|}|j |jk(sJ|j|jk(sJy)Nlargebold)sizeweightzfontprops title)fontproperties) r-rQr font_managerFontPropertiesr get_fontsizeget_size_in_points get_weight)r?rAfpstxts rDtest_suptitle_fontpropertiesrLs{llnGC   ) )wv ) FC ,,(, =C    !7!7!9 99 9 >> s~~/ // /rFc2tjd}|jdd\}}|jd|j |j |j d|j dk(sJ|j dk(sJy) N)rYr figsizer'r!whitezThis is a visible suptitle.)rrr)?rrr)r-r. subfigures set_facecolorrQr get_facecolor)r?sf1sf2s rDtest_suptitle_subfiguresrTs **V $C~~a#HCgLLNLLNLL./    "6 66 6    "6 66 6rFctj\}}|jdk(sJ|jdk(sJ|j dk(sJ|j d|jdk(sJ|j d|jdk(sJ|jd|j dk(sJy)Nrur supxlabel supylabel)r-rQ get_suptitle get_supxlabel get_supylabelrrrrs rD%test_get_suptitle_supxlabel_supylabelrbsllnGC     ## #    " $$ $    " $$ $LL     ++ +MM+    + -- -MM+    + -- -rFalpha_backgroundrr'皙?none) facecolor edgecolor)r savefig_kwargctjddg}|jd|jj d|j j tj jddgddd y) Nr!r'rrr333333?red)radiusalphar) r-r.rpatch set_alphapatchesappendr CirclePolygonrs rD test_alpharosk **aV $Ck"IIKKs{{00 R3%19:rFctjt5ttj ddzD]}t j dddy#1swYyxYw)Nzfigure.max_open_warningr')rzrRuntimeWarningr5rrcParamsr-r.)rBs rDtest_too_many_figuresr ~sO n %s||$=>BC A JJL s 9AA&cGddtGfdd}tj}|jddd|tj|y)NceZdZdddZy).test_iterability_axes_argument..MyAxesN)myclassc6tj|g|i|yN)r __init__)selfr argskwargss rDrz7test_iterability_axes_argument..MyAxes.__init__s MM$ 0 0 0rF)__name__ __module__ __qualname__rrrFrDMyAxesr s *. 1rFrceZdZdZfdZy)/test_iterability_axes_argument..MyClassc$|dk7r tdy)Nazitem should be a)r|)ritems rD __getitem__z;test_iterability_axes_argument..MyClass.__getitem__ss{ !344rFcd|ifS)Nr r)rrs rD _as_mpl_axesz.MyClass._as_mpl_axessIt,, ,rFN)rrrrr)rsrDMyClassrs  5 -rFr r'r)r r-r.r0rv)r r?rs @rDtest_iterability_axes_argumentr!sG11-- **,COOAq! O2IIcNrFctj}|jd|jdk(sJ|j d|j dk(sJ|j dd|jdk(sJ|j dk(sJ|j d|jdk(sJ|j dk(sJy)Nrtr'r!rY)r'r r )r-r. set_figwidth get_figwidth set_figheight get_figheightset_size_inchesrs rDtest_set_fig_sizer(s **,CQ     "" "a    ! ## #1     "" "    ! ## #     "" "    ! ## #rFctjdd\}}|dj|jddD]}||jvrJ|d|jvsJt |jdk(sJy)Nr!r$r$r$r )r-rQremoveravelrlenr?rTrAs rDtest_axes_remover/s~||Aq!HCKiik#2SXX~~ v;chh && & sxx=A  rFctjtjdtjdz \}}||z dk(sJtjd\}}||z dk(sJtjtjd\}}||z dk(sJtjtjd\}}||z dk(sJy)Nr!r'r'r!r)r!r!)r- figaspectr2float64rb)whs rDtest_figaspectr6s ==AA6 7DAq q5A:: == DAq q5A:: ==&) *DAq q5C<< ==&) *DAq q5A::rFwhich)bothmajorminorcVgd}gd}d}gd}tj|}tj|}tj\}}|j |||j |j |jjtdtj5tjdd|jjt|ddd|jd|d ||d vrB|j d j#d d D] } t%| j'|k(r J|dvrC|j d j#ddD] } t%| j'|k(r Jyy#1swYxYw)N) z 3 Jan 2013z 4 Jan 2013z 5 Jan 2013z 6 Jan 2013z 7 Jan 2013z 8 Jan 2013z 9 Jan 2013z 10 Jan 2013z 11 Jan 2013z 12 Jan 2013z 13 Jan 2013z 14 Jan 2013) z16:44:00z16:45:00z16:46:00z16:47:00z16:48:00z16:49:00z16:51:00z16:52:00z16:53:00z16:55:00z16:56:00z16:57:00<)r'r!r rYrtr!ignorez=FixedFormatter should only be used together with FixedLocator皙?r+)r8r9rFr9)r8r:Tr:)mdates datestr2numr-rQr1 yaxis_date xaxis_dater7set_minor_locatorrwarningscatch_warningsfilterwarningsset_minor_formatterr autofmt_xdaterr:int get_rotation) r7datetimeangleminorsrrr?rArcs rDtest_autofmt_xdaterQs HD $D E "F4 A4 AllnGCGGAqMMMOMMOHH/23  "=  K M $$^F%;< = c5'51 !!XXa[00@ 6Eu))+,5 55 6 !!XXa[00w? 6Eu))+,5 55 6"==s :;FF(c"tjd\}}|jgdgdg}tj||j |j |j dd}|jdk(sJy) NrJr)r'rYr=)r!r rtr9r7r'g>@)r-rQimshowrjrJrar:rL)r?rAimrcs rD'test_autofmt_xdate_colorbar_constrainedrVs| ll-0GC Iy) *BLL   W  -a 0E    4 '' 'rFdefaultctjd}|j|jjj dk(sJ|jjj dk(sJd|_|j|jjj dk(sJ|jjj dk(sJy)N)rYrYri2)r-r.racanvasrendererheightwidthdpirs rDtest_change_dpir`s **V $C ::   % % ,, , ::   $ $ ++ +CG ::   % % ,, , ::   $ $ ++ +rFz width, heightr')r$r'c8tjt5tj||fdddtj}tjt5|j ||dddy#1swYRxYw#1swYyxYw)Nr)rzr{r|r-r.r')r^r]r?s rDtest_invalid_figure_sizerb sx z ", E6?+, **,C z "+ E6*++ ,,++sB(BB Bctj}tjtd5|j dddtjt 5|j dddtjfdddtjtd5|j gdgddddtj\}}tjt d5|j |ddd|j|tjtd 5|j |d dddtjtd 5|j gdd dddy#1swYVxYw#1swYxYw#1swYxYw#1swYxYw#1swYtxYw#1swYyxYw) Nz.missing 1 required positional argument: 'rect'r皙?rz#multiple values for argument 'rect'r)rectrz)add_axes\(\) takes 1 positional argumentszextra positional argument) r-r.rzr{rrr|r2nanrQdelaxes)r?rrAs rDtest_invalid_figure_add_axesrhsv **,C yM O  z "+ b"b"&&)*+ y(M N6 \ 56||~HD" z& ' R  LL y(T U7 b567 y(T U@ \#>?@@)++66 77@@sGF"$F")F/;F;G7GF"F,/F8;GGGctjddddd\}}|jD]}|jgdgdj d|j d|dddfD],}dt |jjd k(r,J|d ddfD],}dt |jjd kr,J|ddd fD],}dt |jjd k(r,J|dddfD],}dt |jjd kr,Jy) Nr!TF)sharexshareysqueeze)r,rrlogrr8rSr') r-rQr^r1 set_yscale set_xscaler-r7get_ticklabelsr<r.s rDtest_subplots_shareax_loglabelsrq5sM||AqdEJHChh,  l+,MM%MM%!Q$i?C//f/=>>>>?!Q$i>3rxx..V.<====>!Q$i?C//f/=>>>>?!Q$i>3rxx..V.<====>rFctj}d}tjt|5|j dddddy#1swYyxYw)Nz9savefig\(\) takes 2 positional arguments but 3 were givenrz fname1.pngz fname2.png)r-r.rzr{rsavefig)r?msgs rD test_savefigruJsC **,C FC y ,0 L,/000s AActj}dD]J}tjt5|j t j|ddddLy#1swYWxYw)N)rpdfrtifjpgT)formatnon_existent_kwarg)r-r.rzr{rrsioBytesIO)r?rzs rDtest_savefig_warnsr~Qsa **,C5N ]]9 % N KK VK M N NN N Ns 'A%%A. c8tj}tjtd5|j dddddtjt d5|j dddddy#1swYAxYw#1swYyxYw) NzNo module named '@absent'rtestzmodule://@absent)backendz-The 'pdf' backend does not support png outputztest.pngrw)r-r.rzr{ModuleNotFoundErrorrsr|rs rDtest_savefig_backendrXs **,C *2M N8 F$6 78 zL N/ J .//88//sB'BB BrAgg)marksCairocttj\}}|jgdtj5}|j |dt j|}|jdddtj\}}|jgd|jjdtj5}|j |dt j|}|jdddk(sJy#1swYxYw#1swYxYw)Nr'r!r rrzr!) r-rQr1r|r}rsropenloadr[_set_device_pixel_ratio)rr?rAbufratio1ratio2s rDtest_savefig_pixel_ratiorbs llnGCGGI  C &C  llnGCGGIJJ&&q)  C &C  V  s9D"9D."D+.D7ctjd}|jtjd|j j sJy)N compressedrr bbox_inches)r-r.rsr|r}get_layout_engine _compressrs rD#test_savefig_preserve_layout_enginerys> **L )CKK 'K2  " , ,, ,rFctj\}}|jtjj dd}|j |d}|jtjtjjddgddgg|jjdj|jjd jk7sJy) Nr!()aspectrrYrT)originalF)r-rQrgr2rhrirjrsr|r}r transformsBboxrArdbounds)r?rArncbars rDtest_savefig_locate_colorbarrsllnGC ryyq!, -B <<2< &DKK #..*=*=1v1v>N*OKP GG $ / 6 6 GG % 0 7 7 89 8rFzsavefig.transparentTrc|jdddd}|j|ddddf}|j|d}|j|ddddf}|j|ddddf}|jgd}|jgd}|j|dddf} |j|d} ||||| | fD]3} | j gg| j ddj d 5y) Nr 皙?)rLwspacerrr$)rdr@333333?rr*)xticksyticksF) add_gridspec add_subfigurer0 inset_axessetspines set_visible) fig_testfig_refgs1f1f2ax12riax1iax2rax3rAs rDtest_savefig_transparentrs    14  =C   AqD *B  #d) $B >>#ad) $D ..SbS!V %C >>* +D ??+ ,D   s2ss7| ,C   s6{ +CS$c3/( b$ !   '(rFcRtjdd}t|dk(sJy)N)r,rr,)rr_z!
)r-r.reprrs rDtest_figure_reprrs% **X2 .C 9; ;; ;rFc$td}|jrJ|jrJtd}|jsJ|jrJtd}|jrJ|jsJy)NrrrJ)r get_tight_layoutget_constrained_layoutrs rDtest_valid_layoutsrs  C##%% %))++ +  C    !! !))++ +  &C##%% %  % % '' 'rFctjd\}}tjt5|j ddddt |jtsJd}tjt|5tdd }dddt |jtsJd }tjt|5tdd }dddt |jtrJt |jtsJtjtd 5td dddtjd\}}|jdt |jtsJ|jdt |jtsJtjd\}}|jtj j#dd}|j%|tjt&d5|jdddd|jdtjt&d5|jddddtjd\}}|jtj j#dd}|j%|tjt&d5|jdddd|jdt |jt(sJtjt&d5|jddddy#1swYdxYw#1swYxYw#1swYxYw#1swYuxYw#1swYyxYw#1swY@xYw#1swYxYw#1swYyxYw)NrJr皙?)r)z1The Figure parameters 'layout' and 'tight_layout'rrF)r tight_layoutz7The Figure parameters 'layout' and 'constrained_layout')rr[zInvalid value for 'layout'foobarr!zColorbar layout of new layoutr)r-rQrzr UserWarningsubplots_adjust isinstancerrr rr{r|set_layout_enginergr2rhrirj RuntimeErrorr)r?rAwstrns rDtest_invalid_layoutsrs.ll-0GC k "% $% c++-/F GG G >C k -9G%89 c++-/@ AA A CC k -EMeDE#//13DEE E c++-/F GG G z9 ; h ll-0GC'" c++-/@ AA A-( c++-/F GG Gll-0GC ryyq!, -BLL |+J K' g&'&! |+J K' g&'ll'*GC ryyq!, -BLL |+J K- m,-&! c++-/F GG G |+J K- m,--]%%99EE   '''' -- --s_N( N5O OOO)'O6 P(N25N?O OO&)O36O?P ct||gddgD]i\}}tjd|i5|jd}|j ddddt |j triJy#1swY,xYw)NFTzfigure.autolayoutr!)ncolsr,)w_pad)zipr rc_contextrQrrrr)rrr? autolayoutrs rD&test_tightlayout_autolayout_deconflictrs2UDMBLZ ^^0*= > '<>B rrJrctj|\}}tjtd5tj dddy#1swYyxYw)zj Raise a warning when a previously assigned layout changes to tight using plt.tight_layout(). rz The figure layout has changed torN)r-rQrzrrr)rr?rAs rDtest_layout_change_warningrsF ll&)GC k)K L s AAcxt}|j|j|jyr)r rrs rDtest_repeated_tightlayoutrs- (CrFrwc &d|_d|_|jtjddgddgd}tjddgddgd}tjdddd }tjd d d }tjdd|j dd}|||||fD]}|j ||j|j}tjddgddg|jdd}tjdddddd }tjd d |jd d}tjdd|j dddd}||||fD]}|j |y)Nr&r@ffffff?l1)gidrl2)rrC1) transformr)rrrC2)g@rg?crimsonC3)rrr)rrzorderFr)rclip_onrr)rrrrr) r_rQr-Line2DCircledpi_scale_trans add_artistr+ transFigure) rrrrr1r2r3rrs rDtest_add_artistrs}HLGK  RHr2hD 1B RHr2hD 1B HcTt > ?! CC C r),,v/?? @1 DD D s  *--6 7$ >> > s  *--5 6 == =OOE E r),,usww> ?! CC C s  *--5 6 == =OOD E r),,v/?? @1 DD D rR@CC! "$% && &rFctjddd\}}|dj|djt dddt dddgddgt |dj jtjsJtjddd\}}|dj jt|dj|djt dddt dddgddgt |dj jtsJy)Nr'r!Trjri) r-rQr+r1rrr7get_major_formatterrAAutoDateFormatterset_major_formatterrrs rDtest_axes_removalr Es||Aq.HCFMMOFKK$1%xa';z$test_figure_clear..0"rSXX~0c3:K|]}|jvywrsubfigsrsfigr?s rDrz$test_figure_clear..7tts{{"7rc3:K|]}|jvywrrrs rDrz$test_figure_clear..rrc3:K|]}|jvywrrrs rDrz$test_figure_clear..rr) r-r.rrr0getattrr5rrrr+rq) rrArBrr@subfigsubaxesmainaxesrrr?s @rDtest_figure_clearr&^s **,CIIK 88r>>  BGC 88r>>16a 91COOAq!A# & 9D 9GC 88r>>    +B   r!u %F  %GGC  $$ $ 88r>>  r!u %F  %Gr!u%H OO 88y  r!u%H NN 88z !! ! S[[    %G sxx   chh  GFJ! S[[  &++ %% % #(( "" " sxx    %GGC 88r>> ;;"  288As  A'8G8189t$9G9 00 00 0 7w7 77 7$GGAJ #% 1:SXX %% % 1: !! ! 1: $$ $$GGAJ #%178As  A'8G8189t$9G9 00 00 0 7w7 77 7GC ;;"   88r>>A :Z9999s7O4 O9.O>P:PcVtjD]}d|jvrJy)Nr)r__subclasses____dict__)klasss rDtest_clf_not_redefinedr+s,**,+ENN***+rFctj\}}|jdgdgdgd|jj |j rJt |jj|jjdz z|jj|jjdz z|d}|j||j rJy)Nrr#T)pickerr!)rrinaxesguiEvent) r-rQscatterr[r stalerbboxrr^y0r]pick)r?rA mouse_events rDtest_picking_does_not_staler6sllnGCJJsQC$J-JJOOyy=!BGGJJ1B$B$&GGJJ!1C$C)+ds **,C //!Q 'C    ( (E!QK 77 7    ( (E!QK 77 7 //!Q 'C    ( (E!QK 77 7    ( (E!QK 77 7 //!Q 'C    ( (E!QK 77 7    ( (E!QK 77 7 //!Q 'C    ( (E!QK 77 7    ( (E!QK 77 7 z "& 1f%&&&s GG(ztightbbox_box_aspect.svgrteal)rr)rHr remove_textctj}|jdd}|j|d}|j|dd}|j d|j dy) Nr'r!rrrrr)r!r'r')r-r.rr0set_box_aspect)r?r@rrs rDtest_tightbbox_box_aspectrCse **,C  !Q B //"T( #C //"T(t/ 4Cry!rF)rrwrrc|j}|jtd|j}|jtddy)NrtT)animated)rQr1r5)rrax_refax_tests rD test_animated_with_canvas_changerHsB    F KKa!G LLqDL)rFc eZdZedgej j dgdgdggdgdgdd gd Zedgd Zedgd Z edgd Z dZ dZ edgej j dddgddggdfddgddggdfddgddggdfddgddggdfddgddggdfddgddggdfgdZ dZedgej j diddidgdZedgej j dd ed gd!Zd"Zd#Zd$Zedgej j d%gd&d'Zej j d(ddgddggd)fddgdddgd*d+ggggd,fd-ddd*gd+gggd.d.ggd/fgd0Zedgd1Zej j d%gd2d3Zd4Zd5Zy)6TestSubplotMosaicrrrArLBCDrMr'r'r!r rYr!)rKrN)rQrRc^|j|}|jD]\}}|j|tt j |}t |t |k(sJ|jdd}|j|ddddf} | j|d|j|dddf} | j|d|j|d} | j|d|j|d} | j|dy)Nr!r r'rr'rr'r') subplot_mosaicitemsrRsortedr2uniquer-rr0) rrrr grid_axesrrAlabelsr@axAaxBaxCaxDs rD test_basiczTestSubplotMosaic.test_basics++A. __& EAr LLO  ! %6{c)n,,,  ! !!Q '!!"RaR!V*- fQi !!"QT(+ fQi !!"T(+ fQi !!"T(+ fQi rFcddgddgg}ddgddgg}|jd |jd |j||gg}|jD]!}|j|j #|j d d }|d j d d }t|D]=\} } t| D]*\} } |j|| | fj| ,?|d j d d } t|D]=\} } t| D]*\} } |j| | | fj| ,?y)NrLrMrOrPEFGHrJr'r!rr) rrVvaluesrRrr subgridspecr]r0)rrrrrrZrAr@gs_leftjrrrcgs_rights rDtest_all_nestedz!TestSubplotMosaic.test_all_nested sj3Z#s $3Z#s $!!-0""=1++aVH5 ""$ )B LL ( ) ! !!Q 'T(&&q!,aL DDAq%aL D5##GAqDM2< !!-0""=13Z#s $UQCL++A. __& EAr LLO  ! !!Q '$x##Aq)!!$t*- c!!$t*- c!!$t*- c!!$t*- c!!"T(+ crFclgdgdg}d}|jdg|gg|jdg|ggy)NrLrMrMrOrOrP)rqrrrc)rV)rrrrxts rDtest_nested_tuplez#TestSubplotMosaic.test_nested_tupleFs= o . /s|,# .rFcddgdgggg}ddg}tj||\}}|djj|k(sJ|djj|k7sJy)NrLrMrOr!r')rK)r-rV get_gridspecget_width_ratios)rrrKr?axds rDtest_nested_width_ratiosz*TestSubplotMosaic.test_nested_width_ratiosNsSEE 1v %%alCS3x$$&779\III3x$$&779\IIIrFcddgdgggddgg}ddg}tj||\}}|djj|k(sJ|djj|k7sJy)NrLrMrOrPr'r! height_ratios)r-rVrvget_height_ratios)rrr|r?rxs rDtest_nested_height_ratiosz+TestSubplotMosaic.test_nested_height_ratiosXsSEE!3Z )A %%a}ES3x$$&88:mKKK3x$$&88:mKKKrFzx, empty_sentinelrLNrM.SKIPrr'r!c|dk7rd|i}ni}|j|fi|}|jD]\}}|j|t|D chc] } | D]} |  c} } |dhz } t | t |k(sJ|j dd} |j | d} | j| d|j | d}|j| dycc} } w) Nrempty_sentinelrr!rrrUr')rVrWrRrXr-rr0)rrrrrrrZrrArownamer[r@r\r]s rD test_emptyzTestSubplotMosaic.test_emptybs V #&7FF+H++A88 __& EAr LLO  /c3 /4T /T />32G G 6{c)n,,,  ! !!Q '!!"T(+ fQi !!"T(+ fQi  0sC, cDtjtd5tjddgdddtjtd5tjdgdddtjtd5tjddggdddtjtd5tjddgdd ggdddy#1swYxYw#1swYxYw#1swYaxYw#1swYyxYw) Nz must be 2Drfoobar)rrr)rrc)rzr{r|r-rVrs rDtest_fail_list_of_strz'TestSubplotMosaic.test_fail_list_of_strs ]]:\ : /   u~ . / ]]:\ : (   w ' ( ]]:\ : 4    12 3 4 ]]:\ : @   c Z,=> ? @ @  / / ( ( 4 4 @ @s/C2C>D  D2C;>D DD subplot_kwrrcddgg}|j||}|xsi}|jdd}|j|dfi|}|j|dfi|}y)Nr'r!)rrr)rVrr0) rrrrrrZr@r\r]s rDtest_subplot_kwz!TestSubplotMosaic.test_subplot_kwsvVH++A*+E %2  ! !!Q '!g!!"T(9j9!g!!"T(9j9rF multi_valueBCc d}|j|ddidddi|ddii}|jdd}tgd |D]\}}|j|| y) NzAB;CDrrrPbluegreen)rper_subplot_kwr!)rrrrr)rVrrr0) rrrrrrZr@rspecs rDtest_per_subplot_kwz%TestSubplotMosaic.test_per_subplot_kws ++ #U+k6*k73,  ! !!Q '@"E 7KE4     6 7rFctj}|dgdgk(sJ|dddgddggk(sJ|dddgddgdd ggk(sJ|d gdgk(sJ|d ddgddggk(sJ|d ddgddgdd ggk(sJy) NABC)rLrMrOzAB;CCrLrMrOzAB;CC;DErPrbz7 ABC zR AB CC zn AB CC DE )r _normalize_grid_stringr normalizes rDtest_string_parserz$TestSubplotMosaic.test_string_parsers11 O#4444!sCj3*%====$#sc3Z#s(LLLL"1!23 33$'*sCj!9: ::$'*sCj3*!E F FFrFcjtj}|iidiidk(sJ|diiiidk(sJtjtddd5|iiddddtjtddd5|iiddddy#1swY=xYw#1swYyxYw)NrLrMzThe key rMz appears multiple timesr)rrM)rMr)r _norm_per_subplot_kwrzr{r|rs rDtest_per_subplot_kw_expanderz.TestSubplotMosaic.test_per_subplot_kw_expanders// r+,br0BBBB*b)*BR.@@@@ ]]HSG3J"K  1 2B/ 0 1]]HSG3J"K  1 BB/ 0 1 1  1 1 1 1s B B)B&)B2ctjtdtdd5t j ddiidddy#1swYyxYw)Nz The keys rMz are inrrL)r)rzr{r|rr rVrs rDtest_extra_per_subplot_kwz+TestSubplotMosaic.test_extra_per_subplot_kwsT ]]Ic#h\"A  C H # #Cb # B C C Cs AA str_pattern)zAAA BBBz AAA BBB zABC DEFc|j|}|j|jjdDcgc] }t|c}}ycc}w)N )rVstripsplitlist)rrrrrZlns rDtest_single_str_inputz'TestSubplotMosaic.test_single_str_inputsM ++K8 ** + 1 1 3 9 9$ ? @"T"X @ @sAzx,matchzS(?m)we found that the label .A. specifies a non-rectangular or non-contiguous area.rOrPz4There are duplicate keys .* between the outer layout)z AAA c BBB'All of the rows must be the same lengthrbrctj}tjt|5|j |dddy#1swYyxYw)Nr)r-r.rzr{r|rV)rrrr?s rD test_failzTestSubplotMosaic.test_fails@,jjl ]]:U 3 "   q ! " " "s A  Act|jttgg|jddggy)NrLrM)rVobject)rrrs rDtest_hashable_keysz$TestSubplotMosaic.test_hashable_keyss0&(FH!5 67c |,rF)abccabbcacbaacbbacctj}|j|}t|t|k(sJt|jt|j k(sJyrr-r.rVrrrf)rrr?ax_dicts rDtest_user_orderz!TestSubplotMosaic.test_user_ordersXjjl$$[1K DM111CHH~gnn&6!7777rFcdddgddgggddgdd d gdgggggg}tj}|j|}t|td k(sJt|jt|j k(sJy) NrLrMrOrPrbrcrdrreI ABCDEFGHIrrrr?rs rDtest_nested_user_orderz(TestSubplotMosaic.test_nested_user_orders C:: #J C3%%!"# $  jjl$$V,G}[ 1111CHH~gnn&6!7777rFcdddgddgggddgdd d gdgggggg}tj}|j|d d }|djd dt d|j DsJy)NrLrMrOrPrbrcrdrrerT)rjrkrmlogit)xscaleyscalec3lK|],}|jdk(xr|jdk(.yw)rmrN) get_xscale get_yscale)rrAs rDrz3TestSubplotMosaic.test_share_all..s6/==?e+J 70JJ/s24)r-r.rVrrqrfrs rDtest_share_allz TestSubplotMosaic.test_share_alls C:: #J C3%%!"# $  jjl$$VD$F g6/$^^-// //rF)rrrr rzmark parametrizer`rkrortryr~rrrtuplerrrrrrrrrrrrFrDrJrJsUG, [[ o .  " . "  !-!.UG,E-E,UG,-BUG,/-/JLUG, [[DkD#; ' .Cj3* %v .AhC !1 %$i$ #T *#ha !6 *!fq!f q !   ! -!.@UG, [[\Bw0G+NO:P-:UG, [[]T5;,?@ 7A- 7F& 1C UG, [[]E -  [[sc3Z(@ sdc3Z#s$<=>F  Gc SE*+c3Z89  *"+*" UG,--- [[]GI8I8 8 /rFrJcztj}|jddd}|jddd}tjddd|}|j j }|j j }|j j }||k(sJ||k(sJy) z)Test that these all use the same gridspecr r!r8rY)r r!)r!r')r;r?N)r-r.r0 subplot2gridr9rv)r?rrrrgs2gs3s rDtest_reused_gridspecr!s **,C //!Q 'C //!Q "C  661# >C    , , .C    , , .C    , , .C #:: #::rFztest_subfigure.pngr)rHrc Rtjjdtjd}|j dd}|dj dd}|jD]4}|jtjjdddd }6|dj| |djd |djd |dj dd }|jD]4}|jtjjdddd }6|dj||d|djd|djd |jdd|jtdDcgc]+}tjdgdgdj!|-c}d}|dj#|j%dz |dj#|j%dzycc}w)N!N,rJrr'r!rrvminvmaxr\ Left Siderr bottom)rAlocationz Right SideFigure suptitlexx-largefontsizertzLine{}rcrN)handlesrM)r2rhseedr-r.rrQr^rgrirjrrrr5rrz set_zorder get_zorder)r?subrTrArnrBlegs rDtest_subfigurer0sIINN8 **M *C ..A C a&//!Q ChhE ]]299??2r2!] DEFOOB3OFOOK F! a&//!Q ChhE ]]299??2r2!] DEFOOB3O2FOOL!F!LL"ZL8 **#Ah("jj!qc9KL(-5  7CFcnn&*+Fcnn&*+(s 0H$ctjd}|jdd}tjj |j |jjjdy)NrJrr'r!g @) r-r.rr2rerfrr[rr^)r?rs rDtest_subfigure_tightbboxrNsV **M *C ..A CJJ   cjj557 8 > > rFc tjd}|j}|j|jk(sJ|j d|jdk(sJ|jdk(sJy)Nr&r_rZ)r-r.rget_dpiset_dpir?sub_figs rDtest_subfigure_dpirXsl ** CnnG ??  -- - OOC ??  ## # ;;=C  rFztest_subfigure_ss.png{Gz?)rHrrchtjjdtjd}|j dd}|j |dd}|jdd}|jD]4}|jtjjd d d d }6|j| |jd |j|d}|jtjd|j!d|jddy)NrrJrr'r!rpinkrrrrr\rrr rrr)r2rhrr-r.rrrQr^rgrirjrr0r1r3rR)r?r@rrTrArns rDtest_subfigure_ssrbsIINN8 **M *C  !Q B  BqEV  4C ,,q! ChhE ]]299??2r2!] DELLLLL A BGGBIIbMLLLL"ZL8rFztest_subfigure_double.pngcdtjjdtjdd}|j d|j ddd }|d jd |d j d |djd |dj d |d j ddddg}|d j d|d jd|d jddd}|D]o}d}|jtjjdddd}|jd||jd||jd|q|d j||dj d|djd|djd dd!}t|D]\}}|jd"||dj!d#|dj#d$|djdd} y)%NrrJ)r,)rrr?r'r!gQ?)rrcoralz subfigs[0]z subfigs[1]gffffff?r{zsubfigsnest[0]rTrk rgg@rzx-labelrzy-labelTitler\zsubfigsnest[1]rr rylabelrr)r2rhrr-r.rrrrQrgrir6r4rRrjr]rr) r?r subfigsnestaxsnest0rArrnaxsnest1rkaxsRights rDtest_subfigure_doublerysIINN8 **M7 ;CLLnnQ$n/G AJW% AJ % AJW% AJ %!*''1QH'EKN,-N  %1~&&q!D&9H1 ]]299??2r2C] H i( 3 i( 3 Wx 0 1 NB8,N,-N  %1~&&q!D&9HH%%B rdm$%N[)N[)qz""1a(HrFc \tjd}|jdd}|j|d|j|dddf|j|dddf|j|ddddfg}d}d }tj j |djjd |dzdz gtj j |djj|dz |gtj j |djj|dz |dz gtj j |djj|dzdz |gtj j |djj|dz dgtj j |djj||dz gtd D]}||j|jy) NTrZr rrr!r'rrY) r-r.rrr2rerfr2minmaxr5r0ra)r?r@sub_figsr4r5rBs rDtest_subfigure_spanningrs ** -C  !Q B "T(# "QqS!V*% "Q!V*% "QRV*% H A AJJx{//33b!a%']CJJx{//33a!eQZ@JJx{//33a!eQU^DJJx{//33a!eAgq\BJJx{//33a!eQZ@JJx{//33aQZ@1X" !" rFc\tjdd}|jdddddg\}}|jdd }|j |d ddf}|j d d gddg|j |d ddf|}|j ddgddg|j |d dd f|}d|_|j|j}d|_|j|j}tjj||y)NT)r,r )r[rr'r!rr>)rrK)rrrg!C ^^Aq:;Q,AY    ar  2B   1bqb5 *CKK%'9:tTlKK   1ac6 3  7CKK%'89dD\KJ   1ad7 C  8CCG ~~HCG ~~HJJx2rFztest_subfigure_scatter_size.png)rHr@ctj}|jdd}|j|d}|j gdgddd|j gdgdgdd|j |d }|j dd}||d fD]8}|j gdgdddd |j gdgdgddd :y) Nr'r!rrs)rmarker)r rYrt)rrrrr)rrrr)r-r.rr0r0rrQ)r?r@rrrTrAs rDtest_subfigure_scatter_sizers **,C  !Q B //"Q% CKK 93K7KK 9 SKA   RU #D --1 CCFmP 9i2c E 9i<3 OPrFctjd}|j}|jd}|j dd}|j |t j}|j|dy)NrJrrr'rwr) r-r.rr0r bar_labelr|r}rs)r?rrArbuffers rDtest_subfigure_pdfrsa **M *CnnG   S !B q! ALLO ZZ\FKKuK%rFctjjdddd}d}d}tjj |dj jd |d zgtjj |dj j|d z|gtjj |d j j|d z|d zgtjj |d j j|dz|gtjj |dj j|dz|d zgtjj |dj j||gtjj |dj jddgtjj |dj j|d z|dzgtjj |dj j|d zdgtjj |dj j|dz|dzgtjj |dj j|dzdgtjj |dj j||dzgy)Nr!r rgUUUUUU?)hspacerrrrrrrrgffffff?g?r(rrTrrrUr1) r-r.rr2rerfr2rr)rr4r5s rDtest_subfigures_wspace_hspacersGzz|&&q!C&EH A AJJx~2266QW FJJx~2266S! EJJx~2266T1s78KLJJx~2266T1 FJJx~2266S!c'8JKJJx~2266A?JJx~2266A?JJx~2266S!c'8JKJJx~2266T1 FJJx~2266T1s78KLJJx~2266S! EJJx~2266AG ErFctj}|jdd}|djt |j dk(sJy)Nr!rUr )r-r.rr+r-r)r?sfss rDtest_subfigure_removersD **,C ..A CI s{{ q  rFcBtj}|jddd}|jddd}|J||usJtjtj}|jdddd}|jdddd}|J||usJtjtj}|jdddd}|jddd}|J|jdk(sJ||usJtjy)Nr'rr rectilinear)r-r.r0rvrr?rArs rDtest_add_subplot_kwargsr s  **,C Aq !B //!Q "C >> b==IIK **,C AqW 5B //!Qg/ 6C >> b==IIK **,C AqW 5B //!Q "C >> 88} $$ $ b==IIKrFcBtj}|jgd}|jgd}|J||usJtjtj}|jgdd}|jgdd}|J||usJtjtj}|jgdd}|jgd}|J|jdk(sJ||usJtjy)Nrrrr)r-r.rrvrrs rDtest_add_axes_kwargsr"/s **,C l #B ,,| $C >> b==IIK **,C lw 7B ,,|, 8C >> b==IIK **,C lw 7B ,,| $C >> 88} $$ $ b==IIKrFctjddtj\}|jj fd}t d|jjdgk(sJfd}t d|jtjjjddd gy) Nr?cannot show the figurec`tdjgddjy)Nbutton_press_eventrdr@r')r r[_processr?transsrD single_pressz!test_ginput..single_pressMs)'IeHoIqIRRTrFrdr'ctdjgddjtdjdjtdjgddjtdjgddjtdjgdd jy) Nr&r'r'key_press_event backspacerrrrrr!)r r[r(r r)srD multi_pressesz"test_ginput..multi_pressesSs'IeHoIqIRRT"CJJ <EEG'IeHoIqIRRT'IeHoIqIRRT'GeFmGQGPPRrFr r/r0) rFrHr-rQ transDatarrstartginputr2rerf)recwarnrAr+r1r?r*s @@rD test_ginputr6Hs H&>?llnGC LL " "EU "l!!# ::? **,C  ! !" ! - 55 5 "h(#**c:CCDJJL  ! ! #t ++ + "j-szz1aCLLMSSU  ! ! #u ,, ,rFctd}|jddd}|jdk(sJ|jdk(sJy)Nz whole Figurerr'z sub figure)r rrrs rDtest_kwargs_passr<hsK ~ &CnnQn6G ==?n ,, ,    , .. .rFc@|jddd|jddd|jdddtjddddd 5|jd|jd|jddddy#1swYyxYw) Nxlabelrr)rrrrlightr)zfigure.labelweightzfigure.labelsizezfigure.titleweightzfigure.titlesize)rrrrr)rrs rD test_rcparamsr@ps hvB7 hvB7 WW26 v-//6-/1 2# 8$8$'" ###s 4BBcLtj\}}|jddgddg|jdt j |}|j d|usJ|j djdk(sJ|j djd|jdk(sJ|jdd|j|j|jd k(sJ|j djd k(sJy) Nrr'r!r rmlinearrdY@)rdrCr) r-rQr1rncopydeepcopyrrrraget_xlim)rrArs rD test_deepcopyrG~s||~HD"GGQFQFMM% == D 99Qi&)r r[rr_pickleloadsdumps)r?rs rD%test_unpickle_with_device_pixel_ratiorLsT R.CJJ&&q) 77d?? << S) *D 88r>>rFcddi}t|}tjddddg|||k(sJtjdddg|y)NrLrdr'r!)rK gridspec_kwAB)dictr-rQrV)r@gs_origs rDtest_gridspec_no_mutate_inputrRsL "B2hGLLAQF; ==t1a&bArF)rrwrrrsvgzc`tjtj|iy)Nrzmetadata)r rsr|r}rs rDtest_savefig_metadatarXs HRZZ\#;rF)jpegryrxtiffwebprawrgbactjtd5tj t j |idddy#1swYyxYw)Nzmetadata not supportedrrU)rzr{r|r rsr|r}rWs rDtest_savefig_metadata_errorr_sG z)A B@cB?@@@s /AAc:ddddd}tg|j}tjt j j d i|}tjtd5|j|k(sJ dddy#1swYyxYw) NrrgQ?g{Gz?)rh_padrrrzwill be deprecatedrr) rrfr-r.r layout_enginerrzrPendingDeprecationWarningget_constrained_layout_pads)paramsexpectedr?s rD test_get_constrained_layout_padsrgsddd KF'v}}'(H **C--EEOO PC /7K L=..0H<<<===s 1BBcjt}tj}|j|d|j dd|j vsJ|j dtj}|j|d|j dd|j vsJy)NrrrzrCrHrJrrrrrrrrrrrrr r"r6r:r<r@rGrLrRrXr_rgrkr{rrrrrFrDrs$  ! O 90??PO!()uen+8++-9atE$E$N28:+8++-9au! !, 2F0 - $ 4&%&+8++-9auF F &'()8 ')X()*2+2 0 7 .%&$U^.9.4!6 7 : 7 : :$,"<=$6>$6N (9,,K VVQK+ +  +@4>*0N/FLLv{{2259:;FLL!4!4W!= >?% &-9&-.(()/(*< (1-h(L)LM<#@AB/08 BC=D=&2'$'78N9Nb+ 7  &$-.g07.4!6"$" $" <=*>*r/r/j '(!,f 57,7,8 *+7!,f 54A9A9*./w!,f 57$)7$)N!:733645W#% P% P&F2!22D,-/( #) #-2B JK<L< UV@W@ = #!"H ' rF