+
     ]i0  c                   s   ^ RI t^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ]! R.RRR7      R 4       t]! R.RRR7      R 4       t]! R.RRR7      R 4       tR# )i    N)Path)	PolarAxes)FuncFormatter)Affine2D	Transform)image_comparison)SubplotHost)host_axes_class_factory)angle_helper)Axes)GridHelperCurveLinearzcustom_transform.pngZdefaultg?)ZstyleZtolc                  s  aa  ! V3R  lR\         4      o ! V3R lR\         4      o\        P                  ! 4       p \        \        4      pS! ^4      p\        V4      pV! V ^^^VR7      pV P                  V4       VP                  VRR7      pVP                  ^^.RR.4       VP                  R	4       VP                  ^ ^
4       VP                  ^ ^
4       VP                  R
4       R# )c                   sP   <a  ] tR t^t o ^;ttR tR t]tR t	]	t
V3R ltRtV tR# )*test_custom_transform.<locals>.MyTransformc                s>    \         P                  ! V 4       Wn        R# )z
Resolution is the number of steps to interpolate between each input
line segment to approximate its path in transformed space.
Nr   __init___resolutionselfZ
resolution   &&a/usr/lib64/python3.14/site-packages/mpl_toolkits/axisartist/tests/test_grid_helper_curvelinear.pyr   Z3test_custom_transform.<locals>.MyTransform.__init__   s    
 t$)    c                sZ    VP                   w  r#\        P                  ! W#V,
          .4      # NZTnpZcolumn_stackr   ZllxZy   &&  r   	transformZ4test_custom_transform.<locals>.MyTransform.transform   "    44DA??A1u:..r   c                s    VP                  V P                  4      p\        V P                  VP                  4      VP
                  4      # r   )Zinterpolatedr   r    r   ZverticesZcodes)r   ZpathZipaths   && r   transform_pathZ9test_custom_transform.<locals>.MyTransform.transform_path%   s6    %%d&6&67Eu~~6DDr   c                (   < S! V P                   4      # r   r   )r   MyTransformInv   &r   invertedZ3test_custom_transform.<locals>.MyTransform.inverted+   s    !$"2"233r   r   N)__name__
__module____qualname____firstlineno__
input_dimsoutput_dimsr   r   Ztransform_non_affiner   Ztransform_path_non_affiner!   __static_attributes____classdictcell__)__classdict__r      @r   MyTransformr      s9     #$$
[	*	/  )	E %3!	4 	4r   r,   c                   sB   <a  ] tR t^.t o ^;ttR tR tV3R ltRt	V t
R# )-test_custom_transform.<locals>.MyTransformInvc                s>    \         P                  ! V 4       Wn        R # r   r   r   r   r   r   Z6test_custom_transform.<locals>.MyTransformInv.__init__1   s    t$)r   c                sZ    VP                   w  r#\        P                  ! W#V,           .4      # r   r   r   r   r   r   Z7test_custom_transform.<locals>.MyTransformInv.transform5   r   r   c                r   r   r   )r   r,   r    r   r!   Z6test_custom_transform.<locals>.MyTransformInv.inverted9   s    t//00r   r   N)r"   r#   r$   r%   r&   r'   r   r   r!   r(   r)   )r*   r,   r+   r   r   r-   .   s#     #$$
[	*	/	1 	1r   r   grid_helperequalZviewlim_modeg      @g      $@      ?TN)r   pltfigurer   r	   r
   add_subplotget_aux_axesplot
set_aspectset_xlimset_ylimgrid)figr   trr/   ax1ax2r,   r   s         @@r   test_custom_transformr@      s    4i 441 1 **,C)$/K	QB'+K
c1a
<COOC


2G

4CHHaVc3Z NN2LLBLLBHHTNr   zpolar_box.pngg{Gz?c            	      s
   \         P                  ! RR7      p \        4       P                  \        P
                  R,          R4      \        P                  ! RR7      ,           p\        P                  ! ^^RRR^ \        P                  3R7      p\        VV\        P                  ! ^4      \        P                  ! 4       \        R	 4      R
7      p\        V ^^^VR7      pVP                   R,          P"                  P%                  R4       VP                   R,          P"                  P%                  R4       ^ VP                   R,          P'                  4       n        ^VP                   R,          P'                  4       n        V P+                  V4       VP-                  ^ ^-VR7      ;VP                   R&   pVP.                  P1                  R4       VP.                  P%                  R4       VP'                  4       P3                  ^^4       VP-                  ^^VR7      ;VP                   R&   pVP.                  P1                  R4       VP'                  4       P3                  R^Z4       VP5                  VRR7      pVP7                  \        P8                  ! ^ ^^24      \        P8                  ! ^
^
^24      4       VP;                  R4       VP=                  R^4       VP?                  R^
4       VPA                  R4       R# )   Zfigsize     f@r2   FZapply_theta_transformsh  NZ	lon_cycleZ	lat_cycleZ
lon_minmaxZ
lat_minmaxc                 s,    V ^8X  d   R# \        V 4       # )i   Zeight)Zint)r   Zpr   r   Z<lambda>Z test_polar_box.<locals>.<lambda>f   s    a1f73USQRVH3Ur   )extreme_findergrid_locator1tick_formatter1Ztick_formatter2r.   rightTtopbottom)axesZlatTestlonTest 2r0   r1   rA   rA   iLi)!r3   r4   r   scaler   pir   PolarTransformr   ExtremeFinderCycleinfr
   
LocatorDMSFormatterDMSr   r   axismajor_ticklabelsset_visible
get_helperZnth_coord_ticksr5   new_floating_axislabelset_textset_extremesr6   r7   Zlinspacer8   r9   r:   r;   )r<   r=   rG   r/   r>   rY   r?   s          r   test_polar_boxra   O   sQ   
**V
$C *

2554<
,

"
"%
@AB "44R?B?C@DABBFF	MN (
%"--b1$113%&UVK c1a
<CHHW&&2248HHUO$$006 67CHHW  "267CHHX!!#3OOC(::1bs:KKCHHUOdJJJJ4 OO""1b)(::1ac:JJCHHUOdJJ!OO""4, 

2G

4C HHR[[B#R[[R%<=NN2LLRLLRHHTNr   zaxis_direction.pnggp=
ף?c            	      s   ^\         P                  R&   \         P                  ! RR7      p \        4       P	                  \
        P                  R,          R4      \        P                  ! RR7      ,           p\        P                  ! ^^RRR^ \
        P                  3R	7      p\        P                  ! ^4      p\        P                  ! 4       p\        VVVVR
7      p\        V ^^^VR7      pVP                   P#                  4        F  pVP%                  R4       K  	  V P'                  V4       VP)                  ^ ^VRR7      ;VP                   R&   pVP*                  P-                  R4       VP*                  P%                  R4       VP/                  4       P1                  R^
4       VP)                  ^ ^2VRR7      ;VP                   R&   pVP*                  P-                  R4       VP*                  P%                  R4       VP/                  4       P1                  R^
4       VP)                  ^^
VRR7      ;VP                   R&   pVP*                  P-                  R4       VP/                  4       P1                  ^2^4       VP2                  P5                  R4       VP*                  P5                  R4       VP6                  P8                  P;                  ^R7       VP6                  P<                  P;                  ^R7       VP?                  R4       VPA                  R^4       VPC                  R^4       VPE                  R4       R# )i   ztext.kerning_factorrB   rC   r2   FrD   rE   NrF   )rG   rH   rI   r.   Zleft)rM   Zaxis_directionZlat1rN   TgMbP?rJ   Zlat2rL   rO   rP   rK   )ZnbinsrQ   ii)#r3   ZrcParamsr4   r   rR   r   rS   r   rT   r   rU   rV   rW   rX   r
   r   rY   Zvaluesr[   r5   r]   r^   r_   r\   r`   rZ   Zset_axis_directionZgrid_finderrH   Z
set_paramsZgrid_locator2r8   r9   r:   r;   )r<   r=   rG   rH   rI   r/   r>   rY   s           r   test_axis_directionrb      s   *+CLL&'
**V
$C *

2554<
,

"
"%
@AB "44R?B?C@DABBFF	7N !++B/M"//1O'7E6C8GIK
 c1a
<C! " OOC);;	3 < ) )CHHVt 	JJJJ4 OO""5"-);;	2 < * *CHHVt 	JJJJ4 OO""5"-(::	2 ; + +CHHUOd 	JJ!OO""2s+,,U3JJ!!%())4414=))4414=NN2LLQLLRHHTNr   )Znumpyr   Zmatplotlib.pyplotZpyplotr3   Zmatplotlib.pathr    Zmatplotlib.projectionsr   Zmatplotlib.tickerr   Zmatplotlib.transformsr   r   Zmatplotlib.testing.decoratorsr   Zmpl_toolkits.axisartistr   Z%mpl_toolkits.axes_grid1.parasite_axesr   r   Z!mpl_toolkits.axisartist.axislinesr	   Z/mpl_toolkits.axisartist.grid_helper_curvelinearr
   r@   ra   rb   ) r   r   <module>rc      s        , + 5 : / I 0 2 )*)E9 F9x ?#9$?8 @8x '(	tDB EBr   