
@wOGc        	   @   s   d  d k  l Z d  d k Z d  d k Z d  d k l Z l Z d  d k l Z d  d k	 i
 Z
 d f  d     YZ d f  d     YZ d	   Z d
   Z e i e _ d   Z d   Z e   Z e e  e d <d S(   i(   t   divisionN(   t   iterablet   flatten(   t   identity_transformt   Artistc           B   s  e  Z d  Z d Z d Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d    Z" d!   Z# d"   Z$ d#   Z% d$   Z& d%   Z' d&   Z( d'   Z) d(   Z* d)   Z+ d*   Z, d+   Z- d,   Z. d-   Z/ d.   Z0 d/   Z1 d0   Z2 RS(1   sI   
    Abstract base class for someone who renders into a FigureCanvas
    R   i    c         C   s   d  |  _ d  |  _ t |  _ t |  _ t |  _ d |  _ d  |  _	 d  |  _
 t |  _ t |  _ d |  _ d  |  _ d  |  _ t |  _ d |  _ h  |  _ d  |  _ d  |  _ d  S(   Ng      ?t    i    (   t   Nonet   figuret
   _transformt   Falset   _transformSett   Truet   _visiblet	   _animatedt   _alphat   clipboxt	   _clippatht   _clipont   _lodt   _labelt   _pickert	   _containst   eventsont   _oidt   _propobserverst   axest   _remove_method(   t   self(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   __init__   s$    																	c         C   s1   |  i  d j o |  i  |   n t d   d S(   s  
        Remove the artist from the figure if possible.  The effect will not
        be visible until the figure is redrawn, e.g., with ax.draw_idle().
        Call ax.relim() to update the axes limits if desired.

        Note: relim() will not see collections even if the collection
        was added to axes with autolim=True.

        Note: there is no support for removing the artist's legend entry.
        s   cannot remove artistN(   R   R   t   NotImplementedError(   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   remove5   s    c         C   sK   |  i  } | d j p | i d j o t Sn | i i   p | i i   S(   s/   return True if units are set on the x or y axesN(   R   R   t   xaxisR	   t
   have_unitst   yaxis(   R   t   ax(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyR    O   s    	c         C   sG   t  |  d d  } | d j p | i d j o | Sn | i i |  S(   sg   for artists in an axes, if the xaxis as units support,
        convert x using xaxis unit type
        R   N(   t   getattrR   R   t   convert_units(   R   t   xR"   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   convert_xunitsV   s    c         C   sG   t  |  d d  } | d j p | i d j o | Sn | i i |  S(   sg   for artists in an axes, if the yaxis as units support,
        convert y using yaxis unit type
        R   N(   R#   R   R!   R$   (   R   t   yR"   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   convert_yunits`   s    %c         C   s   | |  _  d S(   sh   
        set the axes instance the artist resides in, if any

        ACCEPTS: an axes instance
        N(   R   (   R   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   set_axesh   s    c         C   s   |  i  S(   s7   return the axes instance the artist resides in, or None(   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   get_axesp   s    c         C   s)   |  i  } | |  i | <|  i  d 7_  | S(   Ni   (   R   R   (   R   t   funct   oid(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   add_callbackt   s    	c         C   s(   y |  i  | =Wn t j
 o n Xd  S(   N(   R   t   KeyError(   R   R,   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   remove_callbackz   s    c         C   s.   x' |  i  i   D] \ } } | |   q Wd S(   s    fire event when property changedN(   R   t   items(   R   R,   R+   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   pchanged~   s     c         C   s   |  i  S(   s"   Artist has transform explicity let(   R
   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   is_transform_set   s    c         C   s    | |  _  t |  _ |  i   d S(   s   
        set the Transformation instance used by this artist

        ACCEPTS: a matplotlib.transform transformation instance
        N(   R   R   R
   R1   (   R   t   t(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   set_transform   s    		c         C   s'   |  i  d j o t   |  _  n |  i  S(   s6   return the Transformation instance used by this artistN(   R   R   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   get_transform   s    c         C   s   d d k  } g  } y1 |  i |  \ } } | o | i |   n Wn | i   d G|  i GHn Xt |  d  o1 x. |  i   D] } | i | i |   q Wn | S(   s=   List the children of the artist which contain the mouse eventiNs   while checkingt   get_children(	   t	   tracebackt   containst   appendt	   print_exct	   __class__t   hasattrR6   t   extendt   hitlist(   R   t   eventR7   t   Lt	   hascursort   infot   a(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyR>      s    
 $c         C   s@   t  |  i  o |  i |  |  Sn t |  i  d GHt h  f S(   s  Test whether the artist contains the mouse event.

        Returns the truth value and a dictionary of artist specific details of
        selection, such as which points are contained in the pick radius.  See
        individual artists for details.
        s    needs 'contains' method(   t   callableR   t   strR;   R	   (   R   t
   mouseevent(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyR8      s    $c         C   s   | |  _  d S(   s  Replace the contains test used by this artist. The new picker should
        be a callable function which determines whether the artist is hit by the
        mouse event:

            hit, props = picker(artist, mouseevent)

        If the mouse event is over the artist, return hit=True and props
        is a dictionary of properties you want returned with the contains test.
        N(   R   (   R   t   picker(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   set_contains   s    
c         C   s   |  i  S(   sB   return the _contains test used by the artist, or None for default.(   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   get_contains   s    c         C   s0   |  i  d j	 o  |  i  i d j	 o |  i d j	 S(   s   return True if self is pickableN(   R   R   t   canvasR   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   pickable   s    c         C   s   |  i    oo |  i   } t |  o | |  |  \ } } n |  i |  \ } } | o |  i i i | |  |  q| n t |  d  o( x% |  i   D] } | i	 |  q Wn d S(   s   
        pick(mouseevent)

        each child artist will fire a pick event if mouseevent is over
        the artist and the artist has picker set
        R6   N(
   RK   t
   get_pickerRD   R8   R   RJ   t
   pick_eventR<   R6   t   pick(   R   RF   RG   t   insidet   propRC   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyRN      s    ! c         C   s   | |  _  d S(   s  
        set the epsilon for picking used by this artist

        picker can be one of the following:

          None -  picking is disabled for this artist (default)

          boolean - if True then picking will be enabled and the
            artist will fire a pick event if the mouse event is over
            the artist

          float - if picker is a number it is interpreted as an
            epsilon tolerance in points and the the artist will fire
            off an event if it's data is within epsilon of the mouse
            event.  For some artists like lines and patch collections,
            the artist may provide additional data to the pick event
            that is generated, eg the indices of the data within
            epsilon of the pick event

          function - if picker is callable, it is a user supplied
            function which determines whether the artist is hit by the
            mouse event.

              hit, props = picker(artist, mouseevent)

            to determine the hit test.  if the mouse event is over the
            artist, return hit=True and props is a dictionary of
            properties you want added to the PickEvent attributes

        ACCEPTS: [None|float|boolean|callable]
        N(   R   (   R   RG   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt
   set_picker   s     c         C   s   |  i  S(   s3   return the Pickeration instance used by this artist(   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyRL      s    c         C   s   |  i  d  j	 S(   N(   R   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   is_figure_set  s    c         C   s   |  i  S(   s   return the figure instance(   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt
   get_figure  s    c         C   s   | |  _  |  i   d S(   st   
        Set the figure instance the artist belong to

        ACCEPTS: a matplotlib.figure.Figure instance
        N(   R   R1   (   R   t   fig(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt
   set_figure  s    	c         C   s6   | |  _  | d j	 p |  i d j	 |  _ |  i   d S(   sc   
        Set the artist's clip Bbox

        ACCEPTS: a matplotlib.transform.Bbox instance
        N(   R   R   R   R   R1   (   R   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   set_clip_box  s    	c         C   s6   | |  _  |  i d j	 p
 | d j	 |  _ |  i   d S(   s[   
        Set the artist's clip path

        ACCEPTS: an agg.path_storage instance
        N(   R   R   R   R   R1   (   R   t   path(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   set_clip_path  s    	c         C   s   |  i  S(   sb   
        Return the alpha value used for blending - not supported on all
        backends
        (   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt	   get_alpha*  s    c         C   s   |  i  S(   s   return the artist's visiblity(   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   get_visible1  s    c         C   s   |  i  S(   s"   return the artist's animated state(   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   get_animated5  s    c         C   s'   |  i  o |  i d j	 p |  i d j	 S(   s#   Return whether artist uses clippingN(   R   R   R   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   get_clip_on9  s    c         C   s   |  i  S(   s   Return artist clipbox(   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   get_clip_box=  s    c         C   s   |  i  S(   s   Return artist clip path(   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   get_clip_pathA  s    c         C   s4   | |  _  | p d |  _ d |  _ n |  i   d S(   sT   
        Set  whether artist uses clipping

        ACCEPTS: [True | False]
        N(   R   R   R   R   R1   (   R   t   b(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   set_clip_onE  s
    		c         C   s>   |  i  d j	 o | i |  i  i    n | i |  i  d S(   s    set the clip properly for the gcN(   R   R   t   set_clip_rectanglet
   get_boundsRX   R   (   R   t   gc(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   _set_gc_clipQ  s    c         O   s   |  i    p d Sn d S(   s   Derived classes drawing methodN(   RZ   (   R   t   renderert   argst   kwargs(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   drawW  s    c         C   s   | |  _  |  i   d S(   sw   
        Set the alpha value used for blending - not supported on
        all backends

        ACCEPTS: float
        N(   R   R1   (   R   t   alpha(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt	   set_alpha[  s    	c         C   s   | |  _  |  i   d S(   s   
        Set Level of Detail on or off.  If on, the artists may examine
        things like the pixel width of the axes and draw a subset of
        their contents accordingly

        ACCEPTS: [True | False]
        N(   R   R1   (   R   t   on(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   set_lode  s    	c         C   s   | |  _  |  i   d S(   sM   
        set the artist's visiblity

        ACCEPTS: [True | False]
        N(   R   R1   (   R   R_   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   set_visiblep  s    	c         C   s   | |  _  |  i   d S(   sS   
        set the artist's animation state

        ACCEPTS: [True | False]
        N(   R   R1   (   R   R_   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   set_animatedz  s    	c         C   s   |  i  } t |  _  t } xo | i   D]a \ } } t |  d | d   } | d  j p t |  o t d |   n | |  t } q% W| |  _  | o |  i   n d  S(   Nt   set_s   Unknown property %s(	   R   R	   R0   R#   R   RD   t   AttributeErrorR   R1   (   R   t   propst   storet   changedt   kt   vR+   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   update  s    		 

	c         C   s   |  i  S(   N(   R   (   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt	   get_label  s    c         C   s   | |  _  |  i   d S(   sV   
        Set the line label to s for auto legend

        ACCEPTS: any string
        N(   R   R1   (   R   t   s(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt	   set_label  s    	c         C   s   |  i  S(   N(   t   zorder(   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt
   get_zorder  s    c         C   s   | |  _  |  i   d S(   sL   
        Set the zorder for the artist

        ACCEPTS: any number
        N(   Rz   R1   (   R   t   level(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt
   set_zorder  s    	c         C   sn   | i  |  _  | i |  _ | i |  _ | i |  _ | i |  _ | i |  _ | i |  _ | i |  _ |  i   d S(   s"   copy properties from other to selfN(	   R   R
   R   R   R   R   R   R   R1   (   R   t   other(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   update_from  s    c         K   sb   g  } xU | i    D]G \ } } | i   } d | } t |  |  } | i | |  g  q W| S(   sF   
        A tkstyle set command, pass kwargs to set properties
        s   set_%s(   R0   t   lowerR#   R=   (   R   Rg   t   retRt   Ru   t   funcNameR+   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   set  s     
(3   t   __name__t
   __module__t   __doc__t   anameRz   R   R   R    R&   R(   R)   R*   R-   R/   R1   R2   R4   R5   R>   R8   RH   RI   RK   RN   RQ   RL   RR   RS   RU   RV   RX   RY   RZ   R[   R\   R]   R^   R`   Rd   Rh   Rj   Rl   Rm   Rn   Rv   Rw   Ry   R{   R}   R   R   (    (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyR      sb   				
								
								"						
											
		
									t   ArtistInspectorc           B   sk   e  Z d  Z d   Z d   Z e i d  Z d   Z d   Z	 d   Z
 d   Z d d d	  Z d
   Z RS(   s   
    A helper class to inspect an Artist and return information about
    it's settable properties and their current values
    c         C   sD   t  |  o t |  o | d } n | |  _ |  i   |  _ d S(   s	  
        Initialize the artist inspector with an artist or sequence of
        artists.  Id a sequence is used, we assume it is a homogeneous
        sequence (all Artists are of the same type) and it is your
        responsibility to make sure this is so.
        i    N(   R   t   lent   ot   get_aliasest   aliasd(   R   R   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyR     s    (	c      	   C   s   g  } t  |  i  D]J } | i d  p | i d  o$ t t |  i |   o | | q q ~ } h  } x\ | D]T } t |  i |  } |  i |  p qt n | i } | d } | d | | d <qt W| S(   s   
        get a dict mapping fullname -> alias for each alias in o.
        Eg for lines: {'markerfacecolor': 'mfc',
                       'linewidth'      : 'lw',
                       }
        Ro   t   get_i
   i   (   t   dirR   t
   startswithRD   R#   t   is_aliasR   (   R   t   _[1]t   namet   namest   aliasesR+   t	   docstringt   fullname(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyR     s     - 	
s   \n\s*ACCEPTS:\s*(.*)\nc         C   s   d | } t  |  i |  p t d |  i | f   n t |  i |  } | i } | d j o d Sn | i d  o d Sn |  i i |  } | d j	 o | i	 d  Sn d S(   s%  
        get the legal arguments for the setter associated with attr

        This is done by querying the doc string of the function set_attr
        for a line that begins with ACCEPTS:

        Eg, for a line linestyle, return
        [ '-' | '--' | '-.' | ':' | 'steps' | 'None' ]
        s   set_%ss   %s has no function %st   unknowns
   alias for i   N(
   R<   R   Rp   R#   R   R   R   t   _get_valid_values_regext   searcht   group(   R   t   attrR   R+   R   t   match(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   get_valid_values  s    
	c         C   s   g  } x t  |  i  D]q } | i d  p q n t |  i |  } t |  p q n | } |  i |  o q n | i | d  q W| S(   s   
        Get the attribute strings with setters for object h.  Eg, for a line,
        return ['markerfacecolor', 'linewidth', ....]
        Ro   i   (   R   R   R   R#   RD   R   R9   (   R   t   settersR   R   R+   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   get_setters  s     c         C   s+   | i  } | d j o t Sn | i d  S(   s?   return true if method object o is an alias for another functions
   alias for N(   R   R   R	   R   (   R   R   t   ds(    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyR     s    	c         C   s4   |  i  i |  o d | |  i  | f Sn | Sd S(   s  
        return 'PROPNAME or alias' if s has an alias, else return
        PROPNAME.

        Eg for the line markerfacecolor property, which has an alias,
        return 'markerfacecolor or mfc' and for the transform
        property, which does not, return 'transform'
        s   %s or %sN(   R   t   has_key(   R   Rx   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   aliased_name  s    	i   c         C   s   | o d | } n d } | d j	 o$ |  i |  } d | | | f Sn |  i   } | i   g  } xF | D]> } |  i |  } |  i |  } | i d | | | f  qo W| S(   s  
        if prop is None, return a list of strings of all settable properies
        and their valid values

        if prop is not None, it is a valid property name and that
        property will be returned as a string of property : valid
        values
        t    R   s   %s%s: %sN(   R   R   R   t   sortR   R9   (   R   RP   t   leadingspacet   padt   acceptst   attrst   linesR   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   pprint_setters&  s    	
 c         C   s9  g  } t  |  i  D]: } | i d  o$ t t |  i |   o | | q q ~ } | i   g  } x | D] } t |  i |  } |  i |  o qn n y |   } Wn
 qn n Xt | d d  d j o+ t |  d j o t | d   d } n t |  } |  i	 | d  } | i
 d | | f  qn W| S(	   sJ   
        return the getters and actual values as list of strings'
        R   t   shapei   s   ...i   s       %s = %s(    (    (   R   R   R   RD   R#   R   R   R   RE   R   R9   (   R   R   R   t   gettersR   R+   t   valRx   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   pprint_gettersB  s"    -
 
,N(   R   R   R   R   R   t   ret   compileR   R   R   R   R   R   R   R   (    (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyR     s   						c         G   s_   t  |   } t |  d j o d i | i    GHd Sn | d } t |  d |  } |   S(   s  
    Return the value of handle property s

    h is an instance of a class, eg a Line2D or an Axes or Text.
    if s is 'somename', this function returns

      o.get_somename()

    getp can be used to query all the gettable properties with getp(o)
    Many properties have aliases for shorter typing, eg 'lw' is an
    alias for 'linewidth'.  In the output, aliases and full property
    names will be listed as

      property or  alias = value

    eg

      linewidth or lw = 2
    i    s   
NR   (   R   R   t   joinR   R#   (   R   Rf   t   inspR   R+   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   getpY  s    
c         O   s   t  |  | |  S(   N(   R   (   R   Rf   Rg   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   getx  s    c         O   s  t  |   } t |  d j o/ t |  d j o d i | i    GHd Sn t |  d j o0 t |  d j o | i d | d  GHd Sn t |   p |  g }  n t |   }  t |  d o t d   n g  } xC t d t |  d d  D]% } | i | | | | d f  q W| i	 | i
    g  } x` |  D]X } xO | D]G \ } }	 | i   } d | }
 t | |
  } | i	 | |	  g  qQWqDWg  } t |  D] } | | q~ S(	   s  
    matplotlib supports the use of setp ("set property") and getp to set
    and get object properties, as well as to do introspection on the
    object For example, to set the linestyle of a line to be dashed, you
    can do

      >>> line, = plot([1,2,3])
      >>> setp(line, linestyle='--')

    If you want to know the valid types of arguments, you can provide the
    name of the property you want to set without a value

      >>> setp(line, 'linestyle')
          linestyle: [ '-' | '--' | '-.' | ':' | 'steps' | 'None' ]

    If you want to see all the properties that can be set, and their
    possible values, you can do


      >>> setp(line)
          ... long output listing omitted'

    setp operates on a single instance or a list of instances.  If you
    are in query mode introspecting the possible values, only the first
    instance in the sequence is used.  When actually setting values,
    all the instances will be set.  Eg, suppose you have a list of two
    lines, the following will make both lines thicker and red

        >>> x = arange(0,1.0,0.01)
        >>> y1 = sin(2*pi*x)
        >>> y2 = sin(4*pi*x)
        >>> lines = plot(x, y1, x, y2)
        >>> setp(lines, linewidth=2, color='r')

    setp works with the matlab(TM) style string/value pairs or with
    python kwargs.  For example, the following are equivalent

        >>> setp(lines, 'linewidth', 2, 'color', r')  # matlab style
        >>> setp(lines, linewidth=2, color='r')       # python style
    i    s   
Ni   RP   i   s(   The set args must be string, value pairss   set_%s(   R   R   R   R   R   R   t
   ValueErrort   rangeR9   R=   R0   R   R#   (   t   hRf   Rg   R   t   funcvalst   iR   R   Rx   R   R   R+   R   R%   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   setp}  s4    *&& #  
c         C   s   d i  t |   i d d   S(   Ns   
R   i   (   R   R   R   (   RC   (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pyt   kwdoc  s    (   t
   __future__R    t   sysR   t   cbookR   R   t
   transformsR   t   matplotlib.unitst   unitsR   R   R   R   R   R   R   t   dictt   kwdocd(    (    (    s:   /Users/cmoad/workspace/matplotlib/lib/matplotlib/artist.pys   <module>   s    			I		