rL irddlZddlZddlZddlmZmZmZm Z m Z m ZmZddlmZmZddZdZGdde j,ZGd d eZGd d eZGd deZy)N)_apiartistlinesaxispatches transformscolors)art3dproj3dcptj|}||tjd||z z|zzS)zg For each coordinate where *axmask* is True, move *coord* away from *centers* by *deltas*. r )npasarraycopysign)coordcentersdeltasaxmasks a/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mpl_toolkits/mplot3d/axis3d.py_move_from_centerrs6 JJu E 6BKK57?;;fD DDc|jj||jj||jj d|j j d|jj d|jjd|jj|||jjdgdgy)z.Update tick line and label position and style.TF-rN) label1 set_positionlabel2 tick1line set_visible tick2line set_linestyle set_markerset_datagridline)ticktickxstickyslabelposs r_tick_update_positionr)s KKX&KKX&NNt$NNu%NN  %NNb!NNFF+MMA3$rc|eZdZdZdZddddddddddd dd Zd d d Zd d dZfdZe jee_ e jddedZdZe jdddZd6fd Zd6fd ZdZdZdZdZd6dZdZdZdZd Zd6d!Zd6d"Zd#Zd$Z d%Z!d&Z"d'Z#d(Z$d)Z%e&jNd*Z(e&jNd+Z)d6d,d-d.Z*e jdd/d0ed1d2Z+e jdd3d0ed4d5Z,xZ-S)7AxiszAn Axis class for the 3D plots.))r)r )rr r1r.)r,r/r0r-)rr r/r,)r.r1r0r-rr )r rr/)itickdirjuggled)rr r/r/)rr/r )xyzN) rotate_labelctSNlocals)selfadir v_intervalx d_intervalxaxesr8argskwargss r _old_initzAxis._old_init6s xrc tSr:r;)r=rAr8rCs r _new_initzAxis._new_init:s xrc &tj|j|jgg|i|}d|vrztjddt j t|jd|d|jk7r'tdt|jd|d|d}|d }|jd d }|d }|j}d |_ d |_|j|j!|_|j"j%ddddt&j(d|dddddt&j(drk|j"j%dddddddd|j"d j%d!t&j(d"t&j(d"d#in|j"j%t&j(d$t&j(d%dt&j(d&t&j(d't&j(d(dd|j"d j%d!|d)vrt&j(d*nt&j(d+|d)vrt&j(d,nt&j(d-d#it+| |g|i|d.|vr|j,|d.d/|vr|j.|d/|j1||j3y)0Nr>3.6zUThe signature of 3D Axis constructors has changed in %(since)s; the new signature is T)messagependingzCannot instantiate z with adir=rAr8rBrCdefaultcenteranchor)vaha rotation_modezaxes3d.zaxis.panecolorg?g?) inward_factoroutward_factor)labelcolorr%z_internal.classic_modeg?)rrrr ) linewidthrU)?rWrWr g?r)rUrV linestyle)axislinegridr%rVzlines.linewidth)TFzaxes.linewidthzaxes.edgecolorz grid.colorzgrid.linewidthzgrid.linestylexzzxtick.major.widthzytick.major.widthzxtick.minor.widthzytick.minor.widthr@r?)rselect_matching_signaturerDrFwarn_deprecatedinspect signaturetype__init__ axis_name ValueError__name__get_label_position_tick_position_AXINFOcopy_axinfoupdatemplrcParamssuperset_data_intervalset_view_intervalset_rotate_label_init3d)r=rBrCparamsrAr8name __class__s rraz Axis.__init__=s// ^^T^^ ,?/3?7=? V   ">$$T$Z%8%89: !? \\*:; !\\,7!$.>!?!$.>!? !  LL ' '=AT\ %89 \\*=>=AT\ %89 \\*=>  )  /// F " "D " "F=$9 : F " "D " "F=$9 : l+ rrHT)rJc|jSr:)rbr=s rz Axis.s dnnrc<tjdd|jdd|jddd|_t j ddgddggd |_|j|jd|jj|j|jj|j tjg|_ |jj|j|jj|j|jj|j|jj|j_|jj|j_y) N)rrrYrVrUT)xdataydatarVrU antialiasedrr F)closed)mlinesLine2DrjlinempatchesPolygonpaneset_pane_colorrA_set_artist_propsr Line3DCollection gridlinesrT offsetText transData _transformrws rrrz Axis._init3ds"MMll:.{;,,z*73  $$q!fq!f%5eD  DLL12 ##DII. ##DII.//3 ##DNN3 ##DJJ/ ##DOO4 $ 3 3 %)YY%8%8"rc$|jyr:)rrrws rinit3dz Axis.init3ds  rct||}|D]e}|j|j|j|j |j fD]'}|j|jj)g|Sr:) rnget_major_ticksrr r$rr set_transformrArr=numtickstickstobjrus rrzAxis.get_major_ticksq'1 7AKKajj!((AHHN 7!!$))"5"56 7 7 rct||}|D]e}|j|j|j|j |j fD]'}|j|jj)g|Sr:) rnget_minor_ticksrr r$rrrrArrs rrzAxis.get_minor_ticksrrcDtjgd|||_y)z Set the ticks position. Parameters ---------- position : {'lower', 'upper', 'both', 'default', 'none'} The position of the bolded axis lines, ticks, and tick labels. lowerupperbothrLnonepositionN)r check_in_listrgr=rs rset_ticks_positionzAxis.set_ticks_positions  H$, .&rc|jS)z Get the ticks position. Returns ------- str : {'lower', 'upper', 'both', 'default', 'none'} The position of the bolded axis lines, ticks, and tick labels. )rgrws rget_ticks_positionzAxis.get_ticks_positions"""rcDtjgd|||_y)z Set the label position. Parameters ---------- position : {'lower', 'upper', 'both', 'default', 'none'} The position of the axis label. rrN)rrrfrs rset_label_positionzAxis.set_label_positions  H$, .'rc|jS)z Get the label position. Returns ------- str : {'lower', 'upper', 'both', 'default', 'none'} The position of the axis label. )rfrws rget_label_positionzAxis.get_label_positions###rctj||}||jd<|jj ||jj ||jj |dd|_y)z Set pane color. Parameters ---------- color : :mpltype:`color` Color for axis pane. alpha : float, optional Alpha value for axis pane. If None, base it on *color*. rUTN)mcolorsto_rgbarjr set_edgecolor set_facecolor set_alphastale)r=rUalphas rrzAxis.set_pane_colorscu- % W & & E"I& rc ||_d|_y)z Whether to rotate the axis label: True, False or None. If set to None the label will be rotated if longer than 4 chars. TN) _rotate_labelr)r=vals rrqzAxis.set_rotate_labels ! rcN|j |jSt|dkDS)Nr.)rlen)r=texts rget_rotate_labelzAxis.get_rotate_labels(    )%% %t9q= rc.tj|jj|jj |jj gj \}}|d|d|d|d|d|df}|jj|}tjd}tjd}tdD]_}tj||jd|zdf||<tj||jd|zdzdf||<a||k}tj||z tjtjk} tj | dk(r~tj"| dd} | dk(rtjdd|dg}nA| dk(rtjd|ddg}n | dk(rtj|dddg}||||fS)Nrr r/r,TF)rarrayrA get_xbound get_ybound get_zboundT_transformed_cubezerosrangemean_PLANESabsfinfofloatepssumwhere) r=minsmaxsbounds bounds_projmeans_z0means_z1r2highsequalsverticals r_get_coord_infozAxis._get_coord_info sXX II " II " II "   1 da$q'47DGT!Wd1gEii11&9 88A;88A;q KA''+dll1q5.A1.D"EFHQK''+dll1q519.Eq.H"IJHQK K8#8+,0C0CC 66&>Q xx(+A.H1}$eAh!78Q$a%!89Q%(E5!9:T;--rc.d||zz}d}||z |z}||fS)N?g{Gz?rK)r=rrrscalers r_calc_centers_deltaszAxis._calc_centers_deltas-s/% +&rc||g}|ddd}|||g|||g|||gg}||jj|jd}|jd}|dj}|dk(r|d|d|d|dks|dk(r)|d|d|d|dkDr|d|d||d<n|d|d||d<|j} |d|d| |d<|| fS) z3Get the edge points for the black bolded axis line.Nrr2r4rrr r)rA_vertical_axisrjri) r=minmaxmaxminrmbmb_revmmr4 edge_point_0 edge_point_1s r_get_axis_line_edge_pointszAxis._get_axis_line_edge_points7s6 f DbD66"VVR$82r2, G  (( )$,,s*; <,,y)!uzz|  RU72;%7"Q% :L%LW$Awr{);beGBK>P)P(*1gbk(:L %')!uWQZ'8L $#((* #%a5#4 WQZ \))rcg}g}g}|dvr|j||\}}|g}|g}dg}n|j||d\} } |j||d\} } |dvr3|j| |j| |jd|dvr3|j| |j| |jd|||fS)N)NrLrLrrr)rr)rr)rappend) r=rr axis_positionedgep1sedgep2sredgep1edgep2edgep1_ledgep2_ledgep1_uedgep2_us r_get_all_axis_line_edge_pointsz#Axis._get_all_axis_line_edge_pointsOs - -!<,@@FJK)CL#C+t||~NC..AATYY[[AJBB !$R2r(RH E NN ( ()= > IIh % rc |j} | d} | d} | d} | ddk(r|}d}n|}d}t||||j}tjg||j j \}}}|jj|jjj|jj||ftjtj tj"| |}|jj%||jj'dtjg||j j }|| || |fkDrJ|| || |fkr:tj(|dzdk(r|j+gdk(r| d vrd }n:d }n7d }n4|| || |fkDr%tj(|dzdk(r | dk(rd nd }nd }|jj-d |jj/||jj1|y) Nr2r4r3r/rr rN)FTT)r r/leftrightrM)rjrrr rrArrset_textmajor formatter get_offsetrr _norm_text_anglerrad2degarctan2 set_rotationset_rotation_mode count_nonzerotolistset_vaset_har )r=rrrr.rrpepdxdyrrr4r3 outeredgep outerindexrolxolyolzanglecentptaligns r_draw_offset_textzAxis._draw_offset_texts||S y/y/ 1:?JJJJ G[ $ 0--@s@DIIKK@ S#   !5!5!@!@!BC $$c3Z0&&rzz"**R2D'EF $$U+ ))(3"&&=== '?S*!45 5u UJ%6!77((/!3q8<<>%88Uf_"E#Eu E:$5 66((/!3q8#(A:6  x( u% X&rc|jd}d||zz} t| |||j} tjg| |j j \} } } |jj| | f|j|jjrWtjtjtj||} |jj!| |jj#|d|jj%|d|jj'|d|jj)|y)NrTrrOrPrQ)rjrrr rrArrTrrget_textr r:rr;r<r=rArBr>r )r=rrrr.rrDrErTlxyztlxtlytlzrKs r _draw_labelszAxis._draw_labels's W%fvo& w T\\^L--AtATYY[[A S# c +  !4!4!6 7**2::bjjR6H+IJE JJ # #E * %+& %+& $$U?%;< !rc |jj|j_|jj|j_|j d|j |j\}}}}|j||\}}|jdjj}|j|jjj} td| z} d| z } d} |j | z| z|z} t#j$|||}t#j$|||}t'|j)|||j*D]\}}}t-j.||g|jj0}t#j2|}|jj4j|dd d fg|jj4j|dd dfgz d\}}|j6j9|d|d |j6j;||j=|||||| ||j?|||| ||||| t'|j)|||j@D]\}}}t-j.||g|jj0}t#j2|}|jj4j|dd d fg|jj4j|dd dfgz d\}}|jC|||| ||||jEdd|_#y) Naxis3drF)rootgR@0g5@rr/r )$rArrTrrr r rr get_figuredpi_scale_transinverted transformbboxsizerlabelpadrrziprrgr _proj_trans_pointsrr transAxesrr#r r2rNrfrUrr)r=rrrrrrr reltoinches ax_inchesax_points_estimaterdefault_offsetr.rrrrrrCrDrEs rr z Axis.draw7sO $ 3 3 %)YY%8%8"H$,,.9!% 4 4 6dB33D$?oo5o1AAJJL ))$))..*=*=>  y1 22}}~59IIFR %t,5&$-#&(K(K+164;N;N)P$Q @ FFC++VV,?dlln?DEN HHdD$/a8E%+EAI%6E!Q / "%+EAI%6E!Q / " NN ' ' .F|H NN $ $Xg%6 7 NN ( (+)> ? NN ( (+)> ? NN + + - NN   )X&#@sG1F)for_layout_onlyc|jsy|j}|j}g|jt ||j t |}|j \}}||kDr||}}|jj||g}g} |D]X} |jj| j} tj|| sH| j| Z| }|j||\} } g}|jjr*|j|jj!||j"jrF|sD|j"j%r*|j|j"j!|tj&j)g| | |S#t$rYIwxYwr:) get_visibleget_majorticklocsget_minorticklocsrrrget_view_interval get_transformr]r mtransforms_interval_contains_closerAssertionError_get_ticklabel_bboxesrget_window_extentrTrPBboxunion)r=rrs major_locs minor_locsrview_low view_high interval_t ticks_to_drawr%loc_tbb_1bb_2others r get_tightbboxzAxis.get_tightbboxs! ++- ++- 9$&&s:79&&s:79"446) i "+XiH'')33Xy4IJ   /D /**,66t||~F 77 EJ!((. ///x@ d 99 " LL44X> ? JJ " " $_ ##% LL55h? @%%&<&$"8"8":rc |j|Sr:)ror=rs rrxz Axis.*@$*@*@&*Irrxc"|jSr:)rxrws rrxz Axis.rrc |j|Sr:)rprs rrxz Axis.rrr:).rd __module__ __qualname____doc__rrhrDrFrar^r_ __signature__r deprecatedpropertyr>rrrrrrrrrrrqrrrrrrrrrr2rNrUrallow_rasterizationr rrr d_interval v_interval __classcell__)rus@rr+r+&s)Gy 9y 9y 9G $/3Qf/W..y9H /?4??5$ /,- /D9*T__UD)* ' # ( $$! .@*0*2*X  ' * XE'N"  > >@ $' $'P,>e,>\> .> :I KLJ> .> :I KLJrr+cleZdZdZej ddd\ZZej ddd\ZZ y)XAxisr5view xy_viewLim intervalxdata xy_dataLimN rdrrrbmaxis_make_getset_intervalrxrprrorKrrrrGI+F5+F+F k,+((+F5+F+F k,+((rrcleZdZdZej ddd\ZZej ddd\ZZ y)YAxisr6rr intervalyrrNrrKrrrrrrrcleZdZdZej ddd\ZZej ddd\ZZ y)ZAxisr7r zz_viewLimrr zz_dataLimNrrKrrrrrrr)r)r^numpyr matplotlibrlrrrr~rrrrrrzr rrr r rr)rr+rrrKrrrsh 222E %p L5;;p Lf+D++D++D+r