}+zJc @ s d Z d d k i Z d d k l Z d d k Z d d k Z d e f d YZ d e f d YZ d e f d YZ d e f d YZ d d d YZ h Z d Z d d k l Z e e Z d Z d Z d Z d Z e d j o e e n d S( s The axes_divider module provide helper classes to adjust the positions of multiple axes at the drawing time. Divider: this is the class that is used calculates the axes position. It divides the given renctangular area into several sub rectangles. You intialize the divider by setting the horizontal and vertical list of sizes that the division will be based on. You then use the new_locator method, whose return value is a callable object that can be used to set the axes_locator of the axes. iN( t SubplotBaset Dividerc B s e Z d Z d d d Z e d Z e d Z d Z d Z d Z d Z d Z d Z d Z d Z e d Z d Z d d d d Z d d d Z RS( s This is the class that is used calculates the axes position. It divides the given renctangular area into several sub-rectangles. You intialize the divider by setting the horizontal and vertical lists of sizes (:mod:`mpl_toolkits.axes_grid.axes_size`) that the division will be based on. You then use the new_locator method to create a callable object that can be used to as the axes_locator of the axes. t Cc C sL | | _ | | _ | | _ | | _ | | _ | | _ d | _ d | _ d S( s :param fig: matplotlib figure :param pos: position (tuple of 4 floats) of the rectangle that will be divided. :param horizontal: list of sizes (:mod:`~mpl_toolkits.axes_grid.axes_size`) for horizontal division :param vertical: list of sizes (:mod:`~mpl_toolkits.axes_grid.axes_size`) for vertical division :param aspect: if True, the overall rectalngular area is reduced so that the relative part of the horizontal and vertical scales have same scale. :param anchor: Detrmine how the reduced rectangle is placed when aspect is True, i N( t _figt _post _horizontalt _verticalt _anchort _aspectt _xrefindext _yrefindex( t selft figt post horizontalt verticalt aspectt anchor( ( sI /usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/axes_divider.pyt __init__$ s c C sn d \ } } x7 | D]/ } | i | \ } } | | 7} | | 7} q W| d j o | | | } | Sd Sd S( Ng ( g g ( t get_size( t lt total_sizet renderert rs_sumt as_sumt st _rst _ast k( ( sI /usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/axes_divider.pyt _calc_k@ s c C sP d g } x@ | D]8 } | i | \ } } | i | d | | | q W| S( Ng i( R t append( R R R t offsetsR R R ( ( sI /usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/axes_divider.pyt _calc_offsetsQ s !c C s | | _ d S( s set the position of the rectangle. :param pos: position (tuple of 4 floats) of the rectangle that will be divided. N( R ( R R ( ( sI /usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/axes_divider.pyt set_position] s c C s | i S( s% return the position of the rectangle.( R ( R ( ( sI /usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/axes_divider.pyt get_positionf s c C sb | t i i i j p t | d j o | | _ n&