source: qesdi/graphplotter/trunk/graphplotter/lib/plot_builder.py @ 6313

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/qesdi/graphplotter/trunk/graphplotter/lib/plot_builder.py@6313
Revision 6313, 1.2 KB checked in by pnorton, 10 years ago (diff)

First attempt at getting the buildplot action to work.

Line 
1'''
2Created on 14 Jan 2010
3
4@author: pnorton
5'''
6
7from linplot import Plot
8import cdms2 as cdms
9
10from graphplotter.lib.data_reader import DataReader
11
12import logging
13
14log = logging.getLogger(__name__)
15
16class PlotBuilder(object):
17    '''
18    Builds a plot using the linplot library
19    '''
20
21
22    def __init__(self, params, config):
23        '''
24        Constructor
25        '''
26        self.params = params
27        self.config = config
28   
29    def buildPlot(self):
30       
31        selection = self._buildSelection()
32       
33       
34        reader = DataReader(self.config['path'], self.config['axisLookup'])
35       
36        log.debug("reader.getData = %s" % (reader.getData,))
37        xdata, ydata = reader.getData(self.params['variable'], 
38                            self.params['axis'], selection)
39       
40        log.debug("xdata = %s, ydata = %s" % (xdata, ydata,))
41       
42        plt = Plot()
43       
44        plt.draw(xdata, ydata)
45       
46        return plt.getImage()
47   
48    def _buildSelection(self):
49        sel = {}
50       
51        for k, v in self.params.items():
52            if k.find('sel_') == 0:
53                sel[k[4:]] = v
54       
55        return sel
Note: See TracBrowser for help on using the repository browser.