rL iA ddlmZddlZddlZddlmZddlZddlm Z m Z ddl m Z ddlmZddlmZddlmZmZddlmZmZmZmZmZmZmZmZm Z m!Z!m"Z"e dgd d Z#d Z$d Z%d Z&ejNjQddggddgddgfejNjQddejNjQddejNjQdddZ)eddZ*ejNjQde*gddddgdf e*gdd!dd!gdf e*gdd"dd"gdf gd#Z+ejNjQde*gd$dddgd%f e*gdd!dd!gd&f e*gdd"dd"gd'f gd(Z,ejNjQde*gd)d*dd*gd+f e*gd,d-dd-gd.f e*gd/ddd*gd+f gd0Z-d1Z.ejNjQd2gd3ejNjQd4gd5d6Z/e d7gdd89d:Z0ejNjQd;dZ1d?Z2d@Z3ejNjQdAgdBdCZ4dDZ5dEZ6dFZ7e dGgHdIZ8e dJgdd89dKZ9dLZ:dMZ;y)N) namedtupleN)assert_allclose)check_figures_equalimage_comparison) MouseButton MouseEvent) AnchoredOffsetboxAnnotationBbox AnchoredText DrawingAreaHPacker OffsetBox OffsetImage PaddedBoxTextAreaVPacker_get_packed_offsetsoffsetbox_clippingT) remove_textc tj\}}d}t||d}|jsJt j d||ddd}t j| d z|d zg|d z |d z gd d }td|ddd|jd}|j||j||j||jd|jdy)NdTcliprr#CCCCCCNoner facecolor edgecolor linewidth??black colorr centerFr!r!locchildpadframeonbbox_to_anchorbbox_transform borderpad)r) pltsubplotsr clip_childrenmpatches RectanglemlinesLine2Dr transAxes add_artistset_xlimset_ylimfigaxsizedabgline anchored_boxs e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/tests/test_offsetbox.pytest_offsetbox_clippingrHsllnGC D T4d +B      FD$&/&,&' )B ==4%(DH-QQ/?&#% 'D%  ||LMM"MM$MM,KKKKc tj\}}d}t||d}tjd||ddd}t j | d z|d zg|d z |d z gd d }td|ddd|jd}|j||j||j||jj|jrJd|_ |jsJy)NrTrrrrrrr!r"r#r$r%r&r(r)Fr*r+)r4r5r r7r8r9r:r r;r<canvasdrawstaler6r?s rGtest_offsetbox_clip_childrenrN7sllnGC D T4d +B   FD$&/&,&' )B ==4%(DH-QQ/?&#% 'D%  ||LMM"MM$MM,JJOOyy=B 999rIc ddddddddd d d }tj\}}td d }|D] }t|| }|j |"|j j y)Nr3r# r%) upper right upper leftz lower left lower rightright center left center rightz lower centerz upper centerr(r)r,r-)r4r5r r r<rKrL)codesr@rArCcoderFs rGtest_offsetbox_loc_codesr_\s{ EllnGC S# B$(T<  l#$JJOOrIctj\}}ddg}ddg}|j|d|j|d|jdd|j y)Nr3r#zseries 1)labelzseries 2expand)ncolsmode)r4r5plotlegend tight_layout)r@rAd1d2s rGtest_expand_with_tight_layoutrjqs_llnGC QB QBGGBjG!GGBjG!IIAHI%rIwidths)rlrlrl皙?total)rrNsep)ror3rrprd)rbfixedequalc"t||||y)Nrd)r)rkrnrqrds rGtest_get_packed_offsetsrv~ss6rI_Paramszwd_list, total, sep, expectedzwidths, total, sep, expected)rPr3r#r3rU)rrQrS)rnrqexpectedr%rRc`t|||d}|d|dk(sJt|d|dy)Nrrrurr3rrrkrnrqrxresults rGtest_get_packed_offsets_fixedr}s<!' BF !9 ## #F1Ix{+rI)rmrmrm)rg??)rrRrU)rg@rPc`t|||d}|d|dk(sJt|d|dy)Nrbrurr3rzr{s rGtest_get_packed_offsets_expandrs<!( CF !9 ## #F1Ix{+rI)rPr#r3rS)rr#rQ)rPr#r3r!r#)rr!r3r")r!r3皙?c`t|||d}|d|dk(sJt|d|dy)Nrsrurr3rzr{s rGtest_get_packed_offsets_equalrs<!' BF !9 ## #F1Ix{+rIctjt5tgdddddddy#1swYyxYw)N)r3r3r3rs)rnrqrd)pytestraises ValueErrorrrIrG1test_get_packed_offsets_equal_total_none_sep_noners5 z "KITt'JKKKs5> child_type)rLimagetext boxcoords) axes fraction axes pixels axes pointsdatac: |dk(r5tdd}|jtjddddnJ|dk(r&t j d}d|d<t |}n|d k(rtd d di }n Jd |tj\}}t|d|}|jd|j|g |jjd fd|dk(rI|jjd\}}|d|j zdz z }|d|j zdz z }nL|dk(r)|jjd\}}|dz }|dz }n|jjd\}}|jj# j%t'd|j||t(j*j-t/ dk(r dj0|k(sJ|j3dd|j5dd|jj# j%t'd|j||t(j*j-t/ dk(sJy)NrLrRrr)r r)rRrR)r#r#ru■fontsize) textpropszUnknown picking child type r*)rT pick_eventc&j|S)N)append)eventcallss rGztest_picking..su||E7JrIrr!Hrbutton_press_eventr3rp)r r<r7r8nponesrrr4r5r set_pickerrK mpl_connectr;transform_pointdpirLclearrrLEFT_processlenartistr=r>) rr picking_childimr@rAabxyrs @rG test_pickingrs9 V#Aq)   !3!3FAqA!NO w  WWV_4#B v  !3 AO @3J<@@ullnGC  zY GBMM$MM" EJJ<)JKM!||++F31 S377]R  S377]R  m #||++F31 S S||++J71JJOO KKMcjj!Q 0@0@BBJ(* u:?uQx"44 4KKAKKAJJOO KKMcjj!Q 0@0@BBJ(* u:??rIzanchoredtext_align.pngmpl20)rstylectj\}}tdddddi}|j|tdddddi}|j|tddddd i}|j|y) Nztest test long textr[rhaleft)r,r.propr(r\rZ)r4r5r r<)r@rAtext0text1text2s rG&test_anchoredtext_horizontal_alignmentrs~llnGC /] f~ 7EMM% /X h'7 9EMM% /^ g 8EMM%rI extent_kind window_extent tightbboxc tjjtjtjdd\}}|j gd|j dddtd d d d }tddddd}tjdd}|j|t|ddgddddtd }|j|ttjj!ddd}||j"_t|ddddd td !}|j|t'|d"|} gd#} t)| j*| d$%t'|d"|} gd&} t)| j*| d$%t'|d"|} gd'}t)| j*|d$%t-j.}|j1|d()|j3dtj4|j6}d*}t)||d$%|j8j;|j=|j8j;y)+N)rQrPr)figsizer)rr3rr3 Annotation)r~r~)皙?r->) arrowstyleFbaseliner)xyxytext arrowpropsclip_onvarrTr)i r!皙ɿr!rrr)r!xyboxxycoordsr box_alignmentrr%rP)zoom)r!g333333ӿ)rKz offset points333333?)rrrr.rget_)gffffft@gYn@g0}@gfffffr@r#)atol)g1g `@gfffffi@gd@)gf@g@gl@g9W@tight) bbox_inches)i^irQ)r4rcParamsupdatercParamsDefaultr5axisannotatedictr r7Circler<r rrrandomrandraxesgetattrrextentsioBytesIOsavefigseekimreadshaperKrLrg)rr@rAan1rCpab3rab6bb1target1bb3target3bb6target6bufr targetshapes rGtest_annotationbbox_extentsrsLL++,ll6s3GCGGL ++lx !%!6#  0C RQ -B 2&AMM! b"X[6#2($(D$9 ;CMM# RYY^^B+! 4BBHHM Zw"1#2$(D$9 ;CMM# -'#k]+ , .C*GCKKq1 -'#k]+ , .C*GCKKq1 ,'#k]+ , .C)GCKKq1 **,CKKK)HHQK JJsO ! !EKE;Q/JJOOJJOOrIc:tdjdk(sJy)N*)zorder)rrrrIrG test_zorderr?s B  & &" ,, ,rIc tddddd}ddd}t|ddgd d d d | }|j|usJ|ddk(sJy)NrrTrr)rgffffff?)rrelposr!rrrrrr)r r r)rCrrs rGtest_arrowprops_copiedrCsc RQ -B $9J RHK&"1#- /B == "" " h 8 ++ +rIalign)rbottomtoprrZr(c tjd}|jj}d\}}d\}}t ||}t ||}t ||g|} | j || j|} | j| |\} } t| jdd||zt||f|dvrd} n|dvr||z } n |d k(r||z d z } t| jDcgc]}|jc}| |  zf| |z| fgt||g|}|j ||j|} |j| |\} } t| jdt|| t||||zf|dvrd}n|dvr||z }n |d k(r||z d z }t|jDcgc]}|jc}| z| f| | |z fgycc}wcc}w) Nr)r)r%r)r<)childrenrr)rrr)rZrr(r#)r4figurerK get_rendererr r rLget_bbox get_offsetrboundsmax get_childrenr)rr@rendererx1y1x2y2r1r2hpackerbboxpxpyy_heightr-vpackerx_heights rG test_packersrMs ** Czz&&(H FB FB R B R BBxu5G LL   H %D   h /FBDKK!QRR!=> .. " "7 ( Gq=W5I5I5KLEU%%'L"x-(27B-8:Bxu5G LL   H %D   h /FBDKK!c"bk\3r2;R!HI .. " "7 ( Gq=W5I5I5KLEU%%'L8mR(2rBw-8:%M$Ms 5G9 G>ctj\}}tdd}t|ddid}|j ||j y)NfoorXrrT) patch_attrs draw_frame)r4r5r rr<draw_without_rendering)r@rAatpbs rGtest_paddedbox_default_valuesr"~sHllnGC el +B 2K#5$ GBMM" rIc ttddddddd}|jdk(sJ|jdk(sJttddddddddd }|jdk(sJ|jd k(sJy) NrrTrr*r)r)rg?r)rrr)r r xyann anncoords)rs rGtest_annotationbbox_propertiesr&s  BAqtB = 3BMM" ( B 22$ /B = 3BMM"rIctj\}}|jdd}|jd|j t d|j ddjy)Nrr*Tbutton_release_eventr3)r4r5r draggableremoverrKr)r@rAans rGtest_remove_draggablerEsRllnGC UH %BLLIIK%szz1a8AACrIc(tj}|jjgdj dd}|j d|j jtd|j ddj|jjsJtd|j ddj|jjrJtd|j ddj|jjrJ|j}td|j |jd z|jd zj|jjrJy) N)rrr3r3rrTrr3rA scroll_eventr#)r4r subfiguresadd_axesrrBrKrLrr _draggable got_artistget_window_extentr r )r@annrs rGtest_draggable_in_subfigurerNs' **,C ..  # #L 1 : :5& ICMM$JJOO#SZZA6??A >> $ $$ $%szz1a8AAC~~((( (~szz1a099;~~((( (  "D#SZZDGGAIFOOQ~~((( ((rI)< collectionsrrnumpyr numpy.testingrrmatplotlib.testing.decoratorsrrmatplotlib.pyplotpyplotr4matplotlib.patchespatchesr7matplotlib.lineslinesr9matplotlib.backend_basesrrmatplotlib.offsetboxr r r r r rrrrrrrHrNr_rjmark parametrizervrwr}rrrrrrrrrr"r&r/r9r?rErNrrIrGr]sl" ) O%!<OOOO '(d; < F"J* %3%#sDF"9:0!=>7?1;F 7 Y ? @7 19~? b)_> Q N< :,, 7 Dda5FH b)_> Q ,<> :,, 7 9~? QDA7G3HJ 4Q!YA :,, K '@A"#/#B/d+,$gN O +(FG7H7t-,#>?,:?,:^! +&()?#WEF&D)rI