
    hD                     L   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\" 5       S 5       r\" 5       S 5       r\" 5       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)/S%SE9SF 5       5       r3g)G    N)assert_allclose)pyplot)image_comparisoncheck_figures_equal
polar_axes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           M/var/www/html/env/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    polar_coordsTgy&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   
      r7         ?)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Ellipser0   r1   r2   
add_artistset_clip_boxbboxr4   r-   r/   r5   set_xlimset_ylim)elr9   r:   s      r?   test_polar_coord_annotationsrX   ,   s     
		VRs#		FB
**,C		(BMM"OOBGGKK	EE"Hc?a~ "'$?$*",  	 KKRKKRrA   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.   r0   r1   add_axesset_thetagridspatchset_visiblerangeaxes
set_rgrids)anglesgrid_valuesr9   rectr`   rb   is          r?   test_polar_alignmentrq   I   s     YYq#r"F,K
**,CDd$lCJf%||DJ|?HNNu%1Xay &% 	 	A rA   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   rc   r_   r[   r      g333333?r\   z!More than one polar Axes created.)r0   r1   r   lenrk   )r9   s    r?   test_polar_twiceru   ^   sU    
**,CIIq!fr2hIIq!fr2hsxx=ABBBrA   c                    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   iMr[   r_   rc      if  )r2   r3   r-   deg2radfig_testfig_refr:   s      r?   test_polar_wrapr   e   s    					1BGGBJJT{#c3Z0GGBJJ2w#s,					0BGGBJJSz"S#J/GGBJJ3x 3*-rA   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   rK         @r   r   rw   deg)xlabel)matplotlib.testing.jpl_unitstesting	jpl_unitsregisterr0   r1   numberr   r   r2   r3   r-   r|   set)r~   r   unitsxsysr'   r:   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   r0   r1   r   r   
isinstancegcaxaxisget_major_formatterUnitDblFormatterr2   r3   r-   r|   set_major_formatterrO   tickerFuncFormatterformatr   )
r~   r   r   r   r'   xs_degr   yys_kmr:   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)
polar_rmin)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?rc   r^   Tr   rK   rG   	r-   r.   r/   r0   r1   rf   r3   set_rmaxset_rminr7   r8   r9   r:   s       r?   test_polar_rminr      sg    
		!S$AbeeGAIE
**,C	*$	7BGGEKKKKrA   polar_negative_rminc                     [         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   rc   r^   Tr   r   r   s       r?   test_polar_negative_rminr      sg    
		$T"AbeeGAIE
**,C	*$	7BGGEKKKKrA   polar_roriginc                  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   rc   r^   Tr   rK   rG   r   )
r-   r.   r/   r0   r1   rf   r3   r   r   set_roriginr   s       r?   test_polar_roriginr      ss    
		!S$AbeeGAIE
**,C	*$	7BGGEKKKKNN3rA   zpolar_invertedylim.pngc                  v    [         R                  " 5       n U R                  / SQSS9nUR                  SS5        g )Nr^   Tr   rc   r   )r0   r1   rf   rV   r9   r:   s     r?   test_polar_invertedylimr      s.    
**,C	*$	7BKK1rA   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   rc   none)cr   )r0   r1   rf   yaxisset_invertedr3   marginsr   r   s     r?   test_polar_invertedylim_roriginr      se    
**,C	*$	7BHH$ GGQFQFfG%JJqMNN1rA   polar_theta_positionc                     [         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   rc   r^   Tr   NW   	clockwise)	r-   r.   r/   r0   r1   rf   r3   set_theta_zero_locationset_theta_directionr   s       r?   test_polar_theta_positionr      sm    
		!S$AbeeGAIE
**,C	*$	7BGGEtR(;'rA   polar_rlabel_positionc                      [         R                  " 5       n U R                  SS9nUR                  S5        UR	                  SS9  g )Nr   rw   i;  auto)rotation)r0   r1   r2   set_rlabel_positionr6   r   s     r?   test_polar_rlabel_positionr      s9    
**,C	G	,B3NNFN#rA   zpolar_title_position.pngmpl20c                  n    [         R                  " 5       n U R                  SS9nUR                  S5        g )Nr   rw   foo)r0   r1   r2   	set_titler   s     r?   test_polar_title_positionr      s)    
**,C	G	,BLLrA   polar_theta_wedgec                  ,   [         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   rc   g      .@g     v@r   g      I@)r(   ininoutr   T)      )
subplot_kwfigsizer   r   )r*   r+   r,   r   )label2Onr   )r   rc   g      @   rE   )steps)r-   r.   r/   r0   subplotsrt   	enumerater3   set_thetaminset_thetamaxr   r6   r   set_tick_paramsr   get_major_locatorbase
set_params)r7   r8   
theta_mins
theta_maxs
DIRECTIONSr9   axsrp   startjendr:   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 * , *rA   png)
extensionsc                     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   rE   )rd   rG   bottomrL   r   set_rlimr   r   r}   s      r?   test_polar_rlimr     sc    			wo		6BKKBKKKrK			gt_		5BKKKKOrA   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   rG   rE   r   rL   r   r}   s      r?   test_polar_rlim_bottomr     sY    			wo		6BKKBxK 			gt_		5BKKKKOrA   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   rE   r   r   )r0   r1   r2   r3   r-   r.   get_ylimr:   s    r?   test_polar_rlim_zeror     sW    		!	!W	!	5BGGBIIbM299R=3./;;=q   rA   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)r0   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"4rA   c                      [         R                  " SS9  [         R                  " 5       n U R                  S5        U R	                  5       S:  d   eg )Nr   rw   logr   )r0   r   r   
set_rscaler   r   s    r?   test_polar_default_log_limsr  -  s9    KK7#	BMM%;;=1rA   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)r0   r1   r2   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   r[   )rH   F)visibler   )r0   r1   r2   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"<<<rA   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)r0   r   r  r  get_tightbboxget_rendererr   extents)r9   r:   bbs      r?   test_get_tightbbox_polarr  F  sW    ll|W&=>GCJJOO			#**113	4B


<5JrA   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   rc   rz   )r2   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 rA   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   rc   r   d   e   )r2   r3   r-   r/   get_path_interpolation_stepslinspace)r~   r   ls      r?   )test_polar_interpolation_steps_variable_rr2  \  s    					1	6	62557|aV	LBA(+AJJL%7+00
AruuQw$bkk!Q&<>rA   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   rc   r   i  )thetaminthetamaxz+angle range must be less than a full circle)matchr   i  )r0   r   set_thetalimr-   r/   r  r	  r
  r   s    r?   test_thetalim_valid_invalidr8  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   )rc   r   )r0   r   r7  tupler-   radiansget_thetaminget_thetamaxr   s    r?   test_thetalim_argsr>  p  s    		(BOOAqR__.0ABCDNNNOOFR__.0ABCDNNNrA   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   rZ   r,  )r0   subplot_mosaicvaluesr7  r-   r/   degreesr   get_majorticklocstolistr  approx)r9   r   r:   ticklocss       r?   test_default_thetalocatorrG  x  s     !!|W57HCjjl
255! jjl::bhh88:;BBD}}R H,,,}}S!111 rA   c                      [         R                  " SS9n U R                  S[        R                  S-  5      nUR                  5       R                  S:  d   eg )Nr   rw   r   rs   r   )r0   r   axvspanr-   r/   r.  r/  )r:   spans     r?   test_axvspanrK    sB    		(B::aq!D==?//!333rA   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 )Nrc   Trx   r   )sharexr   )r   r   r   )shareyr   )r   flatremove)r   r~   r   rp   s       r?   test_remove_shared_polarrQ    s    
 

	1T|W&=  ?C 


	1T|W&=  ?C rA   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 )
Nrc   rx   r   T)r   rM  rN  r   r   zab
cdb)	r0   r   r  r  r   r  get_visibler   r@  )r9   r   s     r?   "test_shared_polar_keeps_ticklabelsrU    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5rA   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   rG   r_   r[   )r   r[   )r0   r   rI  axvliner3   r   r   s    r?   (test_axvline_axvspan_do_not_modify_rlimsrX    sM    		(BJJq!JJrNGGRH;;=G###rA   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.000rc   u   θ=0.6π (115°), r=0.005u   θ=0.64π (115°), r=0.100u   θ=0.637π (114.6°), r=1.000)r0   r   format_coordr   s    r?   test_cursor_precisionr\    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CrA   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##rA      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    .ArZ  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)r0   r   	fmt_xdata	fmt_ydatar[  )r:   r`  s     r?   test_custom_fmt_datare    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OrA   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   rc   )
r0   r1   r2   r  r   r3   r-   r0  r/   logspace)r9   r:   ns      r?   test_polar_logri    sl    
**,C	t	$BMM%KK4AGGBKK1ruu9a("++aA*>?rA   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°)	r0   r1   r2   r7  r-   r/   r   r  get_text)r9   r:   r1  labelss       r?   test_polar_neg_theta_limsrm    sp    
**,C	G	,BOORUUFBEE"$&HH$;$;$=>$=qjjl$=F>[[[[ ?s   0Borderbeforeafterpolar_errorbar)baseline_imagesrC   r   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   rc   r   rG   )r   r   )r   r   rw   ro  Nr_      r   seagreen)xerryerrcapsizefmtr   )	r-   r.   r/   r0   r1   r2   r   r   errorbar)rn  r8   r7   r9   r:   s        r?   test_polar_errorbarr}    s     IIaRUUBEEAI.ECA
**V
$C	G	,B
""3'
r"
E3S!
S
E3S!
S
""3'
r"rA   )4numpyr-   numpy.testingr   r  
matplotlibrO   r   r0   matplotlib.testing.decoratorsr   r   r@   rX   rq   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r*  r2  r8  r>  rG  rK  rQ  rU  rX  r\  re  ri  rm  markparametrizer}  r_  rA   r?   <module>r     s    )   $ O <.	u=J >JB >")6 ()*A +A(C . .   & &( <.	2 3 (); < ?#95	 6	 +,I> ? 34IF G )*)<( =( *+9=$ >$ -.g> ? &'y9* :*@ ( ) ( )!5%	=J (
I )
I (> )>	4O24 ( )
6$DP6 ?#95@ 6@\ 8W"56#3"4$#WG5#5 7#rA   