Changeset 5530


Ignore:
Timestamp:
28/07/09 13:38:12 (10 years ago)
Author:
pnorton
Message:

Added some new options to the contour grid drawer that allow the number of lines and the size of the label font to be set.

Location:
qesdi/geoplot/trunk/lib/geoplot
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • qesdi/geoplot/trunk/lib/geoplot/colour_bar.py

    r5412 r5530  
    236236    axes = fig.add_axes([0.05, cbBottom, 0.9, cbHeight], frameon=False) 
    237237     
     238    if cmapRange[0] > cmapRange[1]: 
     239        log.warning("cmapRange[0] > cmapRange[1], swapping values") 
     240        cmapRange = (cmapRange[1], cmapRange[0]) 
     241 
    238242    cb = ColorbarBase(axes, cmap=cmap, norm=matplotlib.colors.Normalize(cmapRange[0],cmapRange[1]),  
    239243                      orientation=orientation) 
  • qesdi/geoplot/trunk/lib/geoplot/config.ini

    r5403 r5530  
    3030metadataFrameColour=0.75 
    3131 
    32 logoPath=/home/users/pnorton/svn/qesdi/geoplot/trunk/data/logo.png 
     32logoPath=/home/users/pnorton/svn/qesdi/geoplot_trunk/data/logo.png 
    3333EPSLogoPathRGB=/home/users/pnorton/svn/qesdi/geoplot/trunk/data/logo.eps 
    3434 
     
    9393sizeXL=15 
    9494sizeXXL=18 
     95 
     96# currently the weight and family of the contour lines 
     97# are not used 
     98[PlotFont:ContourLines] 
     99weight=regular 
     100family=sans-serif 
     101sizeSmall=6 
     102sizeMedium=10 
     103sizeLarge=14 
     104sizeXL=18 
     105sizeXXL=22 
  • qesdi/geoplot/trunk/lib/geoplot/contour_drawer.py

    r5412 r5530  
    2727from geoplot.grid import Grid 
    2828from geoplot.grid_builder_base import GridBuilderBase 
     29import geoplot.config as geoplot_config 
     30 
     31config = geoplot_config.getConfig() 
    2932 
    3033#setup the logging 
     
    3841    """ 
    3942 
    40     def __init__(self, cmap=None): 
     43    def __init__(self, cmap=None, numLines=10, fontSize='medium', labelInterval=1): 
    4144        """ 
    4245        Constructs a ContourDrawer object               
     
    4851             
    4952        self.cmap = cmap 
     53        self.numLines = numLines 
     54        self._contourFont = config['Fonts']['ContourLines'] 
     55        self.fontSize = fontSize 
     56        self.labelInterval = labelInterval 
    5057         
    5158    def draw(self, axes, grid, basemap=None, cmapRange=(None,None)): 
     
    8087                log.debug("cmapRange = %s" % (cmapRange,)) 
    8188                norm = matplotlib.colors.Normalize(cmapRange[0], cmapRange[1]) 
    82                 levels = N.linspace(cmapRange[0], cmapRange[1], 10) 
     89                levels = N.linspace(cmapRange[0], cmapRange[1], self.numLines) 
    8390             
    8491                log.debug("levels = %s" % (levels,)) 
     92                log.debug("levels[0::2] = %s" % (levels[0::2],)) 
    8593             
    8694            extent=(grid_mapUnits.boundsX.min(), grid_mapUnits.boundsX.max(), 
     
    99107                 extend='neither', 
    100108                 ) 
    101              
    102             axes.clabel(CS) 
     109            labelDictionary = self._contourFont.getDict(self.fontSize) 
     110            axes.clabel(CS,levels[0::self.labelInterval], fontsize=labelDictionary['size']) 
    103111             
    104112            axes.set_aspect('auto') 
  • qesdi/geoplot/trunk/lib/geoplot/grid_drawer.py

    r5412 r5530  
    151151            norm = None 
    152152            if cmapRange != None and cmapRange != (None, None): 
     153                 
    153154                log.debug("cmapRange = %s" % (cmapRange,)) 
    154155                norm = matplotlib.colors.Normalize(cmapRange[0], cmapRange[1]) 
  • qesdi/geoplot/trunk/lib/geoplot/layer_drawer_contour.py

    r5412 r5530  
    2121     
    2222    def __init__(self, cdmsVar, gridType='latlon', projection='latlon', cmap = None,  cmapRange=(None,None), 
    23                  transparent=False): 
     23                 transparent=False, numLines=10, fontSize='medium', labelInterval=1): 
    2424         
    2525        self._contourDrawer = ContourDrawer() 
    2626         
    2727        self.cmap = cmap 
     28        self.numLines = numLines 
    2829        self.cmapRange = cmapRange 
    2930        self.cdmsVar = cdmsVar 
    30           
     31        self.fontSize = fontSize 
     32        self.labelInterval =labelInterval 
     33         
    3134        LayerDrawerBase.__init__(self, gridType, transparent, projection) 
    3235         
     
    5861    cmap = property(__get_cmap, __set_cmap) 
    5962     
     63    def __set_numLines(self, value): 
     64        self._contourDrawer.numLines = value 
     65     
     66    def __get_numLines(self): 
     67        return self._contourDrawer.numLines 
     68 
     69    numLines = property(__get_numLines, __set_numLines) 
     70     
     71    def __set_fontSize(self, value): 
     72        self._contourDrawer.fontSize = value 
     73     
     74    def __get_fontSize(self): 
     75        return self._contourDrawer.fontSize 
     76 
     77    fontSize = property(__get_fontSize, __set_fontSize) 
     78     
     79     
     80    def __set_labelInterval(self, value): 
     81        self._contourDrawer.labelInterval = value 
     82     
     83    def __get_labelInterval(self): 
     84        return self._contourDrawer.labelInterval 
     85 
     86    labelInterval = property(__get_labelInterval, __set_labelInterval) 
    6087 
    6188    def __set_cmapRange(self, value): 
  • qesdi/geoplot/trunk/lib/geoplot/layer_drawer_grid.py

    r5412 r5530  
    4141         
    4242        self._gridDrawer = GridDrawer() 
     43         
     44        if cmapRange[0] > cmapRange[1]: 
     45            log.warning("cmapRange[0] > cmapRange[1], swapping values") 
     46            cmapRange = (cmapRange[1], cmapRange[0])         
    4347         
    4448        self.cdmsVar = cdmsVar 
  • qesdi/geoplot/trunk/lib/geoplot/tests/make_rotated_grid_data.py

    r5403 r5530  
    101101    rotatedPoleVar.north_pole_grid_longitude = 0. 
    102102     
    103     fout = cdms.open('tmp.nc', 'w') 
    104     fout.write(var) 
    105     fout.write(rotatedPoleVar) 
    106     fout.close() 
     103#    fout = cdms.open('tmp.nc', 'w') 
     104#    fout.write(var) 
     105#    fout.write(rotatedPoleVar) 
     106#    fout.close() 
    107107         
    108108    return var, rotatedPoleVar 
Note: See TracChangeset for help on using the changeset viewer.