Tools for controlling the display of spectra from Python scripts are under development. The following is a summary of currently available commands. These are all assocciated with the nw command. So, for example, to expand the currently active window to the region contained within the crosshairs you would execute nw.expand().
The commands mostly operate on a single spectrum area (bounded by axes) which we refer to below as a chart. Many commands operate on the currently active chart. By default, this is the last chart created or the last one that the mouse was clicked in.
Get or set the active chart.
When getting the active chart the command will return a name. When setting the active chart the argument can be a name of a chart, in which case it is specified as a string (i.e. in quotes), or it can be a number, in which case it is an index into the number of charts in the current stage (counting from 0).
By default, and somewhat confusingly, the name of a chart is actually a string representation of an index of the total number of charts created. So the first chart ever created is named "1", the second "2", etc.
Examples:
aChart = nw.active()
nw.active('4') # Set the active chart to be the one named '4'
# (the fourth chart ever created in this session)
nw.active(3) # Set the active chart to be the one with index
# (counting from 0) 3, within this stage.
One could loop over all the charts in a stage with something like:
for iChart in range(nw.nCharts()):
nw.active(iChart)
nw.config(lvl=0.5)
Set plot limit for a specified axis
Examples:
nw.axlim('x',6.0,9.0)
Centers chart on a specified position. If no arguments are given the position is that of the crosshairs.
Examples:
nw.center() # center on crosshair position
nw.center(8.55) # center on an x value of 8.55
nw.center(8.55,174) # center on an x value of 8.55 and y value of 174.0
nw.center(x=8.60) # center on an x value of 8.60
nw.center(x=8.60,y=175) # center on an x value of 8.60 and y value of 175.0
Currently applies to pseudo 2D datasets (an array of 1D datasets). Allows user to specify a color used for specified rows.
Examples:
nw.colors([3,4],'blue') Set rows 3 and 4 (starting at 0) to be colored blue
Configure parameters of active chart. With no arguments returns a dictionary of parameters currently set on chart.
Examples:
nw.config()
neg: true, negWidth: 0.5, lvl: 1.8488425889503632, clm: 1.2, pos: true, posColor: #000000FF, negColor: #FF0000FF, posWidth: 0.5, nlvls: 20}
nw.config(lvl=2.0)
Get or set the list of datasets in the active chart. A given chart can have multiple datasets so the datasets are set and returned as python lists.
Examples:
datasets = nw.datasets()
nw.datasets(['hnco.nv'])
Redraw active chart
Examples:
nw.draw()
Redraw all charts in active stage
Examples:
nw.drawAll()
Expand chart to region in crosshairs
Examples:
nw.expand()
Show full spectrum in chart. A dimension name can be specified so the full range is only done for that dimension.
Examples:
nw.full()
nw.full('y')
Return or set the geometry (x, y, width, height) for the active stage.
Examples:
geom = nw.geometry()
nw.geometry(x=500,y=600, width = 400, height=500)
nw.geometry(x=300,y=400)
Return the cursor used in the active chart (CROSSHAIR or MOVE)
Examples:
nw.getCursor()
Gets a list of the DatasetAttributes in the active chart. This is a low-level, command for advanced use.
Get list of dataset dimensions (indices starting at 0) that are currently displayed on chart
Examples:
dims = nw.getDims('hnco.nv')
Get the current grid in the active stage
Examples:
grid = nw.getGrid()
Create a grid of charts in current stage. With no arguments resets the grid to a single chart.
Examples:
nw.grid(rows=3,columns=2)
Get or set the plot limits of current chart.
Examples:
nw.lim()
{x: [6.441539693970839, 9.495060306029162], y: [167.06294474318503, 182.93926565771682], z: [64.0, 64.0]}
nw.lim(x=[4.0,7.0])
Return the number of charts in current stage.
Examples:
n = nw.nCharts()
Create new stage (toplevel window)
Examples:
nw.new()
Currently applies to pseudo 2D datasets (an array of 1D datasets). Allows user to specify a vertical offset used for specified rows.
Examples:
nw.offset([3,4],0.2) Set rows 3 and 4 (starting at 0) to have an offset of 0.2 (as a fraction from 0 to 1.0)
Configure peak parameters of active chart. With no arguments returns a dictionary of parameters currently set on chart.
Examples:
nw.pconfig()
simPeaks: false, displayType: Peak, offColor: 0xff0000ff, drawPeaks: true, labelType: Number, onColor: 0x000000ff}
nw.pconfig(onColor='0xff0000')
Get or set the list of peaklists in the active chart. A given chart can have multiple peaklists so the peaklists are set and returned as python lists.
Examples:
peakLists = nw.peakLists()
nw.peakLists(['hnco'])
Currently applies to pseudo 2D datasets (an array of 1D datasets). Allows user to specify .which rows are displayed
nw.rows([3,4]) Display rows 3 and 4. All other rows are invisible.
Set dataset dimensions (indices starting at 0) that should be displayed on chart)
Examples:
nw.setDims('hnco.nv',[0,2,1])
Jump chart display region to center on specified peak
Examples:
nw.showPeak('hnco.32')
Should return a list of activew stages, but currently broken
Set the active controller for the scripting commands to that of the active chart. Advanced useage.
Zoom in window according to specified factor
Examples:
nw.zoom(1.1)
nw.zoom(factor= 0.9)