Files
old-parkingkoncept/parkingkonceptvenv/lib/python3.7/site-packages/matplotlib/__pycache__/axis.cpython-37.pyc

826 lines
70 KiB
Plaintext
Raw Normal View History

2019-11-17 12:44:16 +01:00
B
U<>]<5D>^<00>@sldZddlZddlZddlZddlmZddlmZ ddl
m Z ddl m Z ddlmZddlmZddlmZddlmZddlmZddlmZe<02> e!<21>Z"dZ#e <09>$ej%<25>Z&e&<26>'<27>Z(dd<06>e&j)<29>*<2A>D<00>Z+dd<06>e(e+D<00>Z,Gdd <09>d e j-<2D>Z.Gd
d <0B>d e.<2E>Z/Gd d <0A>d e.<2E>Z0Gdd<0F>de1<65>Z2Gdd<11>de1<65>Z3Gdd<13>de j-<2D>Z4dd<15>Z5Gdd<17>de4<65>Z6Gdd<19>de4<65>Z7dS)z)
Classes for the ticks and x and y axis.
<EFBFBD>N)<01>rcParams<6D><73>cCsg|]}t|<01>d<00>qS)r)<01>list)<02>.0<EFBFBD>d<>r<00>7/tmp/pip-install-i8dhxrtk/matplotlib/matplotlib/axis.py<70>
<listcomp>sr cCsg|] }d|<00>qS)<01>grid_r)r<00>namerrrr sc@sleZdZdZdFdd<07>Zx\dD]T\ZZeej d ed
<EFBFBD>
e<06>d <0B>efd d <0A><01>ej d ed<0E>
e<06>d <0B>efdd <0A><01><01>e <0B>e<qW[[eej d ddd<11>dd<13><00><01>Z dd<15>Z dd<17>Zdd<19>Zdd<1B>Zdd<1D>ZdGdd<1F>Zd d!<21>Zd"d#<23>Zd$d%<25>Zd&d'<27>Zd(d)<29>Zd*d+<2B>Zd,d-<2D>Zd.d/<2F>Zd0d1<64>Zd2d3<64>Zejd4d5<64><00>Zd6d7<64>Z e Z!d8d9<64>Z"d:d;<3B>Z#d<d=<3D>Z$d>d?<3F>Z%d@dA<64>Z&dBdC<64>Z'dDdE<64>Z(dS)H<>Ticka<6B>
Abstract base class for the axis ticks, grid lines and labels.
Ticks mark a position on an Axis. They contain two lines as markers and
two labels; one each for the bottom and top positions (in case of an
`.XAxis`) or for the left and right positions (in case of a `.YAxis`).
Attributes
----------
tick1line : `.Line2D`
The left/bottom tick marker.
tick2line : `.Line2D`
The right/top tick marker.
gridline : `.Line2D`
The grid line associated with the label position.
label1 : `.Text`
The left/bottom tick label.
label2 : `.Text`
The right/top tick label.
NTFrcKs~tj<01>|<00>| dkrL|r.tddkr.td} n|sHtddkrHtd} nd} |<00>|j<05>||_|j<07><08>}||_ ||_
|dkr<>|r<>td|}n td|}||_ |dkr<>|r<>td |}n td
|}||_ |dkr<>td |}||_ |dk<08>r|<11>rtd |}n td |}||_|
dk<08>r,td |}
|
|_| dk<08>rHtd|} | |_|<00>|<12>| dk<08>r~|<11>rvtjjd} ntjj} | |_|dk<08>r<>tdn||_|dk<08>r<>tdn||_|dk<08>r<>tdn||_|dk<08>r<>tdn||_dd<15>|<17><1A>D<00>|_|<00>|<07>|<00><1D>|_|<00><1F>|_ |<00>!<21>|_"|<00>#<23>|_$|<00>%<25>|_&|j"<22>'| <0C>|j<1E>'| <0A>|j <20>'|<0E>|j$<24>'|<0F>|j&<26>'|<10>|<00>(|<02>dS)z<>
bbox is the Bound2D bounding box in display coords of the Axes
loc is the tick location in data coords
size is the tick size in points
Nzaxes.grid.which)<02>both<74>majorz axes.grid)r <00>minorFz %s.major.sizez %s.minor.sizez%s.major.widthz%s.minor.widthz%s.colorz %s.major.padz %s.minor.padz %s.labelsizeg{<14>G<EFBFBD>z<EFBFBD>?z
grid.colorzgrid.linestylezgrid.linewidthz
grid.alphacSsi|]\}}||dd<01><00>qS)<02>Nr)r<00>k<>vrrr<00>
<dictcomp><3E>sz!Tick.__init__.<locals>.<dictcomp>))<29>martist<73>Artist<73>__init__r<00>
set_figure<EFBFBD>figure<72>axes<65>__name__<5F>lower<65>_name<6D>_loc<6F>_size<7A>_width<74>_color<6F> _base_pad<61> _labelcolor<6F>
_labelsize<EFBFBD>_set_labelrotation<6F>mlines<65>Line2D<32>zorder<65>_zorder<65> _grid_color<6F>_grid_linestyle<6C>_grid_linewidth<74> _grid_alpha<68>items<6D>_grid_kw<6B> apply_tickdir<69>_get_tick1line<6E> tick1line<6E>_get_tick2line<6E> tick2line<6E> _get_gridline<6E>gridline<6E>
_get_text1<EFBFBD>label1<6C>
_get_text2<EFBFBD>label2<6C> set_visible<6C>update_position)<19>selfr<00>loc<6F>label<65>size<7A>width<74>color<6F>tickdir<69>pad<61> labelsize<7A>
labelcolorr'<00>gridOn<4F>tick1On<4F>tick2On<4F>label1On<4F>label2Onr<00> labelrotationZ
grid_colorZgrid_linestyleZgrid_linewidthZ
grid_alpha<EFBFBD>kwr rrrr8sx 


 
   
 
 
 







     z Tick.__init__))rFr5)rGr1)rHr3)rIr7)rJr9z3.1zTick.{}.get_visible)r <00> alternativecCst||<01><02><01>S)N)<02>getattr<74> get_visible)r<<00> _new_namerrr<00><lambda><3E>sz Tick.<lambda>zTick.{}.set_visiblecCst||<02><02>|<01>S)N)rNr:)r<<00>valuerPrrrrQ<00>sz Tick.label1)rM<00>pendingcCs|jS)N)r7)r<rrrr><00>sz
Tick.labelcCsTt|t<01>r|}d}n t|ttf<02>r,|\}}nd}|}tjddg|d<04>||f|_dS)Nr<00>default<6C>auto)rK)<07>
isinstance<EFBFBD>str<74>tupler<00>cbook<6F>_check_in_list<73>_labelrotation)r<rK<00>modeZanglerrrr$<00>s

zTick._set_labelrotationcCsdS)z*Calculate self._pad and self._tickmarkers.Nr)r<rBrrrr/<00>szTick.apply_tickdircCs|jS)N)<01>_tickdir)r<rrr<00> get_tickdir<69>szTick.get_tickdircCsdddd<04>}|j||jS)z/Get the length of the tick outside of the axes.gg<00>?g<00>?)<03>in<69>inout<75>out)rr])r<<00>paddingrrr<00>get_tick_padding<6E>szTick.get_tick_paddingcCs|j|j|j|j|jg}|S)N)r1r3r5r7r9)r<<00>childrenrrr<00> get_children<65>szTick.get_childrencCs(tj<01>|||<02>|j<03>||<02>d|_dS)NT)rr<00> set_clip_pathr5<00>stale)r<<00>clippath<74> transformrrrrf<00>szTick.set_clip_pathcCs|jj|jdS)N<>H)r<00>dpir!)r<rrr<00>get_pad_pixels<6C>szTick.get_pad_pixelscCs|jdk r|<00>||<01>SdifS)z<>
Test whether the mouse event occurred in the Tick marks.
This function always returns false. It is more useful to test if the
axis as a whole contains the mouse rather than the set of tick marks.
NF)<01> _contains)r<<00>
mouseeventrrr<00>contains<6E>s
 z Tick.containscCs|j|d<01>d|_dS)zm
Set the tick label pad in points
Parameters
----------
val : float
)rCTN)<02> _apply_paramsrg)r<<00>valrrr<00>set_pad<61>s z Tick.set_padcCs|jS)z-Get the value of the tick label pad in points)r!)r<rrr<00>get_padsz Tick.get_padcCsdS)zGet the default Text 1 instanceNr)r<rrrr6 szTick._get_text1cCsdS)zGet the default Text 2 instanceNr)r<rrrr8 szTick._get_text2cCsdS)z)Get the default line2D instance for tick1Nr)r<rrrr0szTick._get_tick1linecCsdS)z)Get the default line2D instance for tick2Nr)r<rrrr2szTick._get_tick2linecCsdS)z2Get the default grid Line2d instance for this tickNr)r<rrrr4szTick._get_gridlinecCs|jS)z2Return the tick location (data coords) as a scalar)r)r<rrr<00>get_locsz Tick.get_loccCs`|<00><00>sd|_dS|<01>|j<03>x*|j|j|j|j|jgD]}|<02> |<01>q8W|<01>
|j<03>d|_dS)NF) rOrg<00>
open_grouprr5r1r3r7r9<00>draw<61> close_group)r<<00>renderer<65>artistrrrrv!s  z Tick.drawcCs|j<00>|<01>d|_dS)z]
Set the label1 text.
Parameters
----------
s : str
TN)r7<00>set_textrg)r<<00>srrr<00>
set_label1-s zTick.set_label1cCs|j<00>|<01>d|_dS)z]
Set the label2 text.
Parameters
----------
s : str
TN)r9rzrg)r<r{rrr<00>
set_label2:s zTick.set_label2cCs|<01>|j<01>dS)N)rr)r<<00>arrr<00>_set_artist_propsEszTick._set_artist_propscCs td<01><01>dS)zCreturn the view Interval instance for the axis this tick is tickingzDerived must overrideN)<01>NotImplementedError)r<rrr<00>get_view_intervalHszTick.get_view_intervalc  s|xPd|jfd|jfd|jfd|jfd|jfgD] \}}|<02>kr.|<03><05><00>|<02><01>q.Wt<07>fdd<07>dD<00><01><01>r0<72><00>d |j<08>|_<08><00>d
|j <09>|_ <09><00>d |j
<EFBFBD>|_
|<00> <0B><00>d |j <0C><02>|j<01> |jd <00>|j<02> |jd<00>x,|j|jfD]}|<04>|j<08>|<04>|j <09>q<>W|<00><11>d }|j<03>|<05>|<00><13>d }|j<04>|<05>dd<10><00><00><14>D<00>}|jjf|<06>|jjf|<06>x&|<06><14>D]\}}t|d||<08><00>qhWd<12>k<06>r<>|<00><17><00>d<12><01>|jj|jdd<13>|jj|jdd<13>dd<10><00><00><14>D<00>} |jjf| <09>|jjf| <09>x8| <09><14>D],\}}t|jd|<00><02>}t|d||<08><00>qWdd<10><00><00><14>D<00>}
|jjf|
<EFBFBD>x&|
<EFBFBD><14>D]\}}t|d||<08><00>qZWdS)NrFrGrHrIrJc3s|]}|<01>kVqdS)Nr)rr)rLrr<00> <genexpr>Tsz%Tick._apply_params.<locals>.<genexpr>)r?r@rCrBr?r@rCrBr<00>cSsi|]\}}|dkr||<01>qS))rAr'r)rrrrrrrgsz&Tick._apply_params.<locals>.<dictcomp><3E>_rK)<01>rotationcSs&i|]\}}|dkr||dd<02><00>qS))rDrErNr)rrrrrrrrs<01>get_Z_labelcSs&i|]\}}|tkr||dd<01><00>qS)rN)<01>_gridline_param_names)rrrrrrr}sZ_grid_)r5r1r3r7r9r:<00>pop<6F>anyrrr!r/r]Z
set_marker<EFBFBD> _tickmarkersZset_markersizeZset_markeredgewidth<74>_get_text1_transform<72> set_transform<72>_get_text2_transformr-<00>set<65>setattrr$r[rN) r<rLr <00>target<65>line<6E>trans<6E>tick_kwrrZlabel_kwZgrid_kwr)rLrrpLsP
     
zTick._apply_paramscCs td<01><01>dS)z9Set the location of tick in data coords with scalar *loc*zDerived must overrideN)r<>)r<r=rrrr;<00>szTick.update_positioncCs td<01><01>dS)NzDerived must override)r<>)r<rrrr<><00>szTick._get_text1_transformcCs td<01><01>dS)NzDerived must override)r<>)r<rrrr<><00>szTick._get_text2_transform)NNNNNNNNNTTTFTrNNNN)N))r<00>
__module__<EFBFBD> __qualname__<5F>__doc__rZ _old_namerP<00>propertyrY<00>
deprecated<EFBFBD>format<61>localsr>r$r/r^rcrerfrlrorrrsr6r8r0r2r4rtr<00>allow_rasterizationrvr|Z set_labelr}rr<>rpr;r<>r<>rrrrr "sz
`     
     7r c@sdeZdZdZdZdd<04>Zdd<06>Zdd<08>Zd d
<EFBFBD>Zd d <0C>Zd d<0E>Z dd<10>Z
dd<12>Z dd<14>Z dd<16>Z dS)<18>XTickzq
Contains all the Artists needed to make an x tick - the tick line,
the label text and the grid line
ZxtickcCs|j<00>|j<02>S)N)rZget_xaxis_text1_transform<72>_pad)r<rrrr<><00>szXTick._get_text1_transformcCs|j<00>|j<02>S)N)rZget_xaxis_text2_transformr<6D>)r<rrrr<><00>szXTick._get_text2_transformcCsp|dkrtd|j}||_|jdkr6tjtjf|_n |jdkrHd|_ntjtjf|_|j|<00><08>|_ d|_
dS)Nz %s.directionr_r`)<02>|r<>T) rrr]r%ZTICKUPZTICKDOWNr<4E>r!rcr<>rg)r<rBrrrr/<00>s

zXTick.apply_tickdircCsH|<00><00>\}}}tjddtj|jd<02>|j||d<03>}|<04>|<01>|<00>|<04>|S)zGet the default Text instancer)r?)<06>x<>y<>fontpropertiesrA<00>verticalalignment<6E>horizontalalignment) r<><00>mtext<78>Text<78> font_manager<65>FontPropertiesr#r"r<>r)r<r<><00>vert<72>horiz<69>trrrr6<00>s 

zXTick._get_text1cCsH|<00><00>\}}}tjddtj|jd<03>|j||d<04>}|<04>|<01>|<00>|<04>|S)zGet the default Text 2 instancerr<>)r?)r<>r<>r<>rAr<>r<>) r<>r<>r<>r<>r<>r#r"r<>r)r<r<>r<>r<>r<>rrrr8<00>s 

zXTick._get_text2c
CsJtjdd|jd|jd|j|j|jd<04>}|<01>|jj dd<06><01>|<00>
|<01>|S)zGet the default line2D instance)r<00>Noner)<08>xdata<74>ydatarA<00> linestyle<6C>marker<65>
markersize<EFBFBD>markeredgewidthr'<00>tick1)<01>which) r%r&r r<>rrr(r<>r<00>get_xaxis_transformr)r<<00>lrrrr0<00>s 

zXTick._get_tick1linec
CsJtjdd|jd|jd|j|j|jd<05>}|<01>|jj dd<07><01>|<00>
|<01>|S)zGet the default line2D instance)r)r<>r<>r<>)r<>r<>rAr<>r<>r<>r<>r'<00>tick2)r<>) r%r&r r<>rrr(r<>rr<>r)r<r<>rrrr2<00>s

zXTick._get_tick2linec
CsVtjfdd|j|j|j|jdd<04>|j<06><02>}|<01>|jj dd<06><01>t
|<01> <0B>_ |<00> |<01>|S)zGet the default line2D instance)gg)rg<00>?r)r<>r<>rAr<><00> linewidth<74>alphar<61><00>grid)r<>)r%r&r)r*r+r,r.r<>rr<><00>GRIDLINE_INTERPOLATION_STEPS<50>get_path<74>_interpolation_stepsr)r<r<>rrrr4<00>s



zXTick._get_gridlinecCsR|j<00>|f<01>|j<02>|f<01>|j<03>|f<01>|j<04>|<01>|j<06>|<01>||_d|_dS)z:Set the location of tick in data coords with scalar *loc*.TN) r1Z set_xdatar3r5r7Zset_xr9rrg)r<r=rrrr;<00>s  zXTick.update_positioncCs
|jjjS)N)r<00>viewLim<69> intervalx)r<rrrr<><00>szXTick.get_view_intervalN)rr<>r<>r<>r<>r<>r/r6r8r0r2r4r;r<>rrrrr<><00>s 
r<EFBFBD>c@sdeZdZdZdZdd<04>Zdd<06>Zdd<08>Zd d
<EFBFBD>Zd d <0C>Zd d<0E>Z dd<10>Z
dd<12>Z dd<14>Z dd<16>Z dS)<18>YTickzp
Contains all the Artists needed to make a Y tick - the tick line,
the label text and the grid line
ZytickcCs|j<00>|j<02>S)N)rZget_yaxis_text1_transformr<6D>)r<rrrr<>
szYTick._get_text1_transformcCs|j<00>|j<02>S)N)rZget_yaxis_text2_transformr<6D>)r<rrrr<> szYTick._get_text2_transformcCsp|dkrtd|j}||_|jdkr6tjtjf|_n |jdkrHd|_ntjtjf|_|j|<00><08>|_ d|_
dS)Nz %s.directionr_r`)r<>r<>T) rrr]r%Z TICKRIGHTZTICKLEFTr<54>r!rcr<>rg)r<rBrrrr/s

zYTick.apply_tickdircCsH|<00><00>\}}}tjddtj|jd<02>|j||d<03>}|<04>|<01>|<00>|<04>|S)zGet the default Text instancer)r?)r<>r<>r<>rAr<>r<>) r<>r<>r<>r<>r<>r#r"r<>r)r<r<>r<>r<>r<>rrrr6s 

zYTick._get_text1cCsH|<00><00>\}}}tjddtj|jd<03>|j||d<04>}|<04>|<01>|<00>|<04>|S)zGet the default Text instancer<65>r)r?)r<>r<>r<>rAr<>r<>) r<>r<>r<>r<>r<>r#r"r<>r)r<r<>r<>r<>r<>rrrr8.s 

zYTick._get_text2c
CsJtjdd|j|jdd|j|j|jd<04>}|<01>|jj dd<06><01>|<00>
|<01>|S)zGet the default line2D instance)rrr<>)rAr<>r<>r<>r<>r'r<>)r<>) r%r&r r<>rrr(r<>r<00>get_yaxis_transformr)r<r<>rrrr0=s

zYTick._get_tick1linec
CsJtjdd|j|jdd|j|j|jd<05>}|<01>|jj dd<07><01>|<00>
|<01>|S)zGet the default line2D instance)r<>)rr<>r<>)rAr<>r<>r<>r<>r'r<>)r<>) r%r&r r<>rrr(r<>rr<>r)r<r<>rrrr2Ls

zYTick._get_tick2linec
CsVtjfdd|j|j|j|jdd<04>|j<06><02>}|<01>|jj dd<06><01>t
|<01> <0B>_ |<00> |<01>|S)zGet the default line2D instance)rr<>)rrr)r<>r<>rAr<>r<>r<>r<>r<>)r<>)r%r&r)r*r+r,r.r<>rr<>r<>r<>r<>r)r<r<>rrrr4Zs



zYTick._get_gridlinecCsR|j<00>|f<01>|j<02>|f<01>|j<03>|f<01>|j<04>|<01>|j<06>|<01>||_d|_dS)z:Set the location of tick in data coords with scalar *loc*.TN) r1Z set_ydatar3r5r7Zset_yr9rrg)r<r=rrrr;is  zYTick.update_positioncCs
|jjjS)z7Return the Interval instance for this axis view limits.)rr<><00> intervaly)r<rrrr<>sszYTick.get_view_intervalN)rr<>r<>r<>r<>r<>r/r6r8r0r2r4r;r<>rrrrr<>s
r<EFBFBD>c@seZdZdZdZdZdS)<03>Tickera2
A container for the objects defining tick position and format.
Attributes
----------
locator : `matplotlib.ticker.Locator` subclass
Determines the positions of the ticks.
formatter : `matplotlib.ticker.Formatter` subclass
Determines the format of the tick labels.
N)rr<>r<>r<><00>locator<6F> formatterrrrrr<>xs
r<>c@s eZdZdZdd<03>Zdd<05>ZdS)<07> _LazyTickListz<74>
A descriptor for lazy instantiation of tick lists.
See comment above definition of the ``majorTicks`` and ``minorTicks``
attributes.
cCs
||_dS)N)<01>_major)r<rrrrr<00>sz_LazyTickList.__init__cCs^|dkr |S|jr6g|_|jdd<02>}|j<01>|<03>|jSg|_|jdd<02>}|j<04>|<03>|jSdS)NT)rF)r<><00>
majorTicks<EFBFBD> _get_tick<63>append<6E>
minorTicks)r<<00>instance<63>cls<6C>tickrrr<00>__get__<5F>s    z_LazyTickList.__get__N)rr<>r<>r<>rr<>rrrrr<><00>sr<>c@seZdZdZdZdd<04>Zd<>dd<07>Zedd <09>Zed
d <09>Z d d <0C>Z
d d<0E>Z e e
e dd<10>Z d<>dd<13>Zdd<15>Zdd<17>Zdd<19>Zdd<1B>Zdd<1D>Zdd<1F>Zd d!<21>Zd<>d#d$<24>Zed%d&<26><00>Zd<>d'd(<28>Zd)d*<2A>Zd<>d+d,<2C>Zd-d.<2E>Zd<>d/d0<64>Zd1d2<64>Zd3d4<64>Zd5d6<64>Z d7d8<64>Z!e"<22>#d9<64>d:d;<3B><00>Z$d<d=<3D>Z%d>d?<3F>Z&d@dA<64>Z'dBdC<64>Z(dDdE<64>Z)dFdG<64>Z*dHdI<64>Z+e,j-dJdK<64><00>Z.dLdM<64>Z/dNdO<64>Z0dPdQ<64>Z1dRdS<64>Z2dTdU<64>Z3dVdW<64>Z4dXdY<64>Z5dZd[<5B>Z6d<36>d\d]<5D>Z7d^d_<64>Z8d`da<64>Z9d<39>dbdc<64>Z:ddde<64>Z;dfdg<64>Z<d<>dhdi<64>Z=d<>djdk<64>Z>dldm<64>Z?dndo<64>Z@dpdq<64>ZAdrds<64>ZBdtdu<64>ZCdvdw<64>ZDdxdy<64>ZEd<45>dzd{<7B>ZFd<46>d|d}<7D>ZGd<47>d~d<64>ZHd<48>d<EFBFBD><64>ZId<49>d<EFBFBD><64>ZJd<4A>d<EFBFBD><64>ZKd<4B>d<EFBFBD><64>ZLd<4C>d<EFBFBD><64>ZMd<4D>d<EFBFBD><64>ZNd<4E>d<EFBFBD>d<EFBFBD><64>ZOd<4F>d<EFBFBD><64>ZPd<50>d<EFBFBD><64>ZQd<51>d<EFBFBD><64>ZRd<52>d<EFBFBD><64>ZSd<53>d<EFBFBD><64>ZTd
d<EFBFBD><EFBFBD>d<>d<EFBFBD><64>ZUd<55>d<EFBFBD>d<EFBFBD><64>ZVd<56>d<EFBFBD><64>ZWd<57>d<EFBFBD><64>ZXd<58>d<EFBFBD><64>ZYd<59>d<EFBFBD><64>ZZd<5A>d<EFBFBD><64>Z[d<>d<EFBFBD>d<EFBFBD><64>Z\d<>d<EFBFBD><64>Z]d<>d<EFBFBD><64>Z^d<>d<EFBFBD><64>Z_d<5F>d<EFBFBD><64>Z`d<>d<EFBFBD><64>ZadS)<29><>Axisa<73>
Base class for `.XAxis` and `.YAxis`.
Attributes
----------
isDefault_label : bool
axes : `matplotlib.axes.Axes`
The `~.axes.Axes` to which the Axis belongs.
major : `matplotlib.axis.Ticker`
Determines the major tick positions and their label format.
minor : `matplotlib.axis.Ticker`
Determines the minor tick positions and their label format.
callbacks : `matplotlib.cbook.CallbackRegistry`
label : `.Text`
The axis label.
labelpad : float
The distance between the axis label and the tick labels.
Defaults to :rc:`axes.labelpad` = 4.
offsetText : `.Text`
A `.Text` object containing the data offset of the ticks (if any).
pickradius : float
The acceptance radius for containment tests. See also `.Axis.contains`.
majorTicks : list of `.Tick`
The major ticks.
minorTicks : list of `.Tick`
The minor ticks.
<20>cCs|jjdt|jj<04>d<02><01>S)Nz(%f,%f))rr)<06> __class__rrXr<00> transAxes<65>transform_point)r<rrr<00>__str__<5F>sz Axis.__str__<5F>cCs<>tj<01>|<00>d|_|<00>|j<05>d|_||_t<08>|_ t<08>|_
t <0B> <0C>|_ d|_d|_|<00><10>|_td|_|<00><14>|_||_t<17>|_t<17>|_|<00><1A>|<00>d<04>dS)a
Parameters
----------
axes : `matplotlib.axes.Axes`
The `~.axes.Axes` to which the created Axis belongs.
pickradius : float
The acceptance radius for containment tests. See also
`.Axis.contains`.
TFz axes.labelpad<61>linearN)rrr<00>_remove_overlapping_locsrr<00>isDefault_labelrr<>rrrY<00>CallbackRegistry<72> callbacks<6B> _autolabelpos<6F> _smart_bounds<64>
_get_labelr>r<00>labelpad<61>_get_offset_text<78>
offsetText<EFBFBD>
pickradius<EFBFBD>dict<63>_major_tick_kw<6B>_minor_tick_kw<6B>cla<6C>
_set_scale)r<rr<>rrrr<00>s$
 



z Axis.__init__T)rFcCs|jS)N)r<>)r<rrr<00>get_remove_overlapping_locs<63>sz Axis.get_remove_overlapping_locscCst|<01>|_dS)N)<02>boolr<6C>)r<rqrrr<00>set_remove_overlapping_locs<63>sz Axis.set_remove_overlapping_locszUIf minor ticker locations that overlap with major ticker locations should be trimmed.)<01>docNcCs<d|_|dkr|jj}|j<03>|<03>|j<03>||f<02>d|_dS)a
Set the coordinates of the label.
By default, the x coordinate of the y label is determined by the tick
label bounding boxes, but this can lead to poor alignment of multiple
ylabels if there are multiple axes. Ditto for the y coordinate of
the x label.
You can also specify the coordinate system of the label with
the transform. If None, the default coordinate system will be
the axes coordinate system (0,0) is (left,bottom), (0.5, 0.5)
is middle, etc
FNT)r<>rr<>r>r<><00> set_positionrg)r<r<>r<>rirrr<00>set_label_coordss  zAxis.set_label_coordscCs
|j<00><01>S)N)<02>_scale<6C> get_transform)r<rrrr<>szAxis.get_transformcCs|jjS)N)r<>r )r<rrr<00> get_scaleszAxis.get_scalecKs:tj||f|<02>|_|j<02>|<00>d|_d|_d|_d|_dS)NT)<08>mscaleZ scale_factoryr<79>Z#set_default_locators_and_formatters<72>isDefault_majloc<6F>isDefault_minloc<6F>isDefault_majfmt<6D>isDefault_minfmt)r<rR<00>kwargsrrrr<>s  zAxis._set_scalecCs|j<00>|||<00><02><00>S)N)r<><00>limit_range_for_scale<6C>
get_minpos)r<<00>vmin<69>vmaxrrrr<>'szAxis.limit_range_for_scalecCs4|j|jg}|<00><02>}|<00><03>}|<01>|<02>|<01>|<03>|S)N)r>r<><00>get_major_ticks<6B>get_minor_ticks<6B>extend)r<rdZ
majorticksZ
minorticksrrrre*s  

zAxis.get_childrencCst|j<00>d<01>|<00>d<02>t<03><04>|_tdo2tddk|_tdoHtddk|_|<00> <09>d|_
d|_ |<00> d<07>d|_ dS) zclear the current axis<69>r<>z axes.gridzaxes.grid.which)r r)r rNT)r>rzr<>rYr<>r<>r<00> _gridOnMajor<6F> _gridOnMinor<6F> reset_ticks<6B> converter<65>units<74> set_unitsrg)r<rrrr<>3s 


zAxis.clacCshy|`Wntk
rYnXy|`Wntk
r:YnXy|<00>|jj<05>Wntk
rbYnXdS)zs
Re-initialize the major and minor Tick lists.
Each list starts with a single fresh Tick.
N)r<><00>AttributeErrorr<72>rfr<00>patch)r<rrrrJszAxis.reset_ticksrcKs<>g}|dks|dkr |<04>|j<01>|dks0|dkr<|<04>|j<02>|<00>|<03>}x"|D]}|r\|<06><04>|<06>|<05>qLW|rx|<00><06>np|dks<>|dkr<>x|jD]}|jf|<05>q<>W|dks<>|dkr<>x|j D]}|jf|<05>q<>Wd|kr<>|j
<EFBFBD> |d<00>d|_ dS)z<>
Set appearance parameters for ticks, ticklabels, and gridlines.
For documentation of keyword arguments, see
:meth:`matplotlib.axes.Axes.tick_params`.
rr rrETN) r<>r<>r<><00>_translate_tick_kw<6B>clear<61>updaterr<>rpr<>r<>Z set_colorrg)r<r<><00>resetrLZdicts<74>kwtransrr<>rrr<00>set_tick_params^s*  


  zAxis.set_tick_paramscCs<>ddddddddd d
d d d dddddddddddgt}i}d|krR|<00>d<0E>|d<d|krh|<00>d<0F>|d<d|kr~|<00>d<19>|d<d|kr<>|<00>d<10>|d
<d|kr<>|<00>d<11>|d
<d|kr<>|<00>d<12>|d <d|kr<>|<00>d<13>|d <d|kr<>|<00>d<14>|d <d|k<06>r|<00>d<15>|d <d|k<06>r|<00>d<16>|d <d|k<06>r4|<00>d<17>|d <d|k<06>rX|<00>d<1A>}||d<||d<x2|D]*}||k<07>r|td||f<00><01>|<02>|<00><00>q^W|S)Nr?r@rArBrCrDrEr'rFrGrHrIrJ<00>length<74> direction<6F>left<66>bottom<6F>right<68>top<6F> labelleft<66> labelbottom<6F>
labelright<EFBFBD>labeltoprKr<><00>colorsz3keyword %s is not recognized; valid keywords are %s)r<>r<><00>
ValueErrorr)rLZkwkeysr
<00>c<>keyrrrr<00>sP
 







 zAxis._translate_tick_kwcCs<tj<01>|||<02>x |j|jD]}|<03>||<02>qWd|_dS)NT)rrrfr<>r<>rg)r<rhri<00>childrrrrf<00>szAxis.set_clip_pathcCs td<01><01>dS)z7Return the Interval instance for this axis view limits.zDerived must overrideN)r<>)r<rrrr<><00>szAxis.get_view_intervalcCs td<01><01>dS)a6
Set the axis view limits. This method is for internal use; Matplotlib
users should typically use e.g. `~Axes.set_xlim` and `~Axes.set_ylim`.
If *ignore* is False (the default), this method will never reduce the
preexisting view limits, only expand them if *vmin* or *vmax* are not
within them. Moreover, the order of *vmin* and *vmax* does not matter;
the orientation of the axis will not change.
If *ignore* is True, the view limits will be set exactly to ``(vmin,
vmax)`` in that order.
zDerived must overrideN)r<>)r<r<>r<><00>ignorerrr<00>set_view_interval<61>s zAxis.set_view_intervalcCs td<01><01>dS)z7Return the Interval instance for this axis data limits.zDerived must overrideN)r<>)r<rrr<00>get_data_interval<61>szAxis.get_data_intervalcCs td<01><01>dS)a<>
Set the axis data limits. This method is for internal use.
If *ignore* is False (the default), this method will never reduce the
preexisting data limits, only expand them if *vmin* or *vmax* are not
within them. Moreover, the order of *vmin* and *vmax* does not matter;
the orientation of the axis will not change.
If *ignore* is True, the data limits will be set exactly to ``(vmin,
vmax)`` in that order.
zDerived must overrideN)r<>)r<r<>r<>rrrr<00>set_data_interval<61>s zAxis.set_data_intervalcCs|<00><00>\}}||kS)a-
Return whether the axis is oriented in the "inverse" direction.
The "normal" direction is increasing to the right for the x-axis and to
the top for the y-axis; the "inverse" direction is increasing to the
left for the x-axis and to the bottom for the y-axis.
)r<>)r<<00>low<6F>highrrr<00> get_inverted<65>s zAxis.get_invertedcCs td<01><01>dS)a*
Set whether the axis is oriented in the "inverse" direction.
The "normal" direction is increasing to the right for the x-axis and to
the top for the y-axis; the "inverse" direction is increasing to the
left for the x-axis and to the bottom for the y-axis.
zDerived must overrideN)r<>)r<<00>invertedrrr<00> set_inverted<65>s zAxis.set_invertedcCsdS)z{
Set the default limits for the axis data and view interval if they
have not been not mutated yet.
Nr)r<rrr<00>set_default_intervals<6C>szAxis.set_default_intervalscCs|dkr dS|<01>|j<01>dS)N)rr)r<r~rrrrszAxis._set_artist_propsz3.1ccsp|<00><00>}|jj<02>|<01>}|<00>t|<01><01>}t|||<02>EdH|<00><07>}|jj<02>|<04>}|<00> t|<04><01>}t|||<05>EdHdS)zU
Yield ``(Tick, location, label)`` tuples for major and minor ticks.
N)
<EFBFBD>get_majorticklocsrr<><00> format_ticksr<73><00>len<65>zip<69>get_minorticklocsrr<>)r<<00>
major_locs<EFBFBD> major_labels<6C> major_ticks<6B>
minor_locs<EFBFBD> minor_labels<6C> minor_ticksrrr<00>
iter_ticksszAxis.iter_tickscCsp|<00><00>}|<00>||<01>\}}t|<03>r.tj<04>|<03>}ntj<04>dddd<01>}t|<04>rVtj<04>|<04>}ntj<04>dddd<01>}||fS)zX
Get the extents of the tick labels on either side
of the axes.
r)<07> _update_ticks<6B>_get_tick_bboxesr'<00> mtransforms<6D>Bbox<6F>unionZ from_extents)r<rx<00> ticks_to_draw<61>ticklabelBoxes<65>ticklabelBoxes2<73>bbox<6F>bbox2rrr<00>get_ticklabel_extentss
zAxis.get_ticklabel_extentscCs||_d|_dS)z"Set the axis to have smart bounds.TN)r<>rg)r<rRrrr<00>set_smart_bounds)szAxis.set_smart_boundscCs|jS)z)Return whether the axis has smart bounds.)r<>)r<rrr<00>get_smart_bounds.szAxis.get_smart_boundsc s&|<00><00>}|jj<02>|<01>}|<00>t|<01><01>}|jj<02>|<01>x8t|||<02>D](\}}}|<04>|<05>|<04> |<06>|<04>
|<06>q@W|<00> <0B>}|j j<02>|<07>}|<00> t|<07><01>} |j j<02>|<07>x8t| ||<08>D](\}}}|<04>|<05>|<04> |<06>|<04>
|<06>q<>W|| <09>}
|<00><0E>\} } | | k<04>r| | } } |j<0F>r<>|
<EFBFBD>r<>t|<00><11><00>\} }t<12>dd<02>|
D<00><01>}| | k<01>rB| <0B>n(||| k}t|<10><01>rb|d<00>n|d<00>|| k<05>rz| <0C>n(|||k}t|<10><01>r<>|d<00>n|d<00><00><00>fdd<02>|
D<00>}
|<00><14><00>| | g<02>}g}xT|
D]L}y|<00><14><00>|<04><16><00>}Wntk
<EFBFBD>rYnXt<18>||<13><02>r<>|<12>|<04><00>q<>W|S)z<>
Update ticks (position and labels) using the current data interval of
the axes. Return the list of ticks that will be drawn.
cSsg|] }|<01><00><00>qSr)rt)rr<>rrrr Psz&Axis._update_ticks.<locals>.<listcomp><3E><><EFBFBD><EFBFBD><EFBFBD>rcs,g|]$}<01>|<01><00>kr <20>krnq|<01>qSr)rt)rr<>)<02>ihigh<67>ilowrrr is)r%rr<>r&r<>r'Zset_locsr(r;r|r}r)rr<>r<>r<><00>sortedr<00>np<6E>sortr<74>rirt<00>AssertionErrorr3Z_interval_contains_closer<65>)r<r*r+r,r<>r=r>r-r.r/<00>ticksZview_lowZ view_highZdata_lowZ data_highZlocsZ good_locsZ
interval_tr6Zloc_tr)r?r@rr12s\



 


 


 


zAxis._update_tickscs$<00>fdd<02>|D<00><01>fdd<02>|D<00>fS)z8Return lists of bboxes for ticks' label1's and label2's.cs"g|]}|j<00><01>r|j<00><02><00><01>qSr)r7rO<00>get_window_extent)rr<>)rxrrr }sz)Axis._get_tick_bboxes.<locals>.<listcomp>cs"g|]}|j<00><01>r|j<00><02><00><01>qSr)r9rOrF)rr<>)rxrrr sr)r<rErxr)rxrr2{s

zAxis._get_tick_bboxescs<>|<00><00>s dS|<00><01>}|<00><02><00>|<00>|<02><00>\}}|<00>||<04>|j<05>|jj<08> <09><00><00>fdd<03>|j
|jgD<00>||<04>}dd<05>|D<00>}|r<>t j <0C> |<05>SdSdS)z<>
Return a bounding box that encloses the axis. It only accounts
tick labels, axis label, and offsetText.
Nc3s |]}|<01><00>r|<01><01><00>VqdS)N)rOrF)rr~)rxrrr<><00>sz%Axis.get_tightbbox.<locals>.<genexpr>cSsHg|]@}d|jkr tjkrnqd|jkr<tjkrnq|<01>qS)r)r@rB<00>inf<6E>height)r<00>brrrr <00>sz&Axis.get_tightbbox.<locals>.<listcomp>)rOr1<00>_update_label_positionr2<00>_update_offset_text_positionr<6E>rzrr<><00>
get_offsetr>r3r4r5)r<rxr6r7r8<00>bboxesr)rxr<00> get_tightbbox<6F>s 
  
 zAxis.get_tightbboxcCsLg}t|j<01>r"|<01>|jd<00><03><00>t|j<04>r@|<01>|jd<00><03><00>t|dd<02>S)Nr)rT)r'r<>r<>rcr<><00>max)r<<00>valuesrrrrc<00>s 

zAxis.get_tick_paddingcOs<>|<00><00>s dS|<01>t<02>|<00><03>}|<00>||<01>\}}x|D]}|<07>|<01>q4W|<00>|<01>|j<07>|<01>|<00>||<06>|j <09>
|j j <0C> <0A><00>|j <09>|<01>|<01>t<02>d|_dS)z6Draw the axis lines, grid lines, tick lines and labelsNF)rOrurr1r2rvrJr>rKr<>rzrr<>rLrwrg)r<rx<00>argsr<73>r6r7r8r<>rrrrv<00>s



   
z Axis.drawcCs td<01><01>dS)NzDerived must override)r<>)r<rrrr<><00>szAxis._get_labelcCs td<01><01>dS)NzDerived must override)r<>)r<rrrr<><00>szAxis._get_offset_textcCs|<00><00>}t<01>ddd<03>|D<00><01>S)z2Return the grid lines as a list of Line2D instancezLine2D gridlinecSsg|]
}|j<00>qSr)r5)rr<>rrrr <00>sz&Axis.get_gridlines.<locals>.<listcomp>)r<>rY<00> silent_list)r<rErrr<00> get_gridlines<65>szAxis.get_gridlinescCs|jS)z(Return the axis label as a Text instance)r>)r<rrr<00> get_label<65>szAxis.get_labelcCs|jS)z-Return the axis offsetText as a Text instance)r<>)r<rrr<00>get_offset_text<78>szAxis.get_offset_textcCs|jS)z/Return the depth of the axis used by the picker)r<>)r<rrr<00>get_pickradius<75>szAxis.get_pickradiuscCs4|<00><00>}dd<02>|D<00>}dd<02>|D<00>}t<01>d||<00>S)z9Return a list of Text instances for the major ticklabels.cSsg|]}|j<00><01>r|j<00>qSr)r7rO)rr<>rrrr <00>sz,Axis.get_majorticklabels.<locals>.<listcomp>cSsg|]}|j<00><01>r|j<00>qSr)r9rO)rr<>rrrr <00>szText major ticklabel)r<>rYrR)r<rE<00>labels1<73>labels2rrr<00>get_majorticklabels<6C>szAxis.get_majorticklabelscCs4|<00><00>}dd<02>|D<00>}dd<02>|D<00>}t<01>d||<00>S)z9Return a list of Text instances for the minor ticklabels.cSsg|]}|j<00><01>r|j<00>qSr)r7rO)rr<>rrrr <00>sz,Axis.get_minorticklabels.<locals>.<listcomp>cSsg|]}|j<00><01>r|j<00>qSr)r9rO)rr<>rrrr <00>szText minor ticklabel)r<>rYrR)r<rErWrXrrr<00>get_minorticklabels<6C>szAxis.get_minorticklabelscCsh|dk rT|dkr|<00><00>S|dkr(|<00><01>S|dkr@|<00><01>|<00><00>Stjdddg|d<05>|r`|<00><00>S|<00><01>S)a<>
Get the tick labels as a list of `~matplotlib.text.Text` instances.
Parameters
----------
minor : bool
If True return the minor ticklabels,
else return the major ticklabels
which : None, ('minor', 'major', 'both')
Overrides `minor`.
Selects which ticklabels to return
Returns
-------
ret : list
List of `~matplotlib.text.Text` instances.
Nrrr )r<>)rZrYrYrZ)r<rr<>rrr<00>get_ticklabels<6C>szAxis.get_ticklabelscCs>g}|<00><00>}x$|D]}|<01>|j<02>|<01>|j<03>qWt<04>d|<01>S)z9Return the major tick lines as a list of Line2D instanceszLine2D ticklines)r<>r<>r1r3rYrR)r<<00>linesrEr<>rrr<00>get_majortickliness 
 zAxis.get_majorticklinescCs>g}|<00><00>}x$|D]}|<01>|j<02>|<01>|j<03>qWt<04>d|<01>S)z9Return the minor tick lines as a list of Line2D instanceszLine2D ticklines)r<>r<>r1r3rYrR)r<r\rEr<>rrr<00>get_minortickliness 
 zAxis.get_minorticklinescCs|r |<00><00>S|<00><01>S)z3Return the tick lines as a list of Line2D instances)r^r])r<rrrr<00> get_ticklines$szAxis.get_ticklinescCs
|j<00><01>S)z:Get the array of major tick locations in data coordinates.)rr<>)r<rrrr%*szAxis.get_majorticklocscsx|j<00><01>}|j<02><01>}|j<03><04>}|<03>|<02>}|<03>|<01><01>t|<03>|<00><07><00><01>\}}||d<00>|jrt<72><00>fdd<03>t ||<04>D<00>}|S)z:Get the array of minor tick locations in data coordinates.g<>h㈵<68><E388B5>>cs,g|]$\}}tj|<02><01>dd<01><04><02>r|<01>qS)r)ZatolZrtol)rB<00>iscloser<65>)rr=Ztr_loc)<02>tol<6F> tr_major_locsrrr <sz*Axis.get_minorticklocs.<locals>.<listcomp>)
rr<>rr<>r<>rirAr<><00>remove_overlapping_locsr()r<r*r-riZ tr_minor_locs<63>lo<6C>hir)rarbrr).s




 zAxis.get_minorticklocscCs|r |<00><00>S|<00><01>S)z4Get the array of tick locations in data coordinates.)r)r%)r<rrrr<00> get_ticklocs@szAxis.get_ticklocscCs8|rt<00>dd<02>|<00><02>D<00><01>St<00>dd<02>|<00><03>D<00><01>SdS)aK
Get the tick directions as a numpy array
Parameters
----------
minor : boolean
True to return the minor tick directions,
False to return the major tick directions,
Default is False
Returns
-------
numpy array of tick directions
cSsg|]
}|j<00>qSr)r])rr<>rrrr Usz,Axis.get_ticks_direction.<locals>.<listcomp>cSsg|]
}|j<00>qSr)r])rr<>rrrr XsN)rB<00>arrayr<79>r<>)r<rrrr<00>get_ticks_directionDs
zAxis.get_ticks_directioncCs td<01><01>dS)z return the default tick instancezderived must overrideN)r<>)r<rrrrr<>ZszAxis._get_tickcCs^|dks|dkrdS|j<00>|j<00>|j<02>|j<02>|j<03>|j<03>|j<04>|j<04>|j<05>|j<05>dS)z)Copy the props from src tick to dest tickN)r7Z update_fromr9r1r3r5)r<<00>src<72>destrrr<00>_copy_tick_props^szAxis._copy_tick_propscCs
|j<00><01>S)zGet the text of the label)r><00>get_text)r<rrr<00>get_label_texthszAxis.get_label_textcCs|jjS)z#Get the locator of the major ticker)rr<>)r<rrr<00>get_major_locatorlszAxis.get_major_locatorcCs|jjS)z#Get the locator of the minor ticker)rr<>)r<rrr<00>get_minor_locatorpszAxis.get_minor_locatorcCs|jjS)z%Get the formatter of the major ticker)rr<>)r<rrr<00>get_major_formattertszAxis.get_major_formattercCs|jjS)z%Get the formatter of the minor ticker)rr<>)r<rrr<00>get_minor_formatterxszAxis.get_minor_formattercCsn|dkrt|<00><01><00>}xJt|j<02>|kr^|jdd<03>}|j<02>|<02>|j<05>|j<07>|<00>|jd|<02>qW|jd|<01>S)z*Get the tick instances; grow as necessary.NT)rr) r'r%r<>r<>r<>r5r:r<>rk)r<<00>numticksr<73>rrrr<>|s   zAxis.get_major_tickscCsn|dkrt|<00><01><00>}xJt|j<02>|kr^|jdd<03>}|j<02>|<02>|j<05>|j<07>|<00>|jd|<02>qW|jd|<01>S)z0Get the minor tick instances; grow as necessary.NF)rr) r'r)r<>r<>r<>r5r:r<>rk)r<rrr<>rrrr<><00>s   zAxis.get_minor_tickscKs<>t|<03>r"|s|dk rt<01>d<02>d}|<02><03>}tjdddg|d<07>dd <09>|<03><05>D<00>}|d
kr<>|dkrl|j |_n||_|jfd|jd <0B>|<04><02>|d kr<>|dkr<>|j |_n||_|jfd|jd <0B>|<04><02>d|_ dS) ar
Configure the grid lines.
Parameters
----------
b : bool or None
Whether to show the grid lines. If any *kwargs* are supplied,
it is assumed you want the grid on and *b* will be set to True.
If *b* is *None* and there are no *kwargs*, this toggles the
visibility of the lines.
which : {'major', 'minor', 'both'}
The grid lines to apply the changes on.
**kwargs : `.Line2D` properties
Define the line properties of the grid, e.g.::
grid(color='r', linestyle='-', linewidth=2)
Nz_First parameter to grid() is false, but line properties are supplied. The grid will be enabled.Trrr )r<>cSsi|]}|dd|d<00>qS)r<>r
rr)r<00>itemrrrr<00>szAxis.grid.<locals>.<dictcomp>)rr )r<>rF)rr )
r'rYZ_warn_externalrrZr-r<>r r<>rg)r<rIr<>r<>Zgridkwrrrr<><00>s( 
  z Axis.gridcCshtj<01>|<01>}|dkrdS|j|k}||_|j<03>||<00>}|dk rR|jdkrR|<00>|<04>|r^|<00><07>d|_dS)z<>
introspect *data* for units converter and update the
axis.converter instance if necessary. Return *True*
if *data* is registered for unit conversion.
NFT) <09>munits<74>registry<72> get_converterrZ default_unitsrr<00>_update_axisinforg)r<<00>datarZneednewrTrrr<00> update_units<74>s 

zAxis.update_unitscCs|jdkrdS|j<00>|j|<00>}|dkr*dS|jdk rZ|jj|jkrZ|jrZ|<00>|j<03>d|_|jdk r<>|j j|jkr<>|j
r<EFBFBD>|<00> |j<08>d|_
|j dk r<>|jj |j kr<>|jr<>|<00>|j <0C>d|_|jdk r<>|j j |jkr<>|jr<>|<00>|j<10>d|_|jdk <09>r|j<14>r|<00>|j<13>d|_|<00><16>dS)zs
check the axis converter for the stored units to see if the
axis info needs to be updated
NT)r<00>axisinforZmajlocrr<>r<><00>set_major_locatorZminlocrr<><00>set_minor_locatorZmajfmtr<74>r<><00>set_major_formatterZminfmtr<74><00>set_minor_formatterr>r<><00>set_label_textr$)r<<00>inforrrrw<00>s2

 
 
 
  zAxis._update_axisinfocCs|jdk p|jdk S)N)rr)r<rrr<00>
have_unitsszAxis.have_unitsc
Cs<>tj<01>|<01>r|S|jdkr(tj<04>|<01>|_|jdkr6|Sy|j<03>||j|<00>}Wn4tk
r<EFBFBD>}zt<00> d|<01><02><02>|<03>Wdd}~XYnX|S)Nz*Failed to convert value(s) to axis units: )
rtZConversionInterfaceZ
is_numlikerrurv<00>convertr<00> ExceptionZConversionError)r<r<><00>ret<65>errr<00> convert_unitss 

zAxis.convert_unitscCsZd}|dkrd|_d}n||jkr,||_d}|rP|<00><01>|j<02>d<04>|j<02>d<05>d|_dS)zf
Set the units for axis.
Parameters
----------
u : units tag
FNTrzunits finalize)rrwr<><00>processrg)r<<00>uZpchangedrrrrs
  zAxis.set_unitscCs|jS)zReturn the units for axis.)r)r<rrr<00> get_units*szAxis.get_unitscKs>d|_|j<01>|<01>|dk r&|j<01>|<02>|j<01>|<03>d|_|jS)z<>
Set the text value of the axis label.
Parameters
----------
label : str
Text string.
fontdict : dict
Text properties.
**kwargs
Merged into fontdict.
FNT)r<>r>rzrrg)r<r>Zfontdictr<74>rrrr.s    zAxis.set_label_textcCs6t|tj<02>std<01><01>d|_||j_|<01>|<00>d|_dS)z<>
Set the formatter of the major ticker.
Parameters
----------
formatter : `~matplotlib.ticker.Formatter`
zDformatter argument should be instance of matplotlib.ticker.FormatterFTN) rV<00>mticker<65> Formatter<65> TypeErrorr<72>rr<><00>set_axisrg)r<r<>rrrr}Cs  
zAxis.set_major_formattercCs6t|tj<02>std<01><01>d|_||j_|<01>|<00>d|_dS)z<>
Set the formatter of the minor ticker.
Parameters
----------
formatter : `~matplotlib.ticker.Formatter`
zDformatter argument should be instance of matplotlib.ticker.FormatterFTN) rVr<>r<>r<>r<>rr<>r<>rg)r<r<>rrrr~Ss  
zAxis.set_minor_formattercCsLt|tj<02>std<01><01>d|_||j_|jjr8|jj<07>|<01>|<01> |<00>d|_
dS)z<>
Set the locator of the major ticker.
Parameters
----------
locator : `~matplotlib.ticker.Locator`
z@locator argument should be instance of matplotlib.ticker.LocatorFTN) rVr<><00>Locatorr<72>r<>rr<>r<><00> _set_locatorr<72>rg)r<r<>rrrr{cs 
zAxis.set_major_locatorcCsLt|tj<02>std<01><01>d|_||j_|jjr8|jj<07>|<01>|<01> |<00>d|_
dS)z<>
Set the locator of the minor ticker.
Parameters
----------
locator : `~matplotlib.ticker.Locator`
z@locator argument should be instance of matplotlib.ticker.LocatorFTN) rVr<>r<>r<>r<>rr<>r<>r<>r<>rg)r<r<>rrrr|us 
zAxis.set_minor_locatorcCs
||_dS)z<>
Set the depth of the axis used by the picker.
Parameters
----------
pickradius : float
N)r<>)r<r<>rrr<00>set_pickradius<75>szAxis.set_pickradius)rc Os|rtjddd<03>g}x>|D]6}y|<05>|<06><03><00>Wqtk
rP|<05>|<06>YqXqW|}|rx|<00>t<06>|<01><01>|<00><08>}n|<00> t<06>|<01><01>|<00>
<EFBFBD>}g}xrt ||<07>D]d\} }
|
j <0C> | <09>|
j <0C>|<04>|
j<0F> | <09>|
j<0F>|<04>|
j <0C><10>r<>|<08>|
j <0C>|
j<0F><10>r<>|<08>|
j<0F>q<>Wd|_|S)aB
Set the text values of the tick labels.
Parameters
----------
ticklabels : sequence of str or of `Text`\s
List of texts for tick labels; must include values for non-visible
labels.
minor : bool
If True, set minor ticks instead of major ticks.
**kwargs
Text properties.
Returns
-------
labels : list of `Text`\s
For each tick, includes ``tick.label1`` if it is visible, then
``tick.label2`` if it is visible, in that order.
z3.1z<EFBFBD>Additional positional arguments to set_ticklabels are ignored, and deprecated since Matplotlib 3.1; passing them will raise a TypeError in Matplotlib 3.3.)<01>messageT)rYZwarn_deprecatedr<64>rlrr~r<>ZFixedFormatterr<72>r}r<>r(r7rzrr9rOrg) r<Z
ticklabelsrrQr<>Z
get_labelsr<EFBFBD>rEr<>Z
tick_labelr<EFBFBD>rrr<00>set_ticklabels<6C>s6


    
 
zAxis.set_ticklabelscCs<>|<00>|<01>}t|<01>dkrT|<00><02>\}}||kr@|<00>t|<01>t|<01><01>n|<00>t|<01>t|<01><01>|rv|<00>t<07>|<01><01>|<00> t|<01><01>S|<00>
t<07>|<01><01>|<00> t|<01><01>SdS)z<>
Set the locations of the tick marks from sequence ticks
Parameters
----------
ticks : sequence of floats
minor : bool
r<>N) r<>r'r<>r<00>minrOr|r<>Z FixedLocatorr<72>r{r<>)r<rErZxleftZxrightrrr<00> set_ticks<6B>s
  zAxis.set_tickscCs td<01><01>dS)z<>
Get the bounding boxes for this `.axis` and its siblings
as set by `.Figure.align_xlabels` or `.Figure.align_ylablels`.
By default it just gets bboxes for self.
zDerived must overrideN)r<>)r<Zxdirrxrrr<00>_get_tick_boxes_siblings<67>szAxis._get_tick_boxes_siblingscCs td<01><01>dS)zz
Update the label position based on the bounding box enclosing
all the ticklabels and axis spine.
zDerived must overrideN)r<>)r<rxrrrrJ<00>szAxis._update_label_positioncCs td<01><01>dS)zx
Update the offset text position based on the sequence of bounding
boxes of all the ticklabels.
zDerived must overrideN)r<>)r<rM<00>bboxes2rrrrK<00>sz!Axis._update_offset_text_positioncCs|jj<01>|<01>dS)z0Pan by *numsteps* (can be positive or negative).N)rr<><00>pan)r<Znumstepsrrrr<><00>szAxis.pancCs|jj<01>|<01>dS)zAZoom in/out on axis; if *direction* is >0 zoom in, else zoom out.N)rr<><00>zoom)r<r rrrr<>sz Axis.zoomc Cs@t|t<01>rddl}|j<03>|<01>}|<00>t<06>ddddddd|<01><08>dS)z<>
Sets up axis ticks and labels treating data along this axis as dates.
Parameters
----------
tz : tzinfo or str or None
The timezone used to create date labels.
rNi<4E>r<>)rVrWZ dateutil.tz<74>tzZgettzry<00>datetime)r<r<>Zdateutilrrr<00> axis_dates
 zAxis.axis_datecCs
t<00><00>dS)z>Return the estimated number of ticks that can fit on the axis.N)r<>)r<rrr<00>get_tick_spaceszAxis.get_tick_spacecCsj|jd}|jd}tdd<03>||gD<00><01>r.dStdd<03>||gD<00><01>rHdStdd<03>||gD<00><01>rbdSd Sd
S) a[
Helper for `XAxis.get_ticks_position` and `YAxis.get_ticks_position`.
Check the visibility of tick1line, label1, tick2line, and label2 on
the first major and the first minor ticks, and return
- 1 if only tick1line and label1 are visible (which corresponds to
"bottom" for the x-axis and "left" for the y-axis);
- 2 if only tick2line and label2 are visible (which corresponds to
"top" for the x-axis and "right" for the y-axis);
- "default" if only tick1line, tick2line and label1 are visible;
- "unknown" otherwise.
rcss:|]2}|j<00><01>o0|j<02><01> o0|j<03><01>o0|j<04><01> VqdS)N)r1rOr3r7r9)rr<>rrrr<>*sz+Axis._get_ticks_position.<locals>.<genexpr>r<>css:|]2}|j<00><01>o0|j<02><01> o0|j<03><01>o0|j<04><01> VqdS)N)r3rOr1r9r7)rr<>rrrr<>0s<04>css8|]0}|j<00><01>o.|j<02><01>o.|j<03><01>o.|j<04><01> VqdS)N)r1rOr3r7r9)rr<>rrrr<>6srT<00>unknownN)r<>r<><00>all)r<rrrrr<00>_get_ticks_positions

zAxis._get_ticks_positioncCs|jS)z;
Return the label position (top or bottom)
)<01>label_position)r<rrr<00>get_label_position?szAxis.get_label_positioncCs
t<00><00>dS)z<>
Set the label position (top or bottom)
Parameters
----------
position : {'top', 'bottom'}
N)r<>)r<<00>positionrrr<00>set_label_positionEszAxis.set_label_positioncCs
t<00><00>dS)N)r<>)r<rrrr<>OszAxis.get_minpos)r<>)N)rF)N)F)F)FN)F)F)F)N)N)Nr)N)F)N)brr<>r<>r<><00> OFFSETTEXTPADr<44>rr<>r<>r<>r<>r<>r<>rcr<>r<>r<>r<>r<>rer<>rr <00> staticmethodrrfr<>rrrr!r#r$rrYr<>r0r;r<r=r1r2rNrcrr<>rvr<>r<>rSrTrUrVrYrZr[r]r^r_r%r)rfrhr<>rkrmrnrorprqr<>r<>r<>ryrwr<>r<>rr<>rr}r~r{r|r<>r<>r<>r<>rJrKr<>r<>r<>r<>r<>r<>r<>r<>rrrrr<><00>s<>
)


  
& -


  I!
" 






0"

<
 
%
r<EFBFBD>csF<00><00>fdd<02><08>d <09><00><01><02>fdd<05> <09>d|<00>d<07><03>_d|<00>d<07><03>_<00><01>fS)
zo
Helper to generate ``get_{data,view}_interval`` and
``set_{data,view}_interval`` implementations.
cstt|j<01><01><02><00>S)N)rNr)r<)<02> attr_name<6D>lim_namerr<00>getterYsz%_make_getset_interval.<locals>.getterFcs~|rtt|j<02><02><02>||f<02>nV<6E>|<00>\}}||krT<72>|t|||<04>t|||<05>dd<02>n <20>|t|||<05>t|||<04>dd<02>d|_dS)NT)r)r<>rNrr<>rOrg)r<r<>r<>rZoldminZoldmax)r<>r<>r<><00>setterrrr<>]s 
z%_make_getset_interval.<locals>.setterr<72>Z _interval<61>set_)F)r)<03> method_namer<65>r<>r)r<>r<>r<>r<>r<00>_make_getset_intervalSs
r<>c@s<>eZdZdZdZdd<04>Zdd<06>Zdd<08>Zd d
<EFBFBD>Zd d <0C>Zd d<0E>Z dd<10>Z
dd<12>Z dd<14>Z dd<16>Z dd<18>Zdd<1A>Zdd<1C>Zeddd<1F>\ZZed d!d<1F>\ZZd"d#<23>Zd$d%<25>Zd&d'<27>Zd(d)<29>Zd*S)+<2B>XAxis<69>xaxisr<73>c Cs<>|jdk r|<00>||<01>S|j|j}}y"|jj<04><05>}|<04>||f<02>\}}Wntk
r^difSX|jj<04>d<03>\}}|jj<04>d<04>\} }
d|ko<>dkno<>||j|ko<>|knp<>|
|ko<>|
|jkn} | ifS)z=Test whether the mouse event occurred in the x axis.
NF)rr)r<>r<>rr<>) rmr<>r<>rr<>r"r<>rr<>) r<rnr<>r<>r<><00>xaxes<65>yaxesr<73>rI<00>rr<72><00>inaxisrrrrous
  
zXAxis.containscCs,|r |j}n|j}t|jddfd|i|<02><02>S)Nrr<>r)r<>r<>r<>r)r<rr<>rrrr<><00>szXAxis._get_tickcCsZtjddtjtdtdd<05>tdddd <09>}|<01>t<06>|jj t<06>
<EFBFBD><00><02>|<00> |<01>d
|_ |S) Ng<00>?rzaxes.labelsizezaxes.labelweight)r?<00>weightzaxes.labelcolorr<00>center)r<>r<>r<>rAr<>r<>r) r<>r<>r<>r<>rr<>r3<00>blended_transform_factoryrr<><00>IdentityTransformrr<>)r<r>rrrr<><00>s

zXAxis._get_labelcCsTtjddtjtdd<04>tdddd<08>}|<01>t<06>|jj t<06>
<EFBFBD><00><02>|<00> |<01>d |_ |S)
Nr<EFBFBD>rzxtick.labelsize)r?z xtick.colorrr)r<>r<>r<>rAr<>r<>r) r<>r<>r<>r<>rr<>r3r<>rr<>r<>r<00>offset_text_position)r<r<>rrrr<><00>s

zXAxis._get_offset_textcCsD|dkr|j<00>d<02>n|dkr,|j<00>d<01>ntd<04><01>||_d|_dS)z<>
Set the label position (top or bottom)
Parameters
----------
position : {'top', 'bottom'}
r<00>baselinerz'Position accepts only 'top' or 'bottom'TN)r><00>set_verticalalignmentrr<>rg)r<r<>rrrr<><00>szXAxis.set_label_positionc
Csfg}g}|jj}xLt|<04>|j<04><01>D]8\}}|j<05><06>}|j<05>||<01>\}} |<02>|<08>|<03>| <09>q"W||fS)z<>
Get the bounding boxes for this `.axis` and its siblings
as set by `.Figure.align_xlabels` or `.Figure.align_ylablels`.
By default it just gets bboxes for self.
) rZ_align_xlabel_grp<72> enumerate<74> get_siblingsrr<>r1r2r<>)
r<rxrMr<><00>grp<72>nn<6E>axxr6<00>tlb<6C>tlb2rrrr<><00>s

zXAxis._get_tick_boxes_siblingsc Cs4|js
dS|j|d<02>\}}|j<02><03>\}}|jdkr<>y&|jjd}|<06><07><00>|<06> <09><00><01>
<EFBFBD>}Wnt k
rt|jj }YnXt j<0E>||g<00>}|j} |j<02>|| |j|jjdf<02>n~y&|jjd}|<06><07><00>|<06> <09><00><01>
<EFBFBD>}Wnt k
r<EFBFBD>|jj }YnXt j<0E>||g<00>}|j}
|j<02>||
|j|jjdf<02>dS)zy
Update the label position based on the bounding box enclosing
all the ticklabels and axis spine
N)rxrrjr)r<>r<>r><00> get_positionr<6E>r<00>spinesr<73><00>transform_pathr<68><00> get_extents<74>KeyErrorr9r3r4r5<00>y0r<30>r<>rrk<00>y1) r<rxrMr<>r<>r<><00>spine<6E> spinebboxr9rrrrrrJ<00>s2
  zXAxis._update_label_positioncCsZ|j<00><01>\}}t|<01>s"|jjj}ntj<07>|<01>}|j }|j<00>
|||j |j j df<02>dS)zw
Update the offset_text position based on the sequence of bounding
boxes of all the ticklabels
rjN)r<>r<>r'rr9<00>yminr3r4r5r<>r<>r<>rrk)r<rMr<>r<>r<>rr9rrrrK<00>s  z"XAxis._update_offset_text_positioncCs<>|<00>|<01>\}}|jd<00><02>}d}|jr4||j|7}d}|jrL||j|7}|<00><04>dkrp||j<05>|<01>j|7}n||j<05>|<01>j|7}||fS)z<>
Returns the amount of space one should reserve for text
above and below the axes. Returns a tuple (above, below)
rgr)r;r<>rlrHr<>r>rF)r<rxr9r:<00> padPixelsZaboveZbelowrrr<00>get_text_heightss zXAxis.get_text_heightscCs<>|dkr|jdddddd<05>n||dkr<|jdddddd<05>n^|dkrV|jdddd<07>nD|dkrp|jdddd<07>n*|d kr<>|jdddddd<05>n td
|<00><01>d|_d S) a<>
Set the ticks position (top, bottom, both, default or none)
both sets the ticks to appear on both positions, but does not
change the tick labels. 'default' resets the tick positions to
the default: ticks on both positions, labels at bottom. 'none'
can be used if you don't want any ticks. 'none' and 'both'
affect only the ticks, not the labels.
Parameters
----------
position : {'top', 'bottom', 'both', 'default', 'none'}
rr TF)r<>rrrrr)r<>rr<00>nonerTzinvalid position: %sN)r rrg)r<r<>rrr<00>set_ticks_position$s" 
 
 


  zXAxis.set_ticks_positioncCs>d}d|jkr"|jdp |jd}|<00>d<04>|jd|d<06>dS)zP
Move ticks and ticklabels (if present) to the top of the axes.
TrIrJrr )r<>rN)r<>r<>r )r<r>rrr<00>tick_topDs 



zXAxis.tick_topcCs>d}d|jkr"|jdp |jd}|<00>d<04>|jd|d<06>dS)zS
Move ticks and ticklabels (if present) to the bottom of the axes.
TrIrJrr )r<>rN)r<>r<>r )r<r>rrr<00> tick_bottomPs 



zXAxis.tick_bottomcCsddddd<05>|<00><00>S)zW
Return the ticks position ("top", "bottom", "default", or "unknown").
rrrTr<>)r<>r<>rTr<>)r<>)r<rrr<00>get_ticks_position\szXAxis.get_ticks_position<6F>viewr<77>r<>rx<00>dataLimcCs
|jjjS)N)rr<>Zminposx)r<rrrr<>iszXAxis.get_minposcCs,|<00><00>\}}|jjt||f|d<01>dd<02>dS)N)<01>reverse)rU)r<>rZset_xlimrA)r<r"r~rIrrrr#ls zXAxis.set_invertedcCs<>d\}}|jj<01><02>}|jj<03><02>}|r(|s<>|jdk rz|j<04>|j|<00>}|jdk rz|j\}}|j<04>||j|<00>}|j<04>||j|<00>}|s<>||f|jj_ |s<>||f|jj_ d|_
dS)N)gg<00>?T) rr<>Zmutatedxr<78>rrzr<00>default_limitsr<73>r<>rg)r<ZxminZxmax<61> dataMutated<65> viewMutatedr<64><00>valmin<69>valmaxrrrr$qs  


zXAxis.set_default_intervalscCsz|jj<01>ddgddgg<02>}|dd|dd|jjjd}|<00>d<04>}|j<06><07>d}|dkrrtt <09>
||<00><01>SdSdS)Nrr<>rjTr<54>i<><69><EFBFBD>) rr<>rirrkr<>r7<00>get_size<7A>intrB<00>floor)r<<00>endsr r<>r?rrrr<><00>s&
zXAxis.get_tick_spaceN)rr<>r<><00> axis_nameror<>r<>r<>r<>r<>rJrKr<>r<>r<>r<>r<>r<>r<>rrrr<>r#r$r<>rrrrr<>qs.+   r<>c@s<>eZdZdZdZdd<04>Zdd<06>Zdd<08>Zd d
<EFBFBD>Zd d <0C>Zd d<0E>Z dd<10>Z
dd<12>Z dd<14>Z dd<16>Z dd<18>Zdd<1A>Zdd<1C>Zdd<1E>Zedd d!<21>\ZZed"d#d!<21>\ZZd$d%<25>Zd&d'<27>Zd(d)<29>Zd*d+<2B>Zd,S)-<2D>YAxis<69>yaxisr<73>c Cs<>|jdk r|<00>||<01>S|j|j}}y"|jj<04><05>}|<04>||f<02>\}}Wntk
r^difSX|jj<04>d<03>\}}|jj<04>d<04>\} }
d|ko<>dkno<>||j|ko<>|knp<>| |ko<>| |jkn} | ifS)z_Test whether the mouse event occurred in the y axis.
Returns *True* | *False*
NF)rr)r<>r<>rr<>) rmr<>r<>rr<>r"r<>rr<>) r<rnr<>r<>r<>r<>r<>r<>rIr<>r<>r<>rrrro<00>s
  
zYAxis.containscCs,|r |j}n|j}t|jddfd|i|<02><02>S)Nrr<>r)r<>r<>r<>r)r<rr<>rrrr<><00>szYAxis._get_tickc
Cs^tjddtjtdtdd<05>tdddd d
d <0B>}|<01>t<06>t<06><08>|j j
<EFBFBD><02>|<00> |<01>d |_ |S) Nrg<00>?zaxes.labelsizezaxes.labelweight)r?r<>zaxes.labelcolorrr<>Zvertical<61>anchor)r<>r<>r<>rAr<>r<>r<>Z rotation_moder) r<>r<>r<>r<>rr<>r3r<>r<>rr<>rr<>)r<r>rrrr<><00>s

zYAxis._get_labelcCsTtjddtjtdd<04>tdddd<08>}|<01>t<06>|jj t<06>
<EFBFBD><00><02>|<00> |<01>d|_ |S) Nrg<00>?zytick.labelsize)r?z ytick.colorr<72>r)r<>r<>r<>rAr<>r<>) r<>r<>r<>r<>rr<>r3r<>rr<>r<>rr<>)r<r<>rrrr<><00>s

zYAxis._get_offset_textcCs\|j<00>d<01>|j<00>d<02>|dkr.|j<00>d<04>n|dkrD|j<00>d<06>ntd<07><01>||_d|_d S)
z<EFBFBD>
Set the label position (left or right)
Parameters
----------
position : {'left', 'right'}
r<>r<>rrrrz'Position accepts only 'left' or 'right'TN)r>Zset_rotation_modeZset_horizontalalignmentr<74>rr<>rg)r<r<>rrrr<><00>s  zYAxis.set_label_positionc Cs^g}g}|jj}xD|<04>|j<03>D]4}|j<04><05>}|j<04>||<01>\}}|<02>|<07>|<03>|<08>qW||fS)z<>
Get the bounding boxes for this `.axis` and its siblings
as set by `.Figure.align_xlabels` or `.Figure.align_ylablels`.
By default it just gets bboxes for self.
)rZ_align_ylabel_grpr<70>rr<>r1r2r<>) r<rxrMr<>r<>r<>r6r<>r<>rrrr<><00>s

zYAxis._get_tick_boxes_siblingsc Cs4|js
dS|j|d<02>\}}|j<02><03>\}}|jdkr<>y&|jjd}|<06><07><00>|<06> <09><00><01>
<EFBFBD>}Wnt k
rt|jj }YnXt j<0E>||g<00>}|j} |j<02>| |j|jjd|f<02>n~y&|jjd}|<06><07><00>|<06> <09><00><01>
<EFBFBD>}Wnt k
r<EFBFBD>|jj }YnXt j<0E>||g<00>}|j}
|j<02>|
|j|jjd|f<02>dS)zy
Update the label position based on the bounding box enclosing
all the ticklabels and axis spine
N)rxrrjr)r<>r<>r>r<>r<>rr<>r<>r<>r<>r<>r<>r9r3r4r5Zx0r<30>r<>rrk<00>x1) r<rxrMr<>r<>r<>r<>r<>r9rrrrrrJ<00>s2
  zYAxis._update_label_positioncCs>|j<00><01>\}}|jjj}|j<00>|||j|jjdf<02>dS)zw
Update the offset_text position based on the sequence of bounding
boxes of all the ticklabels
rjN) r<>r<>rr9<00>ymaxr<78>r<>rrk)r<rMr<>r<>r<>rrrrrK$ s
z"YAxis._update_offset_text_positioncCsX|j<00><01>\}}|dkrd}n|dkr*d}ntd<05><01>|j<00>|<01>|j<00>||f<02>d|_dS)zT
Parameters
----------
position : {'left', 'right'}
rrrr<>z*Position accepts only [ 'left' | 'right' ]TN)r<>r<>rZset_har<61>rg)r<r<>r<>r<>rrr<00>set_offset_position/ s zYAxis.set_offset_positioncCs<>|<00>|<01>\}}|jd<00><02>}d}|jr4||j|7}d}|jrL||j|7}|<00><04>dkrp||j<05>|<01>j|7}n||j<05>|<01>j|7}||fS)Nrgr)r;r<>rlr@r<>r>rF)r<rxr9r:r<>rrrrr<00>get_text_widthsA s zYAxis.get_text_widthscCs<>|dkr(|jdddddd<05>|<00>|<01>n<>|dkrP|jdddddd<05>|<00>|<01>n^|dkrj|jdddd<07>nD|dkr<>|jdddd<07>n*|d kr<>|jdddddd<05>n td
|<00><01>d|_d S) a<>
Set the ticks position (left, right, both, default or none)
'both' sets the ticks to appear on both positions, but does not
change the tick labels. 'default' resets the tick positions to
the default: ticks on both positions, labels at left. 'none'
can be used if you don't want any ticks. 'none' and 'both'
affect only the ticks, not the labels.
Parameters
----------
position : {'left', 'right', 'both', 'default', 'none'}
rr TF)r<>rrrrr)r<>rrr<>rTzinvalid position: %sN)r r<>rrg)r<r<>rrrr<>S s& 

 

 


  zYAxis.set_ticks_positioncCs>d}d|jkr"|jdp |jd}|<00>d<04>|jd|d<06>dS)zR
Move ticks and ticklabels (if present) to the right of the axes.
TrIrJrr )r<>rN)r<>r<>r )r<r>rrr<00>
tick_rightu s 



zYAxis.tick_rightcCs>d}d|jkr"|jdp |jd}|<00>d<04>|jd|d<06>dS)zQ
Move ticks and ticklabels (if present) to the left of the axes.
TrIrJrr )r<>rN)r<>r<>r )r<r>rrr<00> tick_left<66> s 



zYAxis.tick_leftcCsddddd<05>|<00><00>S)zW
Return the ticks position ("left", "right", "default", or "unknown").
rrrTr<>)r<>r<>rTr<>)r<>)r<rrrr<><00> szYAxis.get_ticks_positionr<6E>r<>r<>rxr<>cCs
|jjjS)N)rr<>Zminposy)r<rrrr<><00> szYAxis.get_minposcCs,|<00><00>\}}|jjt||f|d<01>dd<02>dS)N)r<>)rU)r<>rZset_ylimrA)r<r"r~rIrrrr#<00> s zYAxis.set_invertedcCs<>d\}}|jj<01><02>}|jj<03><02>}|r(|s<>|jdk rz|j<04>|j|<00>}|jdk rz|j\}}|j<04>||j|<00>}|j<04>||j|<00>}|s<>||f|jj_ |s<>||f|jj_ d|_
dS)N)gg<00>?T) rr<>Zmutatedyr<79>rrzrr<>r<>r<>rg)r<r<>r<>r<>r<>r<>r<>r<>rrrr$<00> s  


zYAxis.set_default_intervalscCsz|jj<01>ddgddgg<02>}|dd|dd|jjjd}|<00>d<04>}|j<06><07>d}|dkrrtt <09>
||<00><01>SdSdS)Nrr<>rjTg@i<><69><EFBFBD>) rr<>rirrkr<>r7r<>r<>rBr<>)r<r<>r r<>r?rrrr<><00> s&
zYAxis.get_tick_spaceN)rr<>r<>r<>ror<>r<>r<>r<>r<>rJrKr<>r<>r<>r<>r<>r<>r<>r<>rrrr<>r#r$r<>rrrrr<><00>s0* "  r<>)8r<38>r<><00>loggingZnumpyrBZ
matplotlibrZmatplotlib.artistryrZmatplotlib.cbookrYZmatplotlib.font_managerr<72>Zmatplotlib.linesr\r%Zmatplotlib.scaleZscaler<65>Zmatplotlib.text<78>textr<74>Zmatplotlib.tickerZtickerr<72>Zmatplotlib.transformsZ
transformsr3Zmatplotlib.unitsrrt<00> getLoggerr<00>_logr<67>ZArtistInspectorr&Z_line_AIZ get_settersZ_line_param_namesZaliasdrPZ_line_param_aliasesr<73>rr r<>r<><00>objectr<74>r<>r<>r<>r<>r<>rrrr<00><module>sT          
  nuu 5!