Last change
on this file since 2253 was 1415, checked in by Malte Marquarding, 17 years ago |
added example for waterfall plots
|
File size:
1.3 KB
|
Rev | Line | |
---|
[1415] | 1 | #!/usr/bin/env python
|
---|
| 2 |
|
---|
| 3 | from asap import *
|
---|
| 4 | from numpy import array
|
---|
| 5 |
|
---|
| 6 | # don't print any messages
|
---|
| 7 | rcParams['verbose'] = 0
|
---|
| 8 | # load data unaveraged
|
---|
| 9 |
|
---|
| 10 | scan = scantable("../test/data/tid-t002.rpf", average=False)
|
---|
| 11 | print scan
|
---|
| 12 | # select only one IF/Pol/Beam
|
---|
| 13 | sel = selector()
|
---|
| 14 | sel.set_ifs(0)
|
---|
| 15 | sel.set_polarisations(0)
|
---|
| 16 | sel.set_beams(0)
|
---|
| 17 | scan.set_selection(sel)
|
---|
| 18 |
|
---|
| 19 | # plot in GHz
|
---|
| 20 | scan.set_unit("GHz")
|
---|
| 21 |
|
---|
| 22 | # get all spectra into a matrix [ ncycle x nchan ]
|
---|
| 23 | mat = array([ spectrum for spectrum in scan ])
|
---|
| 24 |
|
---|
| 25 | # find the min/max values
|
---|
| 26 | xax = scan.get_abcissa()
|
---|
| 27 | xmin = min(xax[0])
|
---|
| 28 | xmax = max(xax[0])
|
---|
| 29 |
|
---|
| 30 | # a bit more complicate because we want to plot nice time axis labels
|
---|
| 31 | yax = scan.get_time(asdatetime=True)
|
---|
| 32 | ymin = min(xyplotter.date2num(yax))
|
---|
| 33 | ymax = max(xyplotter.date2num(yax))
|
---|
| 34 |
|
---|
| 35 |
|
---|
| 36 | # the date labels are a bit wide, so set the viewport
|
---|
| 37 | xyplotter.axes([0.2,0.1,0.7,0.8])
|
---|
| 38 |
|
---|
| 39 | # plot the waterfall
|
---|
| 40 | xyplotter.imshow(mat,
|
---|
| 41 | aspect='auto', # scale to fill the plot
|
---|
| 42 | origin='lower', # start at the bottom-left
|
---|
| 43 | extent=[xmin,xmax,ymin,ymax], # give the axes coordinates
|
---|
| 44 | interpolation='nearest'
|
---|
| 45 | )
|
---|
| 46 | xyplotter.gca().yaxis_date() # tell the plotter that the yaxis is using dates
|
---|
| 47 |
|
---|
| 48 | # display axis labels
|
---|
| 49 | xyplotter.xlabel(xax[1])
|
---|
| 50 | xyplotter.ylabel("Obs. Time")
|
---|
| 51 |
|
---|
| 52 | #xyplotter.savefig("test.ps",orientation="landscape")
|
---|
Note:
See
TracBrowser
for help on using the repository browser.