rL iX ddlZddlmZmZddlmZmZmZmZm Z m Z m Z ddl m Z ddlmZddlmZddlmZddlZddlZdZdZd Zd Zd Zej:j=d d ZdZ ej:jCdgddZ"dZ#dZ$dZ%dZ&ej:jCdddgej:jCdddgej:jCddejNdfdejPdfd ejNd!fd ejPd"fgd#Z)d$Z*d%Z+ej:jCd&d'd(d ejXd)e*gd+Z-ej:jCd,gd-d.Z.d/Z/d0Z0d1Z1ej:jCd2dd gej:jCd3ejNejPgej:jCd4d5d6gej:jCd7gd8ej:jCd9d:d;gd<Z2y)=N)path transforms)FigureCanvasBaseKeyEvent LocationEvent MouseButton MouseEventNavigationToolbar2 RendererBase)RubberbandBaseFigure)needs_pgf_xelatexzTreat the new Tool classes introduced in v[0-9]*.[0-9]* as experimental for now; the API and rcParam may change in future versions.c tj}tddDcgc]!}tjj |#}}tddDcgc]/}|j |jj1}}tjdjd}ddg}ddg}d }||||||||||d d||||||g||||||||d d||||||g|||td |jd D]}|||||d |ddf|||||||g|||||||g|||||gg||||||d d|ycc}wcc}w) N) redgreenc t}t|j|||}|j}|j |t t ||tj|||ggdggd D cgc] \} } } } } |  }} } } } } |j|||||}|rBtj|t |}t|j|dz |gsJyycc} } } } } w)NFscreen) minlengthr)r list_iter_collection_raw_pathsnew_gc_iter_collectionrangelenrAffineDeltaTransform_iter_collection_uses_per_pathnpbincountsetissubset)master_transformpathsall_transformsoffsets facecolors edgecolorsrb raw_pathsgcxoyopath_idgc0rgbFaceidsusesseens i/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/tests/test_backend_bases.pycheckz!test_uses_per_path..checks ^66 e^56 YY[""uS^,g223CDz2rE7x !""82r7Cw"" 00 >7J D ;;sc)n=Dt9%%tax&67 77 "s>C- r) rAffine2Dr!rPathunit_regular_polygonrotate get_matrixcopyr%arangereshapeshape) idir*tforms_matricesr,r-r.r;ns r:test_uses_per_pathrIs    B8=a D1TYY + +A . DE DAFq!MAryy|..0557MOMiim##G,G!J!J8$ "e_gz:F "eAaj/7J K "b/7J C "e_Qq)7J K "eR*j9 1gmmA& '& b%'!A#q&/* && "e_gr:> "e_gz2> "e_gr26 "e_gz!A KG EMs &E14E6cLttjtsJyN) isinstancerfigurerr:test_canvas_ctorrP>s &(// 88 8rOctj}|jjdk(sJ|jjj d|jjdk(sJy)Nz Figure_1.pngz0:1/2<3z 0_1_2_3.png)pltrMcanvasget_default_filenamemanagerset_window_titlefigs r:test_get_default_filenamerYBs[ **,C :: * * , >> >JJ'' 2 :: * * , == =rOctj}t|}tj|tj|j rJyrK)rRrMrclose fignum_existsnumber)rXrSs r:test_canvas_changer^Is= **,C c "FIIcN  ,, ,,rOpdfc(tj|jddtjt 5}tj t|dk(sJdt|djvsJ dddtjt 5}tjj t|dk(sJdt|djvsJ dddy#1swY{xYw#1swYyxYw)NDISPLAYz:999rzz.test_location_event_position..srOz(x, y) = (foo, foo)) rRrbrrr}intrLy format_coord format_xdata format_ydata fmt_xdata fmt_ydata)r}rrXrsrSevents r:test_location_event_positionros%llnGC c "F ,1 5Eywwww#a&   %''3'''ywwww#a&   %''3'''}1% 232booa6H5IKL ML&55 r|q!$(==== '}rOcbtj\}}|jdd|jdddk(sJ|j jd|jdddk(sJ|j jd |jddd k(sJy) Nrr)rr)xlimylimg@z(x, y) = (5.00, 5.00))r()rz$(x, y) = (5.00, 5.00) | (5.00, 10.0))rr)rz3(x, y) = (5.00, 5.00) | (5.00, 10.0) | (2.50, 5.00))rRrbr'rtwinxtwinyrrs r:!test_location_event_position_twinrsllnGCFFgF& ??2r "&= == =HHJNNN ??2r "&L LL LHHJNNN OOB #D EF ErOc&tj}|jdddddd|jj gfd}|jj d|t d|jd jtd |jg|jjd tjjt d |jd jtd k(sJy)N?hellocenterT)havapickerc^|jjdk(sJj|y)Na) mouseeventkeyappend)rpickss r: handle_pickztest_pick..handle_picks)##s*** UrO pick_eventkey_press_eventrbutton_press_eventrrkey_release_eventr)rRrMtextrSdraw mpl_connectr_processr transFigure transformrLEFTr")rXrrs @r: test_pickrs **,CHHRWhtHDJJOO EJJ<5  C099;#SZZ!))(3!!!) #**c2;;= u:??rOctj\}}|jd|jJt |j }|j |jdk(sJ|j}|j}d}d}|jj|jt}|jj|jt}td|j g|tj} |j j j#| j$| td|j g|tj} |j j j#| j$| |j| j&| j&fk(sJ|j| j(| j(fk(sJtd|j g|tj*} |j j j#| j$| td|j g|tj*} |j j j#| j$| |jt-j.|dd k(sJ|jt-j.|dd k(sJ|j |jJ|j1s|j3rJy) Nlogit)xscaleZOOM)gư>皙?)gwJ?皙?rbutton_release_eventrg|=)relabs)rRrbr'get_navigate_moder rSzoomget_xlimget_ylim transDatarastyperr rr callbacksprocessnamexdataydataRIGHTrdapproxget_autoscalex_onget_autoscaley_on) rXrstbxlim0ylim0d0d1s0s1 start_event stop_events r:test_interactive_zoomrsllnGCFF'F   ! )) ) CJJ 'BGGI   !V ++ + KKME KKME B B    # * *3 /B    # * *3 /BcjjA+-A/:/?/?AKJJ  !1!1;? C-/C1<1A1ACJJJ  *= ;;=[.. 0@0@A AA A ;;=[.. 0@0@A AA AcjjB+-B/:/@/@BKJJ  !1!1;? D-/D1<1B1BDJJJ  *= ;;=FMM%QEB BB B ;;=FMM%QEB BB BGGI   ! )) )##%b.B.B.DD D.DrOcFtj\}}|jddgddg|jj |t |j}|j |jJ|j|jJy)Nrr) rRrbplotrS widgetlockr rrpan)rXrsrs r:test_widgetlock_zoompanrsllnGCGGQFQFJJ" CJJ 'BGGI   ! )) )FFH   ! )) )rO plot_funcimshowcontourf orientationvertical horizontalztool,button,expectedr)ir))gQ?gQ@ctj\}}tjdj d}d\}} t ||||| } |j | ||} |dk(r| jjrJy| jjsJd\} } | df}| df}|d k(r|ddd }|ddd }| jjj|jt}| jjj|jt}td |jg||}td |jg||}t|j}|d k(rD|j!|j#||j%||j'|nC|j)|j+||j-||j/|| j0| j2ft5j6|dk(sJy)N )rrr)vminvmax)rsrrrrrrrr333333?r)rRrbr%rBrCgetattrcolorbarrs get_navigaterrrrr rSr r press_zoom drag_zoom release_zoomr press_pandrag_pan release_panrrrdr)rrtoolbuttonexpectedrXrsdatavmin0vmax0collcbrrrrrrrrrs r:test_interactive_colorbarrsllnGC 99R=  (DLE5 !72y !$U ?D dr{ ;BJ55%%''' 55    JD$ B Bj "X "X  " "2 & - -c 2B  " "2 & - -c 2Bcjj7+-7/57K 9-/9179J CJJ 'B v~   k" Z   #  [! J z" GGRWW xT!B BB BrOctjtt5dtj d<dddt j }|j}|jJ|jjjjd|jdk(sJ|jjjjd|jdk(sJy#1swYxYw)Nmatch toolmanagertoolbarrrrPAN) rdrerf_EXPECTED_WARNING_TOOLMANAGERrRrcParamsgca get_figurerrSrUr trigger_tool)rsrXs r:test_toolbar_zoompanrs k)F G0"/ Y0 B --/C   ! )) )JJ""//7   !V ++ +JJ""//6   !U ** *00s C;;DcVtj\}}|jtdtdt |j }|j td|j dddjtd|j dddj|j|jcxk(rdk(sJJtd|j dddjtd|j dddj|j|jcxk(rdk(sJJ|jjdd g\}}td |j g|tjjtd |j g|tjjtd|j d j|j|jcxk(rdk(sJJtd|j dddjtd|j dddj|j|jcxk(rdk(sJJy) N rkdl)rrr)rr)rrrrh)rRrbrr!r rSrrrrrrrr rr)rXrsrstartstops r:$test_toolbar_home_restores_autoscaler )sllnGCGGE"IuRy! CJJ 'BGGI  Cc:CCE  Cc:CCE ;;=BKKM 4W 44 44 4  Cc:CCE  Cc:CCE ;;=BKKM 4W 44 44 4,,((&&)9:KE4#SZZJ%J9I9IJSSU%szzKDK+:J:JKTTV  C099; ;;=BKKM 4W 44 44 4  Cc:CCE  Cc:CCE ;;=BKKM 4W 44 44 4rObackendsvgpspgf)marksc@ddlm}ddlm}t j d|}|j}|d}|||j dd}|d}|||j dd}|jD cgc]} | j} } |jj|jj|jD cgc]} | j} } |jD cgc]} | j} } t| | D]\} }tj| |d sJt| | D]'\}}tjj||d )ycc} wcc} wcc} w) Nrr ) FigureCanvaszmatplotlib.backends.backend_T)constrained_layoutrg{Gzt?)atol)matplotlib.figurermatplotlib.backends.backend_aggr importlib import_modulerbravel get_positionrSrzipr%allclosetestingassert_allclose)r rr test_backend TestCanvasfig_test axes_testfig_aggaxes_aggrsinit_poslayed_out_pos_testlayed_out_pos_agginitplacedreftests r: test_drawr,Gsr )<**-I'+STL**J.Hx!!!Q'I-G1%H,5OO,=>b!>H> OO NN6?oo6GH"//+HH5=^^5EFr*FFH&899 f;;tV%8889*,>?: T ""35"9:? IFs F(FFz&key,mouseend,expectedxlim,expectedylim))N皙?r.gQ @g{G(@g@gffffff'@)N)r.rr/r )N)rr.r1r0)Nrr1r1)Nr?g(\ gQ@g@g&@)Nr.r4r/r6)N)r333333?r5gQ gq= ףp@)Nr.r8r/r9)shift)r.皙?r/r1)r;r<r.r1r0)r;r7r/r/)r;r3r5)g(\ @gq= ף(@)r;)rg?gp= ף gp= ף@r>)r;r:r/)gQ g ףp= @)r})r.rr/r1)r)rr.r1r0)controlr-r/r/)r?r=g(\@gq= ףp'@r@ctj\}}|jtjd|j sJ|j dd}|jj|jt}|jj|jt}td|jg|tj|d} td|jg|tj|d} t|j} | j!| j#| | j%| | j'| t)|j+t-j.|dk(sJt)|j1t-j.|dk(sJy) Nrequalrr)rrrg{Gz?r)rRrbrr%rBr set_aspectrrrrr rSrrr rrrrtuplerrdrr) rmouseend expectedxlim expectedylimrXrs mousestartsstartsendrrrs r:test_interactive_panrKisk,llnGCGGBIIbM ??  MM'J\\ # #J / 6 6s ;F << ! !( + 2 23 7Dcjj+1:E:J:J K -1:E:J:J J CJJ 'BFFHLLKK NN:  6==4#H HH H  6==4#H HH HrOctjtt5dtj d<dddt j }t|jjjj}d|jjjjvsJ|jjjjdt|jjjj|dz k(sJd|jjjjvsJy#1swYxYw)Nrrrforwardr) rdrerfrrRrrjr"rSrUrtools remove_tool)rX initial_lens r:test_toolmanager_removerQs k)F G0"/ Y0 '')Ccjj((44::;K  **66<< << <JJ""..y9 szz!!--33 4 a GG G CJJ..::@@ @@ @00s E  Ectjtt5dtj d<dddt j }|jjjjd}t|tsJ|jjjj||usJtjtd5|jjjjdJ ddd|jjjjddJtjtd5|jjjjdJ dddy#1swYrxYw#1swYxYw#1swYyxYw) Nrrr rubberbandz'ToolManager does not control tool 'foo'r|F)warn)rdrerfrrRrrjrSrUrget_toolrLr r)rXrSs r:test_toolmanager_get_toolrVsp k)F G0"/ Y0 '')C##//88FJ j. 11 1 ::   ) ) 2 2: >* LL L kE GFzz!!--66u=EEEF ::   ) ) 2 25u 2 E MM M kE GJzz!!--::5AIIIJJ00 FF JJs#F$2F1(2F=$F.1F:=Gc tjtt5dtj d<dddt j }d|jjjjdvsJtjtd5|jjjjddddd|jjjjddgk(sJtjtd5|jjjjd ddddy#1swY/xYw#1swYxYw#1swYyxYw) NrrrvrMz"Key c changed from back to forwardcz'foo' not in Toolsr|)rdrerfrrRrrjrSrUrget_tool_keymap update_keymapraisesKeyErrorrWs r:test_toolmanager_update_keymapr^s. k)F G0"/ Y0 '')C #**$$00@@K KK K k@ BE &&44YDE ::   ) ) 9 9) D MM M x'; <A &&44UC@AA00EEAAs#E!1E.'1E:!E+.E7:Frr patch_visTF forward_nav)TFautot_stwinsharectj\}}|jdd}|j||jj ||dk(rg|jd}|j ||j||jd} | j || j|n%|dk(r |j}|j} |jd|jjd jd |jjd |jd |jjd  jd| jjdd\} } ||fD] } | j| | j| "d\} }}}|jj| |fjt }|jj||fjt }|jj#j|\}}|jj#j|\}}t%d|j&g||}t%d|j&g||}t)|j&}|dk(r|dk(rdnd}|j+g|||\}}|j-dur|j+g|||\}}nO|j-dur| }| }n8|jj/s|j+g|||\}}n| }| }|j1|j3||j5||j7||j9t;j<|dk(sJ|j?t;j<|dk(sJ|j9t;j<|dk(sJ|j?t;j<|dk(sJ|j9t;j<|j9dk(sJ|j9t;j<| j9dk(sJy|j@g|||jB|dg|jDjtF\}}|jI|j-durY|j@g|||jB|dg|jDjtF\}}|jIn|j-dur| }| }nw|jj/sY|j@g|||jB|dg|jDjtF\}}|jIn| }| }|jK|jM||jO||jQ||j9t;j<|dk(sJ|j?t;j<|dk(sJ|j9t;j<|dk(sJ|j?t;j<|dk(sJ|j9t;j<|j9dk(sJ|j9t;j<| j9dk(sJy)Nc)zorderrdrcax_t)rrrr ax_t_twinrax_b)rrrr ax_b_twinb)rr)rrrrrrrrinoutTFrr))rRrb add_subplotset_forward_navigation_eventspatch set_visiblesharexshareyr set_label set_facecolorset_xlimset_ylimrrrrinvertedr rSr _prepare_view_from_bboxget_forward_navigation_events get_visiblerrrrrrdrr start_pan_get_pan_pointsTfloatend_panrrrr)rrr_r`rbrXrnrkrlro init_xlim init_ylimrsxstart_txstop_tystart_tystop_trrxstart_bystart_bxstop_bystop_brrr directionxlim_tylim_txlim_bylim_bs r: test_interactive_pan_zoom_eventsrs8 IC ??3r? *D&&{3JJ9% g~OOC( OOC(  JJL JJL  NN6JJ^,  $ OO!!#&NN6JJ^,  $ OO!!#& ,IyTl  Y Y ,6(Hgx  ! !8X"6 7 > >s CB  ! !7G"4 5 < GW13::KKFKK2CJJLLVLJ CJJ 'B v~#q[Te 55jjRj)L  - - /4 7!99*B**iPNFF  / / 1U :FF::))+!%!=!=jjRj)!T""   k" Z   #}}&--D"AAAA}}&--D"AAAA}}&--D"AAAA}}&--D"AAAA}}&-- 0B0B0D$"OOOO}}&-- 0B0B0D$"OOOO ##F#---fd@R@BBII%P   - - /4 7 DNN 'B ' '1T11&$DDFFMMeTNFF LLN  / / 1U :FF::))+++F+!5!5!5fd!HR!H!J!J!Q!QRW!X ""  [! J z"}}&--D"AAAA}}&--D"AAAA}}&--D"AAAA}}&--D"AAAA}}&-- 0B0B0D$"OOOO}}&-- 0B0B0D$"OOOOrO)3r matplotlibrrmatplotlib.backend_basesrrrrr r r matplotlib.backend_toolsr rrmatplotlib.testing._markersrmatplotlib.pyplotpyplotrRnumpyr%rdrrIrPrYr^markr rmrt parametrizerrrrrrrrrr paramr,rKrQrVr^rrNrOr:rs'&&&4$9 9 %LP9>-U(($, NP>P>,F&-E`*x&<=\(BC/!;#3#3V<!;#4#4i@ +"2"2G< +"3"3\BDE 3C ED>3Cl +5< tU U*;<>: :<,*I+*IBAJ" A&%1K$4$4k6G6G#HItUm4(=> 12}P3?5J2 }PrO