Last change
on this file since 2178 was
1415,
checked in by Malte Marquarding, 17 years ago
|
added example for waterfall plots
|
File size:
1.3 KB
|
Line | |
---|
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.