| Home | Trees | Index | Help |
|
|---|
| Package asap :: Module asapplotter :: Class asapplotter |
|
The ASAP plotter.
By default the plotter is set up to plot polarisations
'colour stacked' and scantables across panels.
Note:
Currenly it only plots 'spectra' not Tsys or
other variables.
| Method Summary | |
|---|---|
__init__(self,
visible)
| |
Draws arrow on specified axis from (x,y) to (x+dx,y+dy). | |
AXHLINE(y=0, xmin=0, xmax=1, **kwargs) Axis Horizontal Line Draw a horizontal line at y from xmin to xmax. | |
AXHSPAN(ymin, ymax, xmin=0, xmax=1, **kwargs) Axis Horizontal Span. | |
AXVLINE(x=0, ymin=0, ymax=1, **kwargs) Axis Vertical Line Draw a vertical line at x from ymin to ymax. | |
AXVSPAN(xmin, xmax, ymin=0, ymax=1, **kwargs) axvspan : Axis Vertical Span. | |
Plot a scantable. | |
Plot a line catalog. | |
Save the plot to a file. | |
Set the x-axis label of the plot. | |
Set the colours to be used. | |
Set the colours to be used. | |
Set font properties. | |
Enable/Disable histogram-like plotting. | |
Set the multi-panel layout, i.e. | |
Specify a mapping for the legend instead of using the default indices: Parameters: mp: a list of 'strings'. | |
Set the linestyles to be used. | |
Set a plotting mask for a specific polarization. | |
Set the plots look and feel, i.e. | |
Set the y-axis label of the plot. | |
set_panelling(self,
what)
| |
Set the range of interest on the abcissa of the plot Parameters: [x,y]start,[x,y]end: The start and end points of the 'zoom' window Note: These become non-sensical when the unit changes. | |
set_selection(self,
selection,
refresh)
| |
set_stacking(self,
what)
| |
Set the title of the plot. | |
TEXT(x, y, s, fontdict=None, **kwargs) Add text in string s to axis at location x,y (data coords) fontdict is a dictionary to override the default text properties. | |
| Method Details |
|---|
arrow(self, *args, **kwargs)Draws arrow on specified axis from (x,y) to (x+dx,y+dy). |
axhline(self, *args, **kwargs)AXHLINE(y=0, xmin=0, xmax=1, **kwargs) Axis Horizontal Line Draw a horizontal line at y from xmin to xmax. With the default values of xmin=0 and xmax=1, this line will always span the horizontal extent of the axes, regardless of the xlim settings, even if you change them, eg with the xlim command. That is, the horizontal extent is in axes coords: 0=left, 0.5=middle, 1.0=right but the y location is in data coordinates. Return value is the Line2D instance. kwargs are the same as kwargs to plot, and can be used to control the line properties. Eg # draw a thick red hline at y=0 that spans the xrange axhline(linewidth=4, color='r') # draw a default hline at y=1 that spans the xrange axhline(y=1) # draw a default hline at y=.5 that spans the the middle half of # the xrange axhline(y=.5, xmin=0.25, xmax=0.75) |
axhspan(self, *args, **kwargs)
AXHSPAN(ymin, ymax, xmin=0, xmax=1, **kwargs)
Axis Horizontal Span. ycoords are in data units and x
coords are in axes (relative 0-1) units
Draw a horizontal span (regtangle) from ymin to ymax. With the
default values of xmin=0 and xmax=1, this always span the xrange,
regardless of the xlim settings, even if you change them, eg with the
xlim command. That is, the horizontal extent is in axes coords:
0=left, 0.5=middle, 1.0=right but the y location is in data
coordinates.
kwargs are the kwargs to Patch, eg
antialiased, aa
linewidth, lw
edgecolor, ec
facecolor, fc
the terms on the right are aliases
Return value is the patches.Polygon instance.
#draws a gray rectangle from y=0.25-0.75 that spans the horizontal
#extent of the axes
axhspan(0.25, 0.75, facecolor='0.5', alpha=0.5)
|
axvline(self, *args, **kwargs)
AXVLINE(x=0, ymin=0, ymax=1, **kwargs)
Axis Vertical Line
Draw a vertical line at x from ymin to ymax. With the default values
of ymin=0 and ymax=1, this line will always span the vertical extent
of the axes, regardless of the xlim settings, even if you change them,
eg with the xlim command. That is, the vertical extent is in axes
coords: 0=bottom, 0.5=middle, 1.0=top but the x location is in data
coordinates.
Return value is the Line2D instance. kwargs are the same as
kwargs to plot, and can be used to control the line properties. Eg
# draw a thick red vline at x=0 that spans the yrange
l = axvline(linewidth=4, color='r')
# draw a default vline at x=1 that spans the yrange
l = axvline(x=1)
# draw a default vline at x=.5 that spans the the middle half of
# the yrange
axvline(x=.5, ymin=0.25, ymax=0.75)
|
axvspan(self, *args, **kwargs)
AXVSPAN(xmin, xmax, ymin=0, ymax=1, **kwargs)
axvspan : Axis Vertical Span. xcoords are in data units and y coords
are in axes (relative 0-1) units
Draw a vertical span (regtangle) from xmin to xmax. With the default
values of ymin=0 and ymax=1, this always span the yrange, regardless
of the ylim settings, even if you change them, eg with the ylim
command. That is, the vertical extent is in axes coords: 0=bottom,
0.5=middle, 1.0=top but the y location is in data coordinates.
kwargs are the kwargs to Patch, eg
antialiased, aa
linewidth, lw
edgecolor, ec
facecolor, fc
the terms on the right are aliases
return value is the patches.Polygon instance.
# draw a vertical green translucent rectangle from x=1.25 to 1.55 that
# spans the yrange of the axes
axvspan(1.25, 1.55, facecolor='g', alpha=0.5)
|
plot(self, scan=None)
Plot a scantable.
Parameters:
scan: a scantable
Note:
If a scantable was specified in a previous call
to plot, no argument has to be given to 'replot'
NO checking is done that the abcissas of the scantable
are consistent e.g. all 'channel' or all 'velocity' etc.
|
plot_lines(self, linecat=None, doppler=0.0, deltachan=10, rotate=90.0, location=None)
Plot a line catalog.
Parameters:
linecat: the linecatalog to plot
doppler: the velocity shift to apply to the frequencies
deltachan: the number of channels to include each side of the
line to determine a local maximum/minimum
rotate: the rotation (in degrees) )for the text label (default 90.0)
location: the location of the line annotation from the 'top',
'bottom' or alternate (None - the default)
Notes:
If the spectrum is flagged no line will be drawn in that location.
|
save(self, filename=None, orientation=None, dpi=None)
Save the plot to a file. The know formats are 'png', 'ps', 'eps'.
Parameters:
filename: The name of the output file. This is optional
and autodetects the image format from the file
suffix. If non filename is specified a file
called 'yyyymmdd_hhmmss.png' is created in the
current directory.
orientation: optional parameter for postscript only (not eps).
'landscape', 'portrait' or None (default) are valid.
If None is choosen for 'ps' output, the plot is
automatically oriented to fill the page.
dpi: The dpi of the output non-ps plot
|
set_abcissa(self, abcissa=None, fontsize=None)
Set the x-axis label of the plot. If multiple panels are plotted,
multiple labels have to be specified.
Parameters:
abcissa: a list of abcissa labels. None (default) let
data determine the labels
Example:
# two panels are visible on the plotter
plotter.set_ordinate(["First X-Axis","Second X-Axis"])
|
set_colors(self, colmap)
Set the colours to be used. The plotter will cycle through
these colours when lines are overlaid (stacking mode).
Parameters:
colmap: a list of colour names
Example:
plotter.set_colors("red green blue")
# If for example four lines are overlaid e.g I Q U V
# 'I' will be 'red', 'Q' will be 'green', U will be 'blue'
# and 'V' will be 'red' again.
|
set_colours(self, colmap)
Set the colours to be used. The plotter will cycle through
these colours when lines are overlaid (stacking mode).
Parameters:
colmap: a list of colour names
Example:
plotter.set_colors("red green blue")
# If for example four lines are overlaid e.g I Q U V
# 'I' will be 'red', 'Q' will be 'green', U will be 'blue'
# and 'V' will be 'red' again.
|
set_font(self, family=None, style=None, weight=None, size=None)
Set font properties.
Parameters:
family: one of 'sans-serif', 'serif', 'cursive', 'fantasy', 'monospace'
style: one of 'normal' (or 'roman'), 'italic' or 'oblique'
weight: one of 'normal or 'bold'
size: the 'general' font size, individual elements can be adjusted
seperately
|
set_histogram(self, hist=True, linewidth=None)
Enable/Disable histogram-like plotting.
Parameters:
hist: True (default) or False. The fisrt default
is taken from the .asaprc setting
plotter.histogram
|
set_layout(self, rows=None, cols=None)
Set the multi-panel layout, i.e. how many rows and columns plots
are visible.
Parameters:
rows: The number of rows of plots
cols: The number of columns of plots
Note:
If no argument is given, the potter reverts to its auto-plot
behaviour.
|
set_legend(self, mp=None, fontsize=None, mode=0)
Specify a mapping for the legend instead of using the default
indices:
Parameters:
mp: a list of 'strings'. This should have the same length
as the number of elements on the legend and then maps
to the indeces in order. It is possible to uses latex
math expression. These have to be enclosed in r'',
e.g. r'$x^{2}$'
fontsize: The font size of the label (default None)
mode: where to display the legend
Any other value for loc else disables the legend:
0: auto
1: upper right
2: upper left
3: lower left
4: lower right
5: right
6: center left
7: center right
8: lower center
9: upper center
10: center
Example:
If the data has two IFs/rest frequencies with index 0 and 1
for CO and SiO:
plotter.set_stacking('i')
plotter.set_legend(['CO','SiO'])
plotter.plot()
plotter.set_legend([r'$^{12}CO$', r'SiO'])
|
set_linestyles(self, linestyles=None, linewidth=None)
Set the linestyles to be used. The plotter will cycle through
these linestyles when lines are overlaid (stacking mode) AND
only one color has been set.
Parameters:
linestyles: a list of linestyles to use.
'line', 'dashed', 'dotted', 'dashdot',
'dashdotdot' and 'dashdashdot' are
possible
Example:
plotter.set_colors("black")
plotter.set_linestyles("line dashed dotted dashdot")
# If for example four lines are overlaid e.g I Q U V
# 'I' will be 'solid', 'Q' will be 'dashed',
# U will be 'dotted' and 'V' will be 'dashdot'.
|
set_mask(self, mask=None, selection=None)
Set a plotting mask for a specific polarization.
This is useful for masking out "noise" Pangle outside a source.
Parameters:
mask: a mask from scantable.create_mask
selection: the spectra to apply the mask to.
Example:
select = selector()
select.setpolstrings("Pangle")
plotter.set_mask(mymask, select)
|
set_mode(self, stacking=None, panelling=None)
Set the plots look and feel, i.e. what you want to see on the plot.
Parameters:
stacking: tell the plotter which variable to plot
as line colour overlays (default 'pol')
panelling: tell the plotter which variable to plot
across multiple panels (default 'scan'
Note:
Valid modes are:
'beam' 'Beam' 'b': Beams
'if' 'IF' 'i': IFs
'pol' 'Pol' 'p': Polarisations
'scan' 'Scan' 's': Scans
'time' 'Time' 't': Times
|
set_ordinate(self, ordinate=None, fontsize=None)
Set the y-axis label of the plot. If multiple panels are plotted,
multiple labels have to be specified.
Parameters:
ordinate: a list of ordinate labels. None (default) let
data determine the labels
Example:
# two panels are visible on the plotter
plotter.set_ordinate(["First Y-Axis","Second Y-Axis"])
|
set_range(self, xstart=None, xend=None, ystart=None, yend=None)
Set the range of interest on the abcissa of the plot
Parameters:
[x,y]start,[x,y]end: The start and end points of the 'zoom' window
Note:
These become non-sensical when the unit changes.
use plotter.set_range() without parameters to reset
|
set_title(self, title=None, fontsize=None)
Set the title of the plot. If multiple panels are plotted,
multiple titles have to be specified.
Example:
# two panels are visible on the plotter
plotter.set_title(["First Panel","Second Panel"])
|
text(self, *args, **kwargs)
TEXT(x, y, s, fontdict=None, **kwargs)
Add text in string s to axis at location x,y (data coords)
fontdict is a dictionary to override the default text properties.
If fontdict is None, the defaults are determined by your rc
parameters.
withdash=True will create a TextWithDash instance instead
of a Text instance.
Individual keyword arguemnts can be used to override any given
parameter
text(x, y, s, fontsize=12)
The default transform specifies that text is in data coords,
alternatively, you can specify text in axis coords (0,0 lower left and
1,1 upper right). The example below places text in the center of the
axes
text(0.5, 0.5,'matplotlib',
horizontalalignment='center',
verticalalignment='center',
transform = ax.transAxes,
)
|
| Home | Trees | Index | Help |
|
|---|
| Generated by Epydoc 2.1 on Wed May 2 14:24:32 2007 | http://epydoc.sf.net |