Ignore:
Timestamp:
09/12/09 16:08:34 (11 years ago)
Author:
pnorton
Message:

Trying to get the different colour bars and plot options to work with the different legend types.

File:
1 edited

Legend:

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

    r5946 r6103  
    4545        self._contourFont = config['Fonts']['ContourLines'] 
    4646         
    47     def draw(self, axes, grid, basemap=None, normalize=None, cmap=None, scale=COLOUR_SCHEME_SCALE.LINEAR, fontSize='medium'): 
     47    def draw(self, axes, grid, scheme, basemap=None, fontSize='medium'): 
    4848        """ 
    4949        Draws contour lines from the grid's data on the axis. 
     
    5656            drawn on the axis. 
    5757        """ 
    58  
    59         if cmap == None: 
    60             cmap = matplotlib.cm.get_cmap() 
    61             cmap.set_bad("w") 
    6258             
    6359        #transform the grid data to the correct projection 
    6460        grid_mapUnits = grid.transform(basemap) 
    6561                 
    66         self._drawContours(axes, cmap, grid_mapUnits, normalize, fontSize, scale) 
     62        self._drawContours(axes, scheme, grid_mapUnits, fontSize) 
    6763         
    68     def _drawContours(self, axes, cmap, grid_mapUnits, normalize, fontSize, scale): 
     64    def _drawContours(self, axes, scheme, grid_mapUnits, fontSize): 
    6965        """ 
    7066        Draws the contour lines onto the axes. 
     
    7571         
    7672        if valuesFound == True: 
    77  
    78  
    79             if normalize == None : 
    80                 normalize = matplotlib.colors.Normalize(0, 1) 
    81  
    82             log.debug("scale = %s" % (scale,)) 
    83             if scale == COLOUR_SCHEME_SCALE.LOG: 
    84  
    85                 #lev_exp = np.arange(np.floor(np.log10(z.min())-1), 
    86                 #                       np.ceil(np.log10(z.max())+1)) 
    87                 #levs = np.power(10, lev_exp) 
    88                 lmin = N.log10(normalize.vmin) 
    89                 lmax = N.log10(normalize.vmax) 
    90                 levels = N.logspace(lmin, lmax,  self.numContourLines) 
    91                 labelFormat = "%.1E"  
    92             else: 
    93                 levels = N.linspace(normalize.vmin, normalize.vmax, self.numContourLines) 
    94                 labelFormat = "%1.3f" 
     73             
     74#            if scheme.scale == COLOUR_SCHEME_SCALE.LOG: 
     75# 
     76#                #lev_exp = np.arange(np.floor(np.log10(z.min())-1), 
     77#                #                       np.ceil(np.log10(z.max())+1)) 
     78#                #levs = np.power(10, lev_exp) 
     79#                lmin = N.log10(scheme.norm.vmin) 
     80#                lmax = N.log10(scheme.norm.vmax) 
     81#                levels = N.logspace(lmin, lmax,  self.numContourLines) 
     82#                labelFormat = "%.1E"  
     83#            else: 
     84#                levels = N.linspace(scheme.norm.vmin, scheme.norm.vmax, self.numContourLines) 
     85#                labelFormat = "%1.3f" 
    9586             
    9687             
    97             extent=(grid_mapUnits.boundsX.min(), grid_mapUnits.boundsX.max(), 
    98                     grid_mapUnits.boundsY.min(), grid_mapUnits.boundsY.max()) 
    9988             
    10089            CS = axes.contour(grid_mapUnits.midpointsX,  
    10190                              grid_mapUnits.midpointsY,  
    10291                              grid_mapUnits.values, 
    103                               levels, 
    104                  cmap=cmap, 
     92                              scheme.bounds, 
     93                 cmap=scheme.colourMap, 
    10594                 origin='lower', 
    10695                 linewidths=self.contourLineWidth, 
    107                  norm=normalize, 
     96                 norm=scheme.norm, 
    10897                 extend='neither', 
    10998                 ) 
     
    111100            labelDictionary = self._contourFont.getDict(fontSize) 
    112101             
    113             axes.clabel(CS,levels[0::self.contourLabelInterval], fontsize=labelDictionary['size'], 
    114                         fmt=labelFormat) 
     102            axes.clabel(CS, 
     103                        scheme.bounds[0::self.contourLabelInterval],  
     104                        fontsize=labelDictionary['size'], 
     105                        fmt=scheme.labelFormat) 
    115106             
    116107            axes.set_aspect('auto') 
Note: See TracChangeset for help on using the changeset viewer.