Ñò D¨£Jc @ s¸ d d k l Z d d k Z e i Z d d k i Z d d k l Z d d k i Z d d k i Z d d k i Z d d k i Z d d k i Z d d k Z d e i f d „ ƒ YZ d S( iÿÿÿÿ( t divisionN( t allow_rasterizationt Spinec B sÏ e Z d Z d „ Z d „ Z e i e i ƒ e i e _ d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z e d „ ƒ Z e d „ ƒ Z d „ Z RS( s“ an axis spine -- the line noting the data area boundaries Spines are the lines connecting the axis tick marks and noting the boundaries of the data area. They can be placed at arbitrary positions. See function:`~matplotlib.spines.Spine.set_position` for more information. The default position is ``('outward',0)``. Spines are subclasses of class:`~matplotlib.patches.Patch`, and inherit much of their behavior. Spines draw a line or a circle, depending if function:`~matplotlib.spines.Spine.set_patch_line` or function:`~matplotlib.spines.Spine.set_patch_circle` has been called. Line-like is the default. c C s d S( NR ( ( t self( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyt __str__" s c K sÁ t t | ƒ i | | | _ | i | i i ƒ | | _ | i d ƒ | i t d ƒ | i t d ƒ d | _ | i d ƒ | i | i i ƒ d | _ | | _ d | _ t i ƒ | _ d S( sè - *axes* : the Axes instance containing the spine - *spine_type* : a string specifying the spine type - *path* : the path instance used to draw the spine Valid kwargs are: %(Patch)s t nones axes.edgecolors axes.linewidthg @t lineN( t superR t __init__t axest set_figuret figuret spine_typet set_facecolort set_edgecolort rcParamst set_linewidtht Nonet axist set_zordert set_transformt transAxest _positiont _patht _patch_typet mtransformst IdentityTransformt _patch_transform( R R R t patht kwargs( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyR % s c C s9 d | _ | | _ | d | _ | d | _ d | _ d S( s set the spine to be circulart circlei i N( R t _centert _widtht _heightt _angle( R t centert radius( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyt set_patch_circleM s c C s d | _ d S( s set the spine to be linearR N( R ( R ( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyt set_patch_lineU s c C sŒ | i | i d ƒ | i | i d ƒ f } | i | i ƒ } | i | i ƒ } t i ƒ i | d | d ƒ i | i ƒ i | Œ | _ d S( s NOTE: This cannot be called until after this has been added to an Axes, otherwise unit conversion will fail. This maxes it very important to call the accessor method and not directly access the transformation member variable. i i g à?N( t convert_xunitsR t convert_yunitsR R! R t Affine2Dt scalet rotate_degR" t translateR ( R R# t widtht height( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyt _recompute_transformZ s c C s9 | i d j o | i ƒ | i St t | ƒ i ƒ Sd S( NR ( R R/ R R R t get_patch_transform( R ( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyR0 j s c C s | i S( N( R ( R ( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyt get_pathq s c C s1 | i d j o d | _ | i | i ƒ n d S( Nt outwardg ( R2 g ( R R t set_position( R ( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyt _ensure_position_is_sett s c C s. | | _ | i d j o | i i ƒ n d S( sÄ register an axis An axis should be registered with its corresponding spine from the Axes instance. This allows the spine to clear any axis properties when needed. N( R R t cla( R R ( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyt register_axisz s c C s. d | _ | i d j o | i i ƒ n d S( s Clear the current spineN( R R R R5 ( R ( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyR5 … s c C s¤ | i ƒ | i } t i | ƒ o2 | d j o d } qU | d j o d } qU n | \ } } | d j oØ | d j o d t i ƒ f | _ q | i d j ou h d d 6d d 6d d 6d d 6| i } | | d d } | | d d } d t i | | | i i ƒ f | _ q t i d | i ƒ d t i ƒ f | _ n[| d j o© | i d j o. d t i i d d d d | d ƒ f | _ q | i d j o. d t i i d d d d d | ƒ f | _ q t i d | i ƒ d t i ƒ f | _ n¥ | d j o— | i d j o% d t i ƒ i | d ƒ f | _ q | i d j o% d t i ƒ i d | ƒ f | _ q t i d | i ƒ d t i ƒ f | _ n d S( s5 calculate the offset transform performed by the spineR# R g à?t zerot datai R2 t identityt leftt rightt topt bottomiÿÿÿÿi g R@t posts2 unknown spine type "%s": no spine offset performedt preN( s axesg à?( s datai ( R: R; s topR= ( iÿÿÿÿi ( i i ( i iÿÿÿÿ( i i ( R: R; ( R= s top( R: R; ( R= s top( R4 R t cbookt is_string_likeR R t _spine_transformR t ScaledTranslationR t dpi_scale_transt warningst warnR) t from_valuesR, ( R t positiont position_typet amountt offset_vect offset_xt offset_y( ( s7 /usr/lib64/python2.6/site-packages/matplotlib/spines.pyt _calc_offset_transform‹ s^ " " "" c C sº | d j o n | | _ | i ƒ | i ƒ } | i d j o t i | | i i ƒ } n- | i d j o t i | i i | ƒ } n | i | ƒ | i d j o | i i ƒ n d S( sp set the position of the spine Spine position is specified by a 2 tuple of (position type, amount). The position types are: * 'outward' : place the spine out from the data area by the specified number of points. (Negative values specify placing the spine inward.) * 'axes' : place the spine at the specified Axes coordinate (from 0.0-1.0). * 'data' : place the spine at the specified data coordinate. Additionally, shorthand notations define a special positions: * 'center' -> ('axes',0.5) * 'zero' -> ('data', 0.0) R# R7 R: R; R= R<