Changeset 2053 for trunk/python/asapplotter.py
- Timestamp:
- 03/18/11 15:51:14 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/python/asapplotter.py
r2051 r2053 55 55 self._ipanel = -1 56 56 self._panelrows = [] 57 self._headstring = None 58 self._headsize = None 57 self._headtext={'string': None, 'textobj': None} 59 58 60 59 def _translate(self, instr): … … 847 846 848 847 def _reset_header(self): 849 self._headsize = None 850 self._headstring = None 848 self._headtext={'string': None, 'textobj': None} 851 849 852 850 def _plot(self, scan): … … 1384 1382 # printing header information 1385 1383 @asaplog_post_dec 1386 def print_header(self, plot=True, fontsize= None, logger=False, selstr='', extrastr=''):1384 def print_header(self, plot=True, fontsize=9, logger=False, selstr='', extrastr=''): 1387 1385 """ 1388 1386 print data (scantable) header on the plot and/or logger. 1389 1387 Parameters: 1390 1388 plot: whether or not print header info on the plot. 1391 fontsize: header font size (valid only plot=True) default: 91389 fontsize: header font size (valid only plot=True) 1392 1390 logger: whether or not print header info on the logger. 1393 1391 selstr: additional selection string (not verified) 1394 extrastr: additional string to print (not verified)1392 extrastr: additional string to print at the beginning (not verified) 1395 1393 """ 1396 1394 if not plot and not logger: … … 1402 1400 ssum=self._data.__str__() 1403 1401 # Print Observation header to the upper-left corner of plot 1404 if self._headstring: 1405 headstr = self._headstring 1406 if extrastr != '': headstr[0]=extrastr+'\n'+headstr[0] 1407 if selstr != '': headstr[2] += selstr 1408 fontsize = fontsize or self._headsize 1409 else: 1410 headstr=[ssum[ssum.find('Observer:'):ssum.find('Flux Unit:')]] 1411 headstr.append(ssum[ssum.find('Beams:'):ssum.find('Observer:')] 1412 +ssum[ssum.find('Rest Freqs:'):ssum.find('Abcissa:')]) 1413 if extrastr != '': headstr[0]=extrastr+'\n'+headstr[0] 1414 ssel='***Selections***\n'+(selstr+self._data.get_selection().__str__() or 'none') 1415 headstr.append(ssel) 1416 del ssel 1417 fontsize = fontsize or 9 1418 self._headsize = fontsize 1419 self._headstring = headstr 1402 headstr=[ssum[ssum.find('Observer:'):ssum.find('Flux Unit:')]] 1403 headstr.append(ssum[ssum.find('Beams:'):ssum.find('Observer:')] 1404 +ssum[ssum.find('Rest Freqs:'):ssum.find('Abcissa:')]) 1405 if extrastr != '': 1406 headstr[0]=extrastr+'\n'+headstr[0] 1407 self._headtext['extrastr'] = extrastr 1408 if selstr != '': self._headtext['selstr'] = selstr 1409 ssel=(selstr+self._data.get_selection().__str__() or 'none') 1410 headstr.append('***Selections***\n'+ssel) 1420 1411 1421 1412 if plot: 1422 1413 self._plotter.hold() 1423 nstcol=len(headstr) 1424 for i in range(nstcol): 1425 self._plotter.figure.text(0.03+float(i)/nstcol,0.98, 1426 headstr[i], 1427 horizontalalignment='left', 1428 verticalalignment='top', 1429 fontsize=fontsize) 1414 self._header_plot(headstr,fontsize=fontsize) 1430 1415 import time 1431 1416 self._plotter.figure.text(0.99,0.0, … … 1435 1420 self._plotter.release() 1436 1421 if logger: 1437 sextra = headstr[0][0:headstr[0].find('Observer:')].rstrip('\n') 1438 selstr = "Selections: "+(headstr[2].lstrip('***Selections***\n') or 'none')+"\n \n" 1439 1422 selstr = "Selections: "+ssel 1440 1423 asaplog.push("----------------\n Plot Summary\n----------------") 1441 asaplog.push( sextra)1424 asaplog.push(extrastr) 1442 1425 asaplog.push(ssum[ssum.find('Beams:'):ssum.find('Selection:')]\ 1443 1426 + selstr + ssum[ssum.find('Scan Source'):]) 1444 del ssum, headstr 1445 1446 # def clear_header(self): 1447 # if not self._headstring or len(self._plotter.figure.texts) == 0: 1448 # asaplog.push("No header has been plotted. Exit without any operation") 1449 # asaplog.post("WARN") 1450 # else: 1451 # self._plotter.hold() 1452 # for textobj in self._plotter.figure.texts: 1453 # if textobj.get_text() in self._headstring: 1454 # try: 1455 # textobj.remove() 1456 # except NotImplementedError: 1457 # self._plotter.figure.texts.pop(self._plotter.figure.texts.index(textobj)) 1458 # self._plotter.release() 1459 # self._reset_header() 1427 self._headtext['string'] = headstr 1428 del ssel, ssum, headstr 1429 1430 def _header_plot(self, texts, fontsize=9): 1431 self._headtext['textobj']=[] 1432 nstcol=len(texts) 1433 for i in range(nstcol): 1434 self._headtext['textobj'].append( 1435 self._plotter.figure.text(0.03+float(i)/nstcol,0.98, 1436 texts[i], 1437 horizontalalignment='left', 1438 verticalalignment='top', 1439 fontsize=fontsize)) 1440 1441 def clear_header(self): 1442 if not self._headtext['textobj']: 1443 asaplog.push("No header has been plotted. Exit without any operation") 1444 asaplog.post("WARN") 1445 else: 1446 self._plotter.hold() 1447 for textobj in self._headtext['textobj']: 1448 #if textobj.get_text() in self._headstring: 1449 try: 1450 textobj.remove() 1451 except NotImplementedError: 1452 self._plotter.figure.texts.pop(self._plotter.figure.texts.index(textobj)) 1453 self._plotter.release() 1454 self._reset_header()
Note: See TracChangeset
for help on using the changeset viewer.