Ñò ”tJc @s ddkZddkiZddklZddkZeiZddk i Z ddkl Z de fd„ƒYZde fd„ƒYZdefd „ƒYZd e ifd „ƒYZd e fd „ƒYZedjo?eƒZeddƒ\ZZZeƒZeddeƒGHndS(iÿÿÿÿN(tBbox(t TransformtExtremeFinderSimplecBs#eZd„Zd„Zd„ZRS(cCs|||_|_dS(N(tnxtny(tselfRR((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyt__init__scCs¸ti|||iƒti|||iƒ}}ti||ƒ\}} |ti|ƒti| ƒƒ\} } | iƒ| iƒ} } | iƒ| iƒ}}|i| | ||ƒS(sŒ get extreme values. x1, y1, x2, y2 in image coordinates (0-based) nx, ny : number of dvision in each axis ( tnptlinspaceRRtmeshgridtraveltmintmaxt_add_pad(Rt transform_xytx1ty1tx2ty2tx_ty_txtytlontlattlon_mintlon_maxtlat_mintlat_max((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyt__call__s 1'cCs\|||i}|||i}||||}}||||}}||||fS(N(RR(RRRRRtdlontdlat((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyR !s (t__name__t __module__RRR (((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyR s  tGridFinderBasecBsDeZddd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsDtt|ƒiƒ||_||_||_||_||_dS(så the transData of the axes to the world coordinate. locator1, locator2 : grid locator for 1st and 2nd axis. Derived must define "transform_xy, inv_transform_xy" (may use update_transform) N(tsuperR"Rtextreme_findert grid_locator1t grid_locator2ttick_formatter1ttick_formatter2(RR$R%R&R'R(((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyR0s     c CsT|i|i||||ƒ}|\}}}} |i||ƒ\} } } |i|| ƒ\} }}| d joti| | ƒ}nti| | | ƒ}|d joti| | ƒ}nti| | |ƒ}|i|||||| ƒ\}}||d}||d}ti ||||||||ƒ}h}||d<||d<|i ||| |ƒ|d<|i ||| |ƒ|d-cs©ti|ƒti|ƒ}}ti|dd…tif|dd…tiffdƒ}ˆiƒi|ƒ}|dd…df|dd…df}}||fS(Nii(RR3R`RatinvertedRb(RRRcRdRR(Re(sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyR1¸s >-(t isinstanceRRR1(RReRR1((ResH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pytupdate_transform¯s   cKsFx?|D]7}|djot||||ƒqtdƒ‚qWdS(NR$R%R&R'R(sunknwonw update property(sextreme_finders grid_locator1s grid_locator2stick_formatter1stick_formatter2(tsetattrt ValueError(Rtkwtk((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pytupdateÆs N( R R!R2RRHR4R6RhRm(((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyR"/s  B   t GridFindercBs eZdddddd„ZRS(cCs»|djotddƒ}n|djo tƒ}n|djo tƒ}n|djo tƒ}n|djo tƒ}ntt|ƒi|||||ƒ|i|ƒdS(s transform : transfrom from the image coordinate (which will be the transData of the axes to the world coordinate. or transform = (transform_xy, inv_transform_xy) locator1, locator2 : grid locator for 1st and 2nd axis. iN(R2Rt MaxNLocatortFormatterPrettyPrintR#RnRRh(RRbR$R%R&R'R(((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyRÖs"         N(R R!R2R(((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyRnÔs RocBs,eZddeeedd„Zd„ZRS(i cCs0tii|||||||ƒ|iƒdS(N(tmtickerRoRtcreate_dummy_axis(Rtnbinststepsttrimtintegert symmetrictprune((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyRüscCs5|i||ƒtii|ƒ}|t|ƒdfS(N(t set_boundsRqRoRtlenR2(Rtv1tv2tlocs((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyRsN(R R!R2tTruetFalseRR(((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyRoûs  RpcBseZd„Zd„ZRS(cCs tiƒ|_|iiƒdS(N(RqtScalarFormattert_fmtRr(R((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyRscCst|djo d}ng}|D]}|||q"~}|ii|ƒg}|D]}||i|ƒqW~S(Ngð?(R2Rtset_locs(RRFtfactorRNRLRZRM((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyRs   %(R R!RR(((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyRps t__main__iidR,(tnumpyRtmatplotlib.cbooktcbooktmcbooktmatplotlib.transformsRt clip_pathRStmatplotlib.tickerttickerRqRtobjectRR"RnRoRpR tlocatorR}tnlocRƒtfmtR2(((sH/usr/lib64/python2.6/site-packages/mpl_toolkits/axes_grid/grid_finder.pyts   "¥'