
    P/Phr                         d dl Z d dlZd dlZd dlmZmZmZm	Z
mZmZmZ ddlmZmZ ddZd Z G d d	e
j                  Z G d
 de          Z G d de          Z G d de          ZdS )    N)_apiartistlinesaxispatches
transformscolors   )art3dproj3dTTTc                 l    t          j        |           } | |t          j        d| |z
            z  |z  z   S )zg
    For each coordinate where *axmask* is True, move *coord* away from
    *centers* by *deltas*.
    r
   )npasarraycopysign)coordcentersdeltasaxmasks       [/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mpl_toolkits/mplot3d/axis3d.py_move_from_centerr      s8    
 JuE6BK57?;;;fDDD    c                    | j                             |           | j                            |           | j                            d           | j                            d           | j                            d           | j                            d           | j                            ||           | j	                            dgdg           dS )z.Update tick line and label position and style.TF- r   N)
label1set_positionlabel2	tick1lineset_visible	tick2lineset_linestyle
set_markerset_datagridline)ticktickxstickyslabelposs       r   _tick_update_positionr*      s     	KX&&&KX&&&Nt$$$Nu%%%N  %%%Nb!!!NFF+++MA3$$$$$r   c                       e Zd ZdZdZddddddddddd	dd
ZdddZdddZ fdZ e	j
        e          e_          ej        dd           ed                     Zd Z ej        dd          d             Zd6 fd	Zd6 fd	Zd Zd Zd Zd Zd6dZd Zd Zd Zd  Zd6d!Zd6d"Zd# Zd$ Z d% Z!d& Z"d' Z#d( Z$d) Z%e&j'        d*             Z(e&j'        d+             Z)d6d,d-d.Z*  ej        dd/d0           ed1 d2                     Z+  ej        dd3d0           ed4 d5                     Z, xZ-S )7AxiszAn Axis class for the 3D plots.))r            )r
            )r   r
   r2   r/   )r-   r0   r1   r.   )r   r
   r0   r-   )r/   r2   r1   r.   r   r
   )r
   r   r0   )itickdirjuggled)r   r
   r0   r0   )r   r0   r
   )xyzN)rotate_labelc                    t                      S Nlocals)selfadirv_intervalxd_intervalxaxesr9   argskwargss           r   	_old_initzAxis._old_init6   s    xxr   c                    t                      S r;   r<   )r>   rB   r9   rD   s       r   	_new_initzAxis._new_init:   s    xxr   c           	      (   t          j        | j        | j        gg|R i |}d|v r|t          j        ddt          j        t          |           j                   d           |d         | j	        k    r-t          dt          |           j         d|d                   |d         }|d	         }|                    d
d          }|d         }| j	        }d| _        d| _        | j        |                                         | _        | j                            ddddt&          j        d| d         dddd           t&          j        d         rj| j                            dddddddd           | j        d                              d!t&          j        d"         t&          j        d"         d#i           n| j                            t&          j        d$         t&          j        d%         dt&          j        d&         t&          j        d'         t&          j        d(         dd           | j        d                              d!|d)v rt&          j        d*         nt&          j        d+         |d)v rt&          j        d,         nt&          j        d-         d#i            t+                      j        |g|R i | d.|v r | j        |d.           d/|v r | j        |d/           |                     |           |                                  d S )0Nr?   3.6zUThe signature of 3D Axis constructors has changed in %(since)s; the new signature is T)messagependingzCannot instantiate z with adir=rB   r9   rC    rD   defaultcenteranchor)vaharotation_modezaxes3d.zaxis.panecolorg?g?)inward_factoroutward_factor)labelcolorr&   z_internal.classic_modeg      ?)r   r   r   r
   )	linewidthrV   )?rX   rX   r
   g      ?r   )rV   rW   	linestyle)axislinegridr&   rW   zlines.linewidth)TFzaxes.linewidthzaxes.edgecolorz
grid.colorzgrid.linewidthzgrid.linestylexzzxtick.major.widthzytick.major.widthzxtick.minor.widthzytick.minor.widthrA   r@   )r   select_matching_signaturerE   rG   warn_deprecatedinspect	signaturetype__init__	axis_name
ValueError__name__get_label_position_tick_position_AXINFOcopy_axinfoupdatemplrcParamssuperset_data_intervalset_view_intervalset_rotate_label_init3d)r>   rC   rD   paramsrB   r9   name	__class__s          r   rb   zAxis.__init__=   s   /^T^,?/3? ? ?7=? ?V   <$T$ZZ%899 <  <EIK K K K f~//  "AtDzz7J "A "A.4Vn"A "A B B Bf~n-zz&"%%!~(' |D)..00$H'/1 1\"@D"@"@"@A!$"% 	
 
 	 	 	 <01 $	L*.FF/!$!$ ! !    L '','89<(9: )     L!$.>!? \*:; 
 !\,7!$.>!?!$.>!? 
! 
! 
 
 
 L ''=AT\\%899 \*=>=AT\\%899 \*=> 	) 	 	 	 	/////// F"""D"F=$9::F"""D"F=$9::l+++r   rI   T)rK   c                     | j         S r;   )rc   r>   s    r   <lambda>zAxis.<lambda>   s    dn r   c                    t          j        dd| j        d         d         | j        d         d         d          | _        t	          j        ddgddggd	
          | _        |                     | j        d                    | j        	                    | j                   | j        	                    | j                   t          j        g           | _        | j        	                    | j                   | j        	                    | j                   | j        	                    | j                   | j        j        | j        _        | j        j        | j        _        d S )N)r   r   rZ   rW   rV   T)xdataydatarW   rV   antialiasedr   r
   F)closed)mlinesLine2Drk   linempatchesPolygonpaneset_pane_colorrB   _set_artist_propsr   Line3DCollection	gridlinesrU   
offsetText	transData
_transformrx   s    r   rs   zAxis._init3d   s/   Ml:.{;,z*73	  	 $q!fq!f%5eDDD	DL1222	##DI...	##DI.../33	##DN333	##DJ///	##DO444 $	 3
%)Y%8"""r   c                 .    |                                   d S r;   )rs   rx   s    r   init3dzAxis.init3d   s    r   c                     t                                          |          }|D ]D}|j        |j        |j        |j        |j        fD ]!}|                    | j        j	                   "E|S r;   )
ro   get_major_ticksr   r!   r%   r   r   set_transformrB   r   r>   numtickstickstobjrv   s        r   r   zAxis.get_major_ticks   x    ''11 	7 	7AKaj!(AHN 7 7!!$)"566667 r   c                     t                                          |          }|D ]D}|j        |j        |j        |j        |j        fD ]!}|                    | j        j	                   "E|S r;   )
ro   get_minor_ticksr   r!   r%   r   r   r   rB   r   r   s        r   r   zAxis.get_minor_ticks   r   r   c                 D    t          j        g d|           || _        dS )z
        Set the ticks position.

        Parameters
        ----------
        position : {'lower', 'upper', 'both', 'default', 'none'}
            The position of the bolded axis lines, ticks, and tick labels.
        lowerupperbothrM   nonepositionN)r   check_in_listrh   r>   r   s     r   set_ticks_positionzAxis.set_ticks_position   s8     	HHH$,	. 	. 	. 	.&r   c                     | j         S )z
        Get the ticks position.

        Returns
        -------
        str : {'lower', 'upper', 'both', 'default', 'none'}
            The position of the bolded axis lines, ticks, and tick labels.
        )rh   rx   s    r   get_ticks_positionzAxis.get_ticks_position   s     ""r   c                 D    t          j        g d|           || _        dS )z
        Set the label position.

        Parameters
        ----------
        position : {'lower', 'upper', 'both', 'default', 'none'}
            The position of the axis label.
        r   r   N)r   r   rg   r   s     r   set_label_positionzAxis.set_label_position   s8     	HHH$,	. 	. 	. 	.'r   c                     | j         S )z
        Get the label position.

        Returns
        -------
        str : {'lower', 'upper', 'both', 'default', 'none'}
            The position of the axis label.
        )rg   rx   s    r   get_label_positionzAxis.get_label_position   s     ##r   c                     t          j        ||          }|| j        d<   | j                            |           | j                            |           | j                            |d                    d| _        dS )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*.
        rV   TN)mcolorsto_rgbark   r   set_edgecolorset_facecolor	set_alphastale)r>   rV   alphas      r   r   zAxis.set_pane_color   sr     u-- %W	&&&	&&&	E"I&&&


r   c                 "    || _         d| _        dS )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     r   rr   zAxis.set_rotate_label   s    
 !


r   c                 D    | j         | j         S t          |          dk    S )Nr/   )r   len)r>   texts     r   get_rotate_labelzAxis.get_rotate_label  s$    )%%t99q= r   c                 R   t          j        | j                                        | j                                        | j                                        g          j        \  }}|d         |d         |d         |d         |d         |d         f}| j                            |          }t          j        d          }t          j        d          }t          d          D ]_}t          j
        || j        d|z           df                   ||<   t          j
        || j        d|z  dz            df                   ||<   `||k     }t          j        ||z
            t          j        t                    j        k    }	t          j        |	          dk    rt          j        |	           d         d         }
|
dk    rt          j        dd|d         g          }nG|
dk    rt          j        d|d         dg          }n#|
dk    rt          j        |d         ddg          }||||fS )Nr   r
   r0   r-   TF)r   arrayrB   
get_xbound
get_ybound
get_zboundT_transformed_cubezerosrangemean_PLANESabsfinfofloatepssumwhere)r>   minsmaxsboundsbounds_projmeans_z0means_z1r3   highsequalsverticals              r   _get_coord_infozAxis._get_coord_info  s   XI  ""I  ""I  ""
   	 	d a$q'47DGT!Wd1gEi11&99 8A;;8A;;q 	K 	KA'+dl1q5.A1.D"EFFHQK'+dl1q519.Eq.H"IJJHQKK8# 8+,,0CC6&>>Qx((+A.H1}}$eAh!788Q$a%!899Q%(E5!9::T;--r   c                 .    d||z   z  }d}||z
  |z  }||fS )N      ?g{Gz?rL   )r>   r   r   r   scaler   s         r   _calc_centers_deltaszAxis._calc_centers_deltas-  s/    %
 +&r   c                 p   ||g}|ddd         }|||g|||g|||gg}|| j         j                 | j        d                  }| j        d         }|d                                         }|dk    r*|d         |d                  |d         |d                  k     s0|dk    rH|d         |d                  |d         |d                  k    r|d         |d                  ||d         <   n|d         |d                  ||d         <   |                                }	|d         |d                  |	|d         <   ||	fS )	z3Get the edge points for the black bolded axis line.Nr   r3   r5   r   r   r
   r   )rB   _vertical_axisrk   rj   )
r>   minmaxmaxminr   mbmb_revmmr5   edge_point_0edge_point_1s
             r   _get_axis_line_edge_pointszAxis._get_axis_line_edge_points7  sC   
 fDDbD66"VVR$82r2,G	()$,s*;<,y)!uzz||  RU72;%7"Q%:L%L%LW$$Awr{);beGBK>P)P)P(*1gbk(:L%%')!uWQZ'8L$#((**#%a5#4WQZ \))r   c                    g }g }g }|dv r#|                      ||          \  }}|g}|g}dg}n|                      ||d          \  }	}
|                      ||d          \  }}|dv r?|                    |	           |                    |
           |                    d           |dv r?|                    |           |                    |           |                    d           |||fS )N)NrM   rM   r   r   r   )r   r   )r   r   )r   append)r>   r   r   axis_positionedgep1sedgep2sr   edgep1edgep2edgep1_ledgep2_ledgep1_uedgep2_us                r   _get_all_axis_line_edge_pointsz#Axis._get_all_axis_line_edge_pointsO  s0   ---!<<VVLLNFFhGhG!{HH!%!@!@JQ "A "S "SHh!%!@!@JQ "A "S "SHh 111x(((x(((((( 111x(((x(((((())r   c                    t          j        d|           d | j                                        D             }t	          j        | j        j        dz   d          dz
  }t	          j        | j        j        d          }|dk    r%|dk    rg d}ng d	}d|cxk    rdk     rn n0d
|d<   n*|dk    r$|dk    rg d}ng d}d|cxk    rdk     rn nd|d<   d | j                                        D             }| j	        d         }| j        j
        }|dz
  }t	          j        ||           t	          j        ||                   |         }	|	S )aS  
        Get the direction of the tick.

        Parameters
        ----------
        position : str, optional : {'upper', 'lower', 'default'}
            The position of the axis.

        Returns
        -------
        tickdir : int
            Index which indicates which coordinate the tick line will
            align with.
        )r   r   rM   r   c                     g | ]
}|d          S )r4   rL   .0vs     r   
<listcomp>z%Axis._get_tickdir.<locals>.<listcomp>z  s    EEE!9EEEr      ih  r   r   )r0   r0   r   )r
   r   r   r
   r0   r   )r
   r   r
   )r0   r0   r
   c                     g | ]
}|d          S )r3   rL   r   s     r   r   z%Axis._get_tickdir.<locals>.<listcomp>  s    888Q!C&888r   r3   )r   r   ri   valuesr   modrB   elevazimrk   r   roll)
r>   r   tickdirs_baseelev_modazim_modinfo_ir3   vert_axjr4   s
             r   _get_tickdirzAxis._get_tickdirh  s    	88LLLL FEt|/B/B/D/DEEE6$).3.44s:6$).#..w1}} )		 )		H""""s"""""#$a   1}} )		 )		H""""s"""""#$a 88$,"5"5"7"7888L)*aK'&1"%%bgmQ&?&?@Cr   c                   	 |                                  \  }}	}| j        }|d         }||         s||         }| j        d|z           }n||         }| j        d|z  dz            }t          j        	fd|D                       }||fS )Nr3   r0   r
   c                      g | ]
}|         S rL   rL   )r   ptcs     r   r   z$Axis.active_pane.<locals>.<listcomp>  s    ---!1---r   )r   rk   r   r   r   )
r>   r   r   r   infoindexlocplanexysr  s
            @r   active_panezAxis.active_pane  s     $ 4 4 6 6dB|S	U| 	0u+CLU+EEu+CLUQ/Eh----u---..Cxr   c                    |                     d|                                            |                                 \  }}|ddddf         | j        _        | j                            |           |                    d           dS )z
        Draw pane.

        Parameters
        ----------
        renderer : `~matplotlib.backend_bases.RendererBase` subclass
        pane3dgidNr0   )
open_groupget_gidr  r   xydrawclose_group)r>   rendererr  r	  s       r   	draw_panezAxis.draw_pane  s     	H$,,..999##%%S111bqb5z		x   X&&&&&r   c                 .    g d}d|| j         d         <   |S )Nr   Fr3   )rk   )r>   r   s     r   _axmaskzAxis._axmask  s#    ###$)t|C !r   c                    |                                  }| j        }	|	d         }
|	d         }|                                 \  }}}}|                     ||          \  }}|                     |          }||         r||         n||          }|	d         }|d         |z  }|d         |z  }|d         }||         }||z   }||z
  }d}||z  }|D ]0}|                                }|                                ||
<   |||<   t          j        g || j	        j
        R  \  }}}|||<   t          j        g || j	        j
        R  \  }}} |                                |z   |z  }!|||<   t          |||!|                                           }t          j        g || j	        j
        R  \  }"}#}$t          |||f||f|"|#f           |j                            ||j                            |                    |           2d S )Nr3   r5   r&   rT   rS   rW   g       @)_update_ticksrk   r   r   r  rj   get_locr   proj_transformrB   Mget_padr   r  r*   r   set_linewidth_majorr  )%r>   r  r   r   r   r   deltas_per_pointposr   r  r  r5   r   r   r  r4   	tickdelta	tick_infotick_outtick_intick_lwedgep1_tickdirout_tickdir
in_tickdirdefault_label_offsetpointsr&   x1y1z1x2y2z2labeldeltaslxlylzs%                                        r   _draw_tickszAxis._draw_ticks  s8   ""$$|S	y/ $ 4 4 6 6dB33D$?? ##C((',W~KF7OOF7O;K	L	-.:O,y8K($x/#g-
!!F* 	  	 D++--CCJ&CL.AATY[AAAJBB%CL.AATY[AAAJBB  <<>>,@@FJK)CL#C+t||~~NNC.AATY[AAAJBB!$R2r(RHEEEN(()=>>>IIh%	  	 r   c
                    | j         }
|
d         }|
d         }|
d         }|d         dk    r|}d}n|}d}t          ||||                                           }t          j        g || j        j        R  \  }}}| j                            | j	        j
                                                   | j                            ||f           t          j        t          j        t          j        |	|                              }| j                            |           | j                            d           t          j        g || j        j        R  }||         |||f         k    rV||         |||f         k    r?t          j        |          dz  dk    r$|                                g dk    r|d	v rd
}nBd}n?d
}n<||         |||f         k    r&t          j        |          dz  dk    r|dk    rdnd
}nd}| j                            d           | j                            |           | j                            |           d S )Nr3   r5   r4   r0   r   r
   rO   )FTT)r
   r0   leftrightrN   )rk   r   r  r   r  rB   r  r   set_textmajor	formatter
get_offsetr   r   _norm_text_angler   rad2degarctan2set_rotationset_rotation_modecount_nonzerotolistset_vaset_har  )r>   r  r   r   r4  r   r   pepdxdyr  r  r5   r4   
outeredgep
outerindexr#  olxolyolzanglecentptaligns                          r   _draw_offset_textzAxis._draw_offset_text  sf    |S	y/y/ 1:??JJJJJ
G[ $0 0-@s@DIK@@@S#  !5!@!@!B!BCCC$$c3Z000&rz"*R2D2D'E'EFF$$U+++ 	))(333" &====='?S*!4555uUJ%6!777(//!3q88 <<>>%8%8%888Uf__"EE#EE  uE:$5 666(//!3q88#(A::6  x(((u%%%X&&&&&r   c                    | j         d         }d||z   z  }	t          |	|||                                           }	t          j        g |	| j        j        R  \  }
}}| j                            |
|f           | 	                    | j        
                                          rSt          j        t          j        t          j        ||                              }| j                            |           | j                            |d                    | j                            |d                    | j                            |d                    | j                            |           d S )NrU   r   rP   rQ   rR   )rk   r   r  r   r  rB   r  rU   r   r   get_textr   r@  r   rA  rB  rC  rG  rH  rD  r  )r>   r  r   r   r4  r   rJ  rK  rU   lxyztlxtlytlzrQ  s                 r   _draw_labelszAxis._draw_labels'  sA   W% fvo& wT\\^^LL-AtATY[AAAS#
c
+++  !4!4!6!677 	+*2:bjR6H6H+I+IJJEJ##E***
%+&&&
%+&&&
$$U?%;<<<
!!!!!r   c                    | j         j        | j        _        | j         j        | j        _        |                    d|                                            |                                 \  }}}}|                     ||          \  }}| 	                    d          j
                                        }|                    | j         j        j                  }	t          d|	z            }
d|
z  }d}| j        |z   |z  |z  }t#          j        |||          }t#          j        | ||          }t'          |                     ||| j                   D ]\  }}}t-          j        ||g| j         j                  }t#          j        |          }| j         j                            |dd	d
f         g          | j         j                            |dd	df         g          z
  d         \  }}| j                            |d         |d
                    | j                            |           |                     |||||||           |                     |||||||||	  	         t'          |                     ||| j                    D ]\  }}}t-          j        ||g| j         j                  }t#          j        |          }| j         j                            |dd	d
f         g          | j         j                            |dd	df         g          z
  d         \  }}| !                    |||||||           |"                    d           d| _#        d S )Naxis3dr  F)rootg      R@0   g      5@r   r0   r
   )$rB   r   rU   r   r   r  r  r   r   
get_figuredpi_scale_transinverted	transformbboxsizer   labelpadr   r   zipr   rh   r   _proj_trans_pointsr  r   	transAxesr   r$   r  r8  rT  rg   r[  r  r   )r>   r  r   r   r  r   r   r   reltoinches	ax_inchesax_points_estimater"  default_offsetr4  r   r   r   r   r#  rI  rJ  rK  s                         r   r  z	Axis.draw7  s|    $	 3
%)Y%8"H$,,..999 !% 4 4 6 6dB33D$?? oo5o11AJJLL))$).*=>>	 y11 22}~59IIFR %t,,5&$--#&(K(K+164;N)P )P $Q 	@ 	@FFC +VV,<dikJJC*S//C i)33S1a[MBBi)33S1a[MBBCDEGFB Is1vs1v...INN8$$$ Xvw-s4 4 4 ""8VV[#*E3B@ @ @ @ $'(K(K+164;O)Q )Q $R 		V 		VFFC +VV,<dikJJC*S//Ci)33S1a[MBBi)33S1a[MBBCDEGFB hWbRTUUUUX&&&


r   c                    | j         j        sd S |                    d|                                            |                                 }t          |          r| j        }|d         }|                                 \  }}}}t          j	        |||          }	t          j	        | ||          }
t          j
        |	t          |          df          }d |D             |d d |f<   t          j        |||gd          }|
|dz
           |d d d|dz
  f<   |
|dz
           |d d d|dz
  f<   | j                            |           |d	         }| j                            |d
                    | j                            |d                    | j                            |d                    | j                                         | j                            |           |                    d           d S )Ngrid3dr  r3   r
   c                 6    g | ]}|                                 S rL   )r  )r   r&   s     r   r   z"Axis.draw_grid.<locals>.<listcomp>  s     ???dllnn???r   )r   r0   r   r[   rV   rW   rY   )rB   
_draw_gridr  r  r  r   rk   r   r   r   tilestackr   set_segments	set_colorr   r"   do_3d_projectionr  r  )r>   r  r   r  r  r   r   r  r   r   r   xyz0r   gridinfos                 r   	draw_gridzAxis.draw_gridx  s   y# 	FH$,,..999""$$u:: 	*<DIE$($8$8$:$:!D$EXeT400FXufdD11F 76CJJ?33D?????DEN HdD$/a888E%+EAI%6E!!!Q	/"%+EAI%6E!!!Q	/"N''...F|HN$$Xg%6777N((+)>???N((+)>???N++---N)))X&&&&&r   F)for_layout_onlyc                f   |                                  sd S |                                 }|                                 }g |                     t	          |                    |                     t	          |                    }|                                 \  }}||k    r||}}|                                                     ||g          }g }	|D ]v}
	 |                                                     |
	                                          }t          j        ||          r|	                    |
           g# t          $ r Y sw xY w|	}|                     ||          \  }}g }| j                                         r-|                    | j                            |                     | j                                         rH|sF| j                                        r-|                    | j                            |                     t          j                            g |||          S r;   )get_visibleget_majorticklocsget_minorticklocsr   r   r   get_view_intervalget_transformrc  r  mtransforms_interval_contains_closer   AssertionError_get_ticklabel_bboxesr   get_window_extentrU   rV  Bboxunion)r>   r  rz  
major_locs
minor_locsr   view_low	view_high
interval_tticks_to_drawr&   loc_tbb_1bb_2others                  r   get_tightbboxzAxis.get_tightbbox  s8   !! 	F ++--
++--
9$&&s:77 9&&s:779"4466)i"+XiH''))33Xy4IJJ
 		/ 		/D/**,,66t||~~FF 7
EJJ /!((... "     //x@@
d9  "" 	@LL44X>>???J""$$ 	A_ 	A
##%%	ALL55h??@@@%%&<&<t&<e&<===s   9D::
EEget_data_interval)alternativerK   c                 *    |                                  S r;   )r  rx   s    r   ry   zAxis.<lambda>      $"8"8":": r   c                      | j         | S r;   )rp   r>   r   s     r   ry   zAxis.<lambda>      *@$*@&*I r   r  c                 *    |                                  S r;   )r  rx   s    r   ry   zAxis.<lambda>  r  r   c                      | j         | S r;   )rq   r  s     r   ry   zAxis.<lambda>  r  r   r;   ).re   
__module____qualname____doc__r   ri   rE   rG   rb   r_   r`   __signature__r   
deprecatedpropertyr?   rs   r   r   r   r   r   r   r   r   rr   r   r   r   r   r   r  r  r  r  r8  rT  r[  r   allow_rasterizationr  ry  r  
d_interval
v_interval__classcell__)rv   s   @r   r,   r,   &   s       ))G y99y99y99 G  $     /3     Q Q Q Q Qf /W.y99H/?4?5$///,,--/ /D9 9 9* T_UD)))  *)          ' ' '	# 	# 	#( ( (	$ 	$ 	$   $  ! ! !. . .@  * * * *0* * * *2* * *X  ' ' '  
*  *  * XE' E' E'N" " "  > >  >@ $' $'  $'P,>e ,> ,> ,> ,> ,>\>.> > >H::IIK KL LJ>.> > >H::IIK KL LJJJJJr   r,   c                   f    e Zd ZdZ ej        ddd          \  ZZ ej        ddd          \  ZZ	dS )XAxisr6   view
xy_viewLim	intervalxdata
xy_dataLimN
re   r  r  rc   maxis_make_getset_intervalr  rq   r  rp   rL   r   r   r  r    Y        I+F5+Fk,+ ,+((+F5+Fk,+ ,+((((r   r  c                   f    e Zd ZdZ ej        ddd          \  ZZ ej        ddd          \  ZZ	dS )YAxisr7   r  r  	intervalyr  r  Nr  rL   r   r   r  r    r  r   r  c                   f    e Zd ZdZ ej        ddd          \  ZZ ej        ddd          \  ZZ	dS )ZAxisr8   r  
zz_viewLimr  r  
zz_dataLimNr  rL   r   r   r  r    r  r   r  )r   )r_   numpyr   
matplotlibrm   r   r   r   r   r   r  r   r   r   r  r	   r   r   r   r   r   r*   r  r,   r  r  rL   r   r   <module>r     s  
         2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2        E E E E
% 
% 
%p
L p
L p
L p
L p
L5; p
L p
L p
Lf+ + + + +D + + ++ + + + +D + + ++ + + + +D + + + + +r   