Ignore:
Timestamp:
01/19/05 18:24:16 (19 years ago)
Author:
mar637
Message:

added rcParams to support rc style default parameters, read from .asaprc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/python/asapplotter.py

    r203 r226  
    11from asap.asaplot import ASAPlot
     2from asap import rcParams
    23
    34class asapplotter:
     5    """
     6    The ASAP plotter.
     7    By default the plotter is set up to plot polarisations
     8    'colour stacked' and scantables across panels.
     9    The defaul plotter is called 'plotter'.
     10    Note:
     11        Currenly it only plots 'spectra' not Tsys or
     12        other variables.
     13    """
    414    def __init__(self):
    5         """
    6         The ASAP plotter.
    7         By default the plotter is set up to plot polarisations
    8         'colour stacked' and scantables across panels.
    9         The defaul plotter is called 'plotter'.
    10         Note:
    11             Currenly it only plots 'spectra' not Tsys or
    12             other variables.
    13        
    14         """
    1515        self._plotter = ASAPlot()
    1616
     
    3333                       self._sdict]
    3434        self._panels = 's'
    35         self._stacking = 'p'
     35        self._stacking = rcParams['plotter.stacking']
    3636        self._autoplot = False
    3737        self._minmax = None
    3838        self._data = None
    3939        self._lmap = []
     40        self._title = None
    4041
    4142    def _translate(self, name):
     
    9798                y = None
    9899                m = None
    99                 tlab = scan._getsourcename(i)
     100                if not self._title:
     101                    tlab = scan._getsourcename(i)                   
     102                else:
     103                    if len(self._title) == n:
     104                        tlab = self._title[i]
     105                    else:
     106                        tlab = scan._getsourcename(i)                   
    100107                x,xlab = scan.get_abcissa(i)
    101108                y = scan.getspectrum(i)
    102109                ylab = 'Flux ('+scan.get_fluxunit()+')'
    103110                m = scan.getmask(i)
    104                 if len(self._lmap) > 0:
     111                if self._lmap and len(self._lmap) > 0:
    105112                    llab = self._lmap[j]
    106113                else:
     
    138145                y = None
    139146                m = None
    140                 tlab = scan._getsourcename()
     147                tlab = self._title
     148                if not self._title:
     149                    tlab = scan._getsourcename()
    141150                x,xlab = scan.get_abcissa()
    142151                y = scan.getspectrum()
     
    194203                m = scan.getmask(k)
    195204                if colmode == 's' or colmode == 't':
    196                     tlab = self._ldict.get(self._panels)+' '+str(i)
     205                    if not self._title:
     206                        tlab = self._ldict.get(self._panels)+' '+str(i)
     207                    else:
     208                        if len(self.title) == n:
     209                            tlab = self._title[i]
     210                        else:
     211                            tlab = self._ldict.get(self._panels)+' '+str(i)
    197212                    llab = scan._getsourcename(k)
    198213                else:
    199                     tlab = scan._getsourcename(k)
    200                     if len(self._lmap) > 0:
     214                    if self._title and len(self._title) > 0:
     215                        tlab = self._title[k]
     216                    else:
     217                        tlab = scan._getsourcename(k)
     218                    if self._lmap and len(self._lmap) > 0:
    201219                        llab = self._lmap[j]
    202220                    else:
     
    214232
    215233
    216     def set_mode(self, stacking='pol', panelling='scan'):
     234    def set_mode(self, stacking=None, panelling=None):
    217235        """
    218236        Parameters:
     
    231249        if not self.set_panels(panelling):
    232250            print "Invalid mode"
     251            return
    233252        if not self.set_stacking(stacking):
    234253            print "Invalid mode"
    235         return
    236 
    237     def set_panels(self, what='scan'):       
     254            return
     255        if self._data: self.plot()
     256        return
     257
     258    def set_panels(self, what=None):       
     259        if not what:
     260             what = rcParams['plotter.panelling']
    238261        md = self._translate(what)
    239262        if md:
    240             self._panels = md       
     263            self._panels = md
     264            self._title = None
    241265            return True
    242266        return False
    243267
    244     def set_stacking(self, what='pol'):       
     268    def set_stacking(self, what=None): 
     269        if not what:
     270             what = rcParams['plotter.stacking']       
    245271        md = self._translate(what)
    246272        if md:
    247273            self._stacking = md
     274            self._lmap = None
    248275            return True
    249276        return False
     
    261288        if start is None and end is None:
    262289            self._minmax = None
    263             if self._data is not None:
    264                 self.plot()
     290            if self._data: self.plot()
    265291        else:
    266292            self._minmax = [start,end]
    267             if self._data is not None:
    268                 self.plot()
     293            if self._data: self.plot()
    269294        return
    270295   
    271     def set_legend_map(self,mp=[]):
     296    def set_legend_map(self, mp=[]):
    272297        """
    273298        Specify a mapping for the legend instead of using the default
     
    286311        """
    287312        self._lmap = mp
    288        
     313        if self._data: self.plot()
     314        return
     315
     316    def set_title(self, title=None):
     317        self._title = title
     318        if self._data: self.plot()
     319        return
     320
    289321if __name__ == '__main__':
    290322    plotter = asapplotter()
Note: See TracChangeset for help on using the changeset viewer.