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/colour_bar.py

    r6089 r6103  
    2424    LEGEND='legend' 
    2525    CONTINUOUS = 'continuous'  
     26    LINE = 'line' 
    2627 
    2728    @staticmethod 
    2829    def all(): 
    29         return [COLOUR_BAR_STYLES.CONTINUOUS, COLOUR_BAR_STYLES.LEGEND] 
     30        return [COLOUR_BAR_STYLES.CONTINUOUS, COLOUR_BAR_STYLES.LEGEND, COLOUR_BAR_STYLES.LINE] 
    3031 
    3132class COLOUR_SCHEME_SCALE: 
     
    5758        log.debug("drawing colour bar") 
    5859         
    59         if self.colourBarStyle == 'legend': 
     60        if self.colourBarStyle == COLOUR_BAR_STYLES.LEGEND: 
    6061            self._drawLegendColourBar(colourBarAxis, colourScheme, fontSize) 
     62        elif self.colourBarStyle == COLOUR_BAR_STYLES.LINE: 
     63            self._drawLineColourBar(colourBarAxis, colourScheme, fontSize) 
    6164        else: 
    6265            self._drawContiunousColourBar(colourBarAxis, colourScheme, fontSize) 
     
    7578         
    7679        if intervalColourbar: 
    77             kwargs['ticks'] = colourScheme.labelLocations 
     80            kwargs['ticks'] = colourScheme.midpoints 
    7881            kwargs['format'] = matplotlib.ticker.FixedFormatter(colourScheme.labels) 
    7982            kwargs['spacing'] = 'proportional' 
     
    100103        norm = colourScheme.norm 
    101104         
    102         locations, labels = colourScheme.labelLocations, colourScheme.labels 
     105        locations, labels = colourScheme.midpoints, colourScheme.labels 
    103106 
    104107        kwargs['orientation'] = self.colourBarPosition 
     
    130133                 
    131134        return leg 
     135     
     136    def _drawLineColourBar(self, colourBarAxis, colourScheme, fontSize): 
     137        """ 
     138         
     139        """ 
     140        kwargs = {} 
     141         
     142        cmap = colourScheme.colourMap 
     143        norm = colourScheme.norm 
     144        levels = colourScheme.bounds 
     145        colours = [cmap(norm(x)) for x in levels] 
     146        widths = [1.0 for x in levels] 
     147         
     148         
     149        cb = ColorbarBase(colourBarAxis, norm=norm,  
     150                          orientation='horizontal',  
     151                          filled=False) 
     152         
     153        cb.add_lines(levels, colours, widths) 
     154 
     155#        colourBarAxis.set_xticks([]) 
     156#        colourBarAxis.set_yticks([]) 
     157         
     158        if self.colourBarLabel != None: 
     159            labelDictionary = self.labelFont.getDict(fontSize) 
     160            cb.set_label(self.colourBarLabel, fontdict=labelDictionary) 
     161         
     162        return cb 
    132163         
    133164    @staticmethod 
Note: See TracChangeset for help on using the changeset viewer.