rL iddlZddlZddlmZddlmZddlm Z m Z dZ e dgdZ e dgdZ e d g d Ze d gd ZdZe dgdZdZy)N)Spines)check_figures_equalimage_comparisoncGdd}||||d}tdi|}|d|dusJ|j|dusJ|ddgjd|jjdk(sJ|jjdk(sJ|j jJ|j jJ|ddjdtd |jDsJ|ddjd td |jDsJtjtd 5|jdddtjtd 5|d dddtjtd5|gddddtjtd5|ddddtjtd5|dddddtjtd5|dddddy#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYcxYw#1swYyxYw)z)Test Spines and SpinesProxy in isolation.ceZdZdZdZdZy)#test_spine_class..SpineMockcd|_yNval)selfs b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/matplotlib/tests/test_spines.py__init__z,test_spine_class..SpineMock.__init__ s DHc8t|j|yr )varsupdate)r kwargss rsetz'test_spine_class..SpineMock.sets J  f %rc||_yr r )r r s rset_valz+test_spine_class..SpineMock.set_vals DHrN)__name__ __module__ __qualname__rrrrr SpineMockr s  & rr)leftrighttopbottomrrxNyc3:K|]}|jdk(yw)r"Nr .0spines r z#test_spine_class..'s=EuyyC=barfooc3:K|]}|jdk(yw)r)Nr*r$s rr'z#test_spine_class..*s?euyyE!?r(r+)matchzfoo, bar)rr+rr)z single list)rrzSpines does not support slicingrr)rrrr rrr allvaluesrpytestraisesAttributeErrorr+KeyError ValueError)r spines_dictspiness rtest_spine_classr7 s9 {+ K  "k "F &>[0 00 0 ;;+f- -- - FG %%c* ;;??c !! ! <<  s "" " ::>> !! ! ==   $$ $ 1Ic =V]]_= == = 1IMMeM ?v}}? ?? ? ~U 3  xu -u  xz 20./0 z 7  z)J Kvg z)J Kuv00  sH H9I-III)*I59IIII&)I25I>zspines_axes_positions.pngctj}tjddtjzd}dtj |z}|j ddd}|jd|j|||jjjd|jjd|jjjd|jjd |jj j#d |jj$j#d y) Nrdzcentered spines)axes皙?r)r<g?rnone)pltfigurenplinspacepisin add_subplot set_titleplotr6r set_positionyaxisset_ticks_positionrxaxisr set_colorr )figr!r"axs rtest_spines_axes_positionsrO:s **,C Aqw$A "&&) A Aq !BLL"#GGAqMIIOO  /HH(IIMM~.HH&IINNV$IIv&rzspines_data_positions.pngctj\}}|jjj d|jj j d|jj j d|jjj d|jddg|jddgy)N)datag)rQg?)rQgzeror9) r?subplotsr6rrHrrr set_xlimset_ylimrMrNs rtest_spines_data_positionsrXKsllnGCIINN/IIMM}-IIOO  0II!!&)KKQKKQrpng) extensionscHtjjd|j}|j dd|j j jd|j j jd|j jjd|jdd d |j}|j dd|j jjd|jdd d d y)Ndefaultlog)r=r;)xscalexlim)rQr;r9)rQr=r"Fin)axis labelleft directionT)rarbrr) r?styleuserErr6rrH set_linewidthr tick_params)fig_testfig_refrNs r#test_spine_nonlinear_data_positionsrjVsIIMM)    BFF%gF& IINN ,IINN  #IIOO  .NNuN=    BFF%gF&IIOO!!!$NNu5NErzspines_capstyle.pngctjddtj\}}|jg|j gy)Nr<) linewidth)r?rcrT set_xticks set_yticksrWs rtest_spines_capstylerqks9FF6R llnGCMM"MM"rcDtj\}}tjdd|jt j d|j jd|jjjd|jjjd|jd|jjd|jjjd|jj jd|j#d |jj%g|j j%gtj&|jj}|j)j+|j-j/}|j j0j3d |j4ksJd |jj}|j)j+|j-j/}|jj0j3d |j6ksJd y)Ng333333?)rr r)outwardFzy labelr zx labelrz"Y-Axis label not left of the spiner;z X-Axis label not below the spine)r?rTsubplots_adjustrGrAarangerIrJr6rrHr set_visible set_ylabelrKr r set_xlabel set_ticksdraw get_transformtransform_pathget_path get_extentslabel get_positionxminymin)rMrNr& spinebboxs rtest_label_without_ticksrtsllnGCS-GGBIIbMHH'IINN0IIOO&MM)HH)II!!/2IIMMe$MM)HHrHHrHHJ IINNE##%44 %+- 88>> & & ( +inn <-,- < II  E##%44 %+- 88>> & & ( +inn <+*+ rs $O.b./0 '1 ' ./01(F)F(()*++:#$%  &   !r