
    (phD                     H   S SK rS SKJr  S SKrS SKrS SKJr  S SK	J
r
Jr  \
" S/SSS9S	 5       r\
" S
/SSSS9S 5       r\
" S/5      S 5       rS r\" S/S9S 5       r\" S/S9S 5       r\" S/S9S 5       r\
" S/SS9S 5       r\
" S/SS9S 5       r\
" S/SS9S 5       r\
" S/SS9S 5       r\
" S /SS9S! 5       r\
" S"/SS9S# 5       r\
" S$/SS9S% 5       r\
" S&/S'S9S( 5       r\
" S)/SS9S* 5       r\" S/S9S+ 5       r\" S/S9S, 5       rS- rS. rS/ r S0 r!S1 r"S2 r#\" S/S9S3 5       r$\" S/S9S4 5       r%S5 r&S6 r'S7 r(S8 r)\" S/S9S9 5       r*S: r+S; r,S< r-S= r.\
" S>/SS9S? 5       r/S@ r0\Rb                  Re                  SASBSC/5      \
" SD/SS'SE9SF 5       5       r3g)G    N)assert_allclose)pyplot)image_comparisoncheck_figures_equalzpolar_axes.pngdefaultg~jt?)styletolc                     [         R                  " SSS5      n S[         R                  -  U -  n[        R                  " 5       nUR                  SS9nUR                  XSSS	9u  nUR                  S
SSSS	9u  nSnX   X   pvUR                  U/U/S5        UR                  SXv4SS[        SSS9SSS9  UR                  SSSSS9  g )N              ?MbP?      @Tpolarz#ee8d18   )colorlwr   r   r      z#0000ffr      oza polar annotation)皙?r   zfigure fractionblackr   	facecolorshrinkleftbaseline)xyxytext
textcoords
arrowpropshorizontalalignmentverticalalignmentxout)axistick1Ontick2On	direction)
nparangepipltfigureadd_subplotplotannotatedicttick_params)rthetafigaxlineindthisr	thisthetas           N/var/www/html/venv/lib/python3.13/site-packages/matplotlib/tests/test_polar.pytest_polar_annotationsr?   
   s     			#sE"A!E
**,C	t	$BGGEI!G4EDGGFF)G:ED
Cvuz9GGYK%#&KK$%#,'$?$*",   NNT45NI    zpolar_coords.pngTgy&1?)r   remove_textr	   c                     [         R                  R                  SSSSSS9n [        R                  " 5       nUR                  SS9nUR                  U 5        U R                  UR                  5        UR                  S	[        R                  S
-  S4[        R                  S-  S4SS[        SSS9SSSS9	  UR                  SS5        UR                  SS5        g )Nr   
      r6         ?)r   alphaequal)aspectzthe top       @      $@r   g      4@r   r   r   r   r   r   T)r    r!   xycoordsr"   r#   r$   r%   clip_oni)mplpatchesEllipser/   r0   r1   
add_artistset_clip_boxbboxr3   r,   r.   r4   set_xlimset_ylim)elr8   r9   s      r>   test_polar_coord_annotationsrV   ,   s     
		VRs#		FB
**,C		(BMM"OOBGGKK	EE"Hc?a~ "'$?$*",  	 KKRKKRr@   zpolar_alignment.pngc                  p   [         R                  " SSS5      n / SQn[        R                  " 5       n/ SQnUR	                  USSS9nUR                  U 5        UR	                  USS	S9nUR                  R                  S
5        [        S5       H$  nUR                  U   R                  XU   SSS9  M&     g )Nr   ih  Z   )r   皙?皙?g333333?皙?r   皙?r]   r[   r[   T
horizontal)r   labelverticalF   r   top)angler$   r%   )r,   r-   r/   r0   add_axesset_thetagridspatchset_visiblerangeaxes
set_rgrids)anglesgrid_valuesr8   rectr^   r`   is          r>   test_polar_alignmentro   I   s     YYq#r"F,K
**,CDd$lCJf%||DJ|?HNNu%1Xay &% 	 	A r@   c                      [         R                  " 5       n [         R                  " SS/SS/5        [         R                  " SS/SS/5        [        U R                  5      S:X  d   S	5       eg )
Nr   ra   r]   rY   r      g333333?rZ   z!More than one polar Axes created.)r/   r0   r   lenri   )r8   s    r>   test_polar_twicers   ^   sU    
**,CIIq!fr2hIIq!fr2hsxx=ABBBr@   png)
extensionsc                    U R                  SS9nUR                  [        R                  " SS/5      SS/5        UR                  [        R                  " SS/5      SS/5        UR                  SS9nUR                  [        R                  " SS	/5      SS/5        UR                  [        R                  " SS
/5      SS/5        g )Nr   
projection   iMrY   r]   ra      if  )r1   r2   r,   deg2radfig_testfig_refr9   s      r>   test_polar_wrapr   e   s    					1BGGBJJT{#c3Z0GGBJJ2w#s,					0BGGBJJSz"S#J/GGBJJ3x 3*-r@   c                    SS K Js  Jn  UR                  5         / SQn/ SQn[        R
                  " U R                  5        [        R                  " U Vs/ s H  oUUR                  -  PM     snU5        UR                  SS9nUR                  [        R                  " U5      U5        UR                  SS9  g s  snf )Nr   g      >@g     F@g      N@     V@r   rI         @r   r   rw   deg)xlabel)matplotlib.testing.jpl_unitstesting	jpl_unitsregisterr/   r0   numberr   r   r1   r2   r,   r|   set)r~   r   unitsxsysr&   r9   s          r>   test_polar_units_1r   o   s    00	NN	!B	BJJxIIb)b599}b)2.					0BGGBJJrNBFF%F	 *s   B;c                    SS K Js  Jn  UR                  5         / SQnU Vs/ s H  oDUR                  -  PM     nn/ SQnU Vs/ s H  owUR
                  -  PM     nn[        R                  " U R                  5        [        R                  " XXSSS9  [        [        R                  " 5       R                  R                  5       UR                  5      (       d   eUR                  SS9n	U	R!                  ["        R$                  " U5      U5        U	R                  R'                  [(        R*                  R-                  S	R.                  5      5        U	R1                  SSS
9  g s  snf s  snf )Nr   r   r   radkm)
thetaunitsrunitsr   rw   z{:.12})r   ylabel)r   r   r   r   r   r   r/   r0   r   r   
isinstancegcaxaxisget_major_formatterUnitDblFormatterr1   r2   r,   r|   set_major_formatterrM   tickerFuncFormatterformatr   )
r~   r   r   r   r&   xs_degr   yys_kmr9   s
             r>   test_polar_units_2r   ~   s   00	NN	!B%'(R%))mRF(	B#%&2a\2E&JJxIIfd;cggioo99;,,. . . . 
				0BGGBJJrNBHH  !9!9(//!JKFF%F% )&s   E$E)zpolar_rmin.png)r   c                     [         R                  " SSS5      n S[         R                  -  U -  n[        R                  " 5       nUR                  / SQSS9nUR                  X5        UR                  S5        UR                  S	5        g )
Nr   r   {Gz?ra   r\   Tr   rI   rE   	r,   r-   r.   r/   r0   rd   r2   set_rmaxset_rminr6   r7   r8   r9   s       r>   test_polar_rminr      sg    
		!S$AbeeGAIE
**,C	*$	7BGGEKKKKr@   zpolar_negative_rmin.pngc                     [         R                  " SSS5      n S[         R                  -  U -  n[        R                  " 5       nUR                  / SQSS9nUR                  X5        UR                  S5        UR                  S5        g )Ng      r   r   ra   r\   Tr   r   r   s       r>   test_polar_negative_rminr      sg    
		$T"AbeeGAIE
**,C	*$	7BGGEKKKKr@   zpolar_rorigin.pngc                  6   [         R                  " SSS5      n S[         R                  -  U -  n[        R                  " 5       nUR                  / SQSS9nUR                  X5        UR                  S5        UR                  S	5        UR                  S
5        g )Nr   r   r   ra   r\   Tr   rI   rE   r   )
r,   r-   r.   r/   r0   rd   r2   r   r   set_roriginr   s       r>   test_polar_roriginr      ss    
		!S$AbeeGAIE
**,C	*$	7BGGEKKKKNN3r@   zpolar_invertedylim.pngc                  v    [         R                  " 5       n U R                  / SQSS9nUR                  SS5        g )Nr\   Tr   ra   r   )r/   r0   rd   rT   r8   r9   s     r>   test_polar_invertedylimr      s.    
**,C	*$	7BKK1r@   zpolar_invertedylim_rorigin.pngc                      [         R                  " 5       n U R                  / SQSS9nUR                  R	                  S5        UR                  SS/SS/SS9  UR                  S5        UR                  S5        g )	Nr\   Tr   r   ra   none)cr   )r/   r0   rd   yaxisset_invertedr2   marginsr   r   s     r>   test_polar_invertedylim_roriginr      se    
**,C	*$	7BHH$ GGQFQFfG%JJqMNN1r@   zpolar_theta_position.pngc                     [         R                  " SSS5      n S[         R                  -  U -  n[        R                  " 5       nUR                  / SQSS9nUR                  X5        UR                  SS	5        UR                  S
5        g )Nr   r   r   ra   r\   Tr   NW   	clockwise)	r,   r-   r.   r/   r0   rd   r2   set_theta_zero_locationset_theta_directionr   s       r>   test_polar_theta_positionr      sm    
		!S$AbeeGAIE
**,C	*$	7BGGEtR(;'r@   zpolar_rlabel_position.pngc                      [         R                  " 5       n U R                  SS9nUR                  S5        UR	                  SS9  g )Nr   rw   i;  auto)rotation)r/   r0   r1   set_rlabel_positionr5   r   s     r>   test_polar_rlabel_positionr      s9    
**,C	G	,B3NNFN#r@   zpolar_title_position.pngmpl20c                  n    [         R                  " 5       n U R                  SS9nUR                  S5        g )Nr   rw   foo)r/   r0   r1   	set_titler   s     r>   test_polar_title_positionr      s)    
**,C	G	,BLLr@   zpolar_theta_wedge.pngc                  ,   [         R                  " SSS5      n S[         R                  -  U -  n[         R                  " SSS5      n[         R                  " SSS5      nS	n[        R                  " [        U5      [        U5      S
S0SS9u  pV[        U5       H  u  px[        U5       H  u  pXgU	4   nUR                  X5        X:  a#  UR                  U5        UR                  U
5        O3UR                  U
5        UR                  U5        UR                  S5        UR                  SSXG[        U5      -     SS9  UR                  R                  SSS9  UR                  R                  5       R                   R#                  / SQS9  M     M     g )Nr   r   r   ra   g      .@g     v@r   g      I@)r'   ininoutr   T)      )
subplot_kwfigsizer   r   )r)   r*   r+   r   )label2Onr   )r   ra   g      @   rC   )steps)r,   r-   r.   r/   subplotsrr   	enumerater2   set_thetaminset_thetamaxr   r5   r   set_tick_paramsr   get_major_locatorbase
set_params)r6   r7   
theta_mins
theta_maxs
DIRECTIONSr8   axsrn   startjendr9   s               r>   test_polar_theta_limitsr      s]   
		!S$AbeeGAIE4-J4-J'J||C
OS_(/$*,HC j)
+FATBGGE{&$ $&&&{3NN4%/C
O0C%D$*  , HH$$dV$DHH&&(--88( 9 * , *r@   c                     U R                  SS0S9nUR                  SS9  UR                  SS9  UR                  SS0S9nUR                  S5        UR                  S5        g )	Nr   Tr   rC   )rb   rE   bottomrJ   r   set_rlimr   r   r}   s      r>   test_polar_rlimr     sc    			wo		6BKKBKKKrK			gt_		5BKKKKOr@   c                     U R                  SS0S9nUR                  SS/S9  UR                  SS0S9nUR                  S5        UR                  S5        g )Nr   Tr   rE   rC   r   rJ   r   r}   s      r>   test_polar_rlim_bottomr     sY    			wo		6BKKBxK 			gt_		5BKKKKOr@   c                      [         R                  " 5       R                  SS9n U R                  [        R
                  " S5      [        R
                  " S5      S-   5        U R                  5       S   S:X  d   eg )Nr   rw   rC   r   r   )r/   r0   r1   r2   r,   r-   get_ylimr9   s    r>   test_polar_rlim_zeror     sW    		!	!W	!	5BGGBIIbM299R=3./;;=q   r@   c                  ~   [         R                  " SS9  [         R                  " 5       n U R                  5       S:X  a  U R	                  5       S:X  d   e[         R
                  " S5        [         R                  " 5         [         R                  " 5       n U R                  5       S:X  a  U R	                  5       S:X  d   eg )Nr   rw   r   r   all)r/   subplotr   get_rminget_rmaxcloser   r   s    r>   test_polar_no_datar   "  s~    KK7#	B;;=A"++-1"444IIeIIK	B;;=A"++-1"444"4r@   c                      [         R                  " SS9  [         R                  " 5       n U R                  S5        U R	                  5       S:  d   eg )Nr   rw   logr   )r/   r   r   
set_rscaler   r   s    r>   test_polar_default_log_limsr   -  s9    KK7#	BMM%;;=1r@   c                      [         R                  " 5       R                  SS9n [        R                  " [
        5         U R                  S5        S S S 5        g ! , (       d  f       g = f)Nr   rw   datalim)r/   r0   r1   pytestraises
ValueErrorset_adjustabler   s    r>   !test_polar_not_datalim_adjustabler  4  sA    		!	!W	!	5B	z	"
)$ 
#	"	"s   A
A&c                     [         R                  " 5       n U R                  SS9nUR                  SS9  [         R                  " UR
                  R                  5       SS9  U R                  R                  5         UR                  R                  S   R                  R                  5       S:X  d   eUR
                  R                  S   R                  R                  5       S:X  d   eg )NTr   rY   )rF   F)visibler   )r/   r0   r1   gridsetpr   get_ticklabelscanvasdrawr   
majorTicksgridline	get_alphar   s     r>   test_polar_gridlinesr  :  s    
**,C	t	$BGG#GHHRXX$$&6JJOO88q!**446"<<<88q!**446"<<<r@   c                      [         R                  " SS0S9u  pU R                  R                  5         UR	                  U R                  R                  5       5      n[        UR                  / SQSS9  g )Nrx   r   r   )gyZ@g,ԚG=@g_)Gހ@gR!+|@r   )rtol)r/   r   r
  r  get_tightbboxget_rendererr   extents)r8   r9   bbs      r>   test_get_tightbbox_polarr  F  sW    ll|W&=>GCJJOO			#**113	4B


<5Jr@   c                    U R                  SSS9R                  S/S/S[        R                  -  SSS	9nU R                  S
SS9R                  S/S/S[        R                  -  SSS	9nUR                  SSS9R                  S/S/S[        R                  -  SSS	9nUR                  S
SS9R                  S/S/S[        R                  -  SSS	9ng )Ny   r   rw   r   r   r   r   F)	edgecolorantialiasedz   ra   rz   )r1   barr,   r.   )r~   r   p1p2p3p4s         r>   )test_polar_interpolation_steps_constant_rr"  N  s     

sw

73sQC255F3F 


sw

73sQCBEEV3G 


cg

63sQC255F3F 


cg

63sQCBEEV3G r@   c                 R   U R                  SS9R                  S[        R                  S-  /SS/5      u  nSUR	                  5       l        UR                  SS9R                  [        R                  " S[        R                  S-  S5      [        R                  " SSS5      5        g )Nr   rw   r   ra   r   d   e   )r1   r2   r,   r.   get_path_interpolation_stepslinspace)r~   r   ls      r>   )test_polar_interpolation_steps_variable_rr*  \  s    					1	6	62557|aV	LBA(+AJJL%7+00
AruuQw$bkk!Q&<>r@   c                     [         R                  " SS9n U R                  SS[        R                  -  5        U R                  SSS9  [
        R                  " [        SS	9   U R                  SS
[        R                  -  5        S S S 5        [
        R                  " [        SS	9   U R                  SSS9  S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr   rw   r   ra   r   i  )thetaminthetamaxz+angle range must be less than a full circle)matchr   i  )r/   r   set_thetalimr,   r.   r   r  r  r   s    r>   test_thetalim_valid_invalidr0  d  s    		(BOOAq255y!OOS3O/	zJ
L
1ruu9%
L 
zJ
L
s3
L 
L
L 
L
L 
Ls   !$C &C 
C
Cc                  ~   [         R                  " SS9n U R                  SS5        [        [        R
                  " U R                  5       U R                  5       45      5      S:X  d   eU R                  S5        [        [        R
                  " U R                  5       U R                  5       45      5      S:X  d   eg )Nr   rw   r   r   r   )ra   r   )r/   r   r/  tupler,   radiansget_thetaminget_thetamaxr   s    r>   test_thetalim_argsr6  p  s    		(BOOAqR__.0ABCDNNNOOFR__.0ABCDNNNr@   c                     [         R                  " SSS0S9u  pUR                  5        H#  nUR                  S[        R
                  5        M%     UR                  5        Hw  n[        R                  " UR                  R                  5       5      R                  5       n[        R                  " S5      U;   d   e[        R                  " S5      U;  a  Mw   e   g )NzAAAABB.rx   r   r   r   rX   r$  )r/   subplot_mosaicvaluesr/  r,   r.   degreesr   get_majorticklocstolistr   approx)r8   r   r9   ticklocss       r>   test_default_thetalocatorr?  x  s     !!|W57HCjjl
255! jjl::bhh88:;BBD}}R H,,,}}S!111 r@   c                      [         R                  " SS9n U R                  S[        R                  S-  5      nUR                  5       R                  S:  d   eg )Nr   rw   r   rq   r   )r/   r   axvspanr,   r.   r&  r'  )r9   spans     r>   test_axvspanrC    sB    		(B::aq!D==?//!333r@   c                     U R                  SSSSS0S9nS H   nUR                  U   R                  5         M"     UR                  SSSSS0S9nS H   nUR                  U   R                  5         M"     g )Nra   Trx   r   )sharexr   )r   r   r   )shareyr   )r   flatremove)r   r~   r   rn   s       r>   test_remove_shared_polarrI    s    
 

	1T|W&=  ?C 


	1T|W&=  ?C r@   c                  b   [         R                  " SSSS0SSS9u  pU R                  R                  5         US   R                  R
                  S   R                  5       (       d   eUS   R                  R
                  S   R                  5       (       d   e[         R                  " SSS0SSS9u  pU R                  R                  5         US	   R                  R
                  S   R                  5       (       d   eUS	   R                  R
                  S   R                  5       (       d   eg )
Nra   rx   r   T)r   rE  rF  r   r   zab
cdb)	r/   r   r
  r  r   r  get_visibler   r8  )r8   r   s     r>   "test_shared_polar_keeps_ticklabelsrM    s    ||	1,0dLHCJJOOt9??%%a(446666t9??%%a(446666!!lG4T$PHCJJOOs8>>$$Q'335555s8>>$$Q'335555r@   c                      [         R                  " SS9n U R                  SS5        U R                  S5        U R	                  SS/5        U R                  5       S:X  d   eg )	Nr   rw   r   r   rE   r]   rY   )r   rY   )r/   r   rA  axvliner2   r   r   s    r>   (test_axvline_axvspan_do_not_modify_rlimsrP    sM    		(BJJq!JJrNGGRH;;=G###r@   c                     [         R                  " SS9n U R                  SS5      S:X  d   eU R                  SS5      S:X  d   eU R                  SS5      S	:X  d   eU R                  SS5      S
:X  d   eU R                  SS5      S:X  d   eU R                  SS5      S:X  d   eU R                  SS5      S:X  d   eU R                  SS5      S:X  d   eU R                  SS5      S:X  d   eg )Nr   rw   r   {Gzt?u   θ=0.0π (0°), r=0.005r]   u   θ=0.00π (0°), r=0.100r   u   θ=0.000π (0.0°), r=1.000u   θ=0.3π (57°), r=0.005u   θ=0.32π (57°), r=0.100u   θ=0.318π (57.3°), r=1.000ra   u   θ=0.6π (115°), r=0.005u   θ=0.64π (115°), r=0.100u   θ=0.637π (114.6°), r=1.000)r/   r   format_coordr   s    r>   test_cursor_precisionrT    s    		(B??1e$(AAAA??1b!%??????1a $AAAA??1e$(BBBB??1b!%@@@@??1a $BBBB??1e$(CCCC??1b!%AAAA??1a $CCCCr@   c                  .   [         R                  " SS9n S nS U l        Xl        U R	                  SS5      S:X  d   eU R	                  SS5      S	:X  d   eU R	                  S
S5      S:X  d   eXl        S U l        U R	                  SS5      S:X  d   eU R	                  SS5      S:X  d   eU R	                  SS5      S:X  d   eXl        Xl        U R	                  SS5      S:X  d   eU R	                  SS5      S:X  d   eU R	                  SS5      S:X  d   eg )Nr   rw   c                     SU S-  -  $ )Nz$%1.1fMgư> )r&   s    r>   millions&test_custom_fmt_data.<locals>.millions  s    AdF##r@      g    sAu,   θ=3.8197186342π (687.54935416°), r=$20.0Mi  g    >Au-   θ=392.794399551π (70702.9919191°), r=$2.0Mr   r$  u!   θ=0.95493π (171.887°), r=$0.0Mg     jAr   u   θ=$0.2M, r=1.000r]   u   θ=$0.0M, r=0.100g    .ArR  u   θ=$1.0M, r=0.005g   ZAu   θ=$2.0M, r=$6000.0Mg NgmCl   {  u!   θ=$1000000000000.0M, r=$12891.3Ml   1;Ti 	Bu   θ=$3938980.6M, r=$1107.9M)r/   r   	fmt_xdata	fmt_ydatarS  )r9   rX  s     r>   test_custom_fmt_datar]    s'   		(B$ BLL??2s#'UUUU??4%)XXXX??1c"&IIII LBL??3"&9999??1b!%8888??3&*==== LL??3(,BBBB??4-1TTTT??5,/3OOOOr@   zpolar_log.pngc                  4   [         R                  " 5       n U R                  SS9nUR                  S5        UR	                  SS5        SnUR                  [        R                  " SS[        R                  -  U5      [        R                  " SSU5      5        g )	NTr   r   r   i  r$  r   ra   )
r/   r0   r1   r   r   r2   r,   r(  r.   logspace)r8   r9   ns      r>   test_polar_logra    sl    
**,C	t	$BMM%KK4AGGBKK1ruu9a("++aA*>?r@   c                  6   [         R                  " 5       n U R                  SS9nUR                  [        R
                  * [        R
                  5        UR                  R                  5        Vs/ s H  o"R                  5       PM     nnU/ SQ:X  d   eg s  snf )Nr   rw   )u   -180°u   -135°u   -90°u   -45°u   0°u   45°u   90°u   135°)	r/   r0   r1   r/  r,   r.   r   r	  get_text)r8   r9   r)  labelss       r>   test_polar_neg_theta_limsre    sp    
**,C	G	,BOORUUFBEE"$&HH$;$;$=>$=qjjl$=F>[[[[ ?s   0Borderbeforeafterzpolar_errorbar.png)baseline_imagesrA   r   c           
         [         R                  " SS[         R                  -  [         R                  S-  5      nU[         R                  -  S-  S-   n[        R                  " SS9nUR                  SS9nU S	:X  a7  UR                  S
5        UR                  S5        UR                  XSSSSSS9  g UR                  XSSSSSS9  UR                  S
5        UR                  S5        g )Nr   ra   r   rE   )r   r   )r   r   rw   rg  Nr]      r   seagreen)xerryerrcapsizefmtr   )	r,   r-   r.   r/   r0   r1   r   r   errorbar)rf  r7   r6   r8   r9   s        r>   test_polar_errorbarrt    s     IIaRUUBEEAI.ECA
**V
$C	G	,B
""3'
r"
E3S!
S
E3S!
S
""3'
r"r@   )4numpyr,   numpy.testingr   r   
matplotlibrM   r   r/   matplotlib.testing.decoratorsr   r   r?   rV   ro   rs   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r"  r*  r0  r6  r?  rC  rI  rM  rP  rT  r]  ra  re  markparametrizert  rW  r@   r>   <module>r{     s/    )   $ O #$I5AJ BJB %&iT6 ()*A +A(C (. ). ( ) (& )&( #$I6 7 ,-Y? @ &'y9	 :	 +,I> ? 34IF G -.i@( A( ./yA$ B$ -.g> ? *+9=* >*@ ( ) ( )!5%	=J (
I )
I (> )>	4O24 ( )
6$DP6 ?#95@ 6@\ 8W"56#7"8d!#! 7#r@   