Difference between revisions of "PLOT"
From ICE Enterprises
ConvertBot (talk | contribs) (Generic plotter for Midas files (or shared Layer objects)) |
(No difference)
|
Latest revision as of 18:05, 27 April 2020
Generic plotter for Midas files (or shared Layer objects)
<file> - File(s) to plot (file1|file2|... for multiple)
Keyword Only Parameters: NOTE: These cannot be abbreviated. These keys are also
available with the SET/GET messages and/or the set/get methods.
[AUTOL] - autoscale length (in frames) (See [SCALE]) [DEF=8]
Supported by Layer1D, Layer2D, and LayerXY. Cannot be zero.
[AUTOM] - mask of layers to include in autoscaling, -1 for all. [DEF=2]
[AXIS] - axis mode = DEF,UNLAB,NUM,FRAME,TFrame,BFrame,TRFrame,BRFrame,
TLFrame,BLFrame,~Grid,~Show,Modify,~Gridfront,
~RotateVals,~AutoRotate
[BUTTONACTION] - Table to control what happens when a mouse button is pressed
(Since 3.5.2)
The table should be in the form:
{LMB=<act>,MMB=<act>,RMB=<act>}
Where <act> is one of the following:
Default - default action for button
None - do nothing
Menu - bring up menu (default for MMB)
Mark/Mark__Message - mark this location (default for LMB)
UnZoom - zoom out (default for RMB)
[C1,C2,CD] - set color min, max, and/or delta (Not Implemented)
[CM] - complex mode = Mag,Phase,Real,Imag,RnI,RvI,10Log,20Log,X,Y,Z
[CMAP] - (Layer2D, Layer1D for type 2000) Use predefined Color map =
GrayScale,Ramp,XRamp,Wheel,Terrain,Multi,T5Layer,MapLine,Grid,
Spectrum,XDatalist. [DEF=based on input file]
See MColor.colorMapList for full list. See also [NC] parameter.
[CNT] - controls mode = Click|Motion|Drag|NONE [DEF=Click]
Sets the mouse interaction messages to send to the macro.
[DRANGEUNITS] - Units to use for the dRange [READOUT] display value. (M,KM,NMI)
[FEATURES] - table of features to set on plot class
[FILE] - Input files (FILE1|FILE2...)
[LAYER] - table of default parameters for all layers. This can be used
to persist things like colormaps from one file to the next.
Use {TAG=mytagname} to change the layer name, otherwise the
root file name is used.
[MAXRANGE] - sets the maximum autoscale range (usually Y values) [DEF=100]
[MINRANGE] - sets the minimum autoscale range (usually Y values) [DEF=50]
[MIMIC] - sets the IDs of the plotters that any PAN/ZOOM messages should
be forwarded to such that they will mimic this PLOT and
PAN/ZOOM along with any changes to this plot; note that if
bi-directional behavior is desired both plots need to be
passed MIMIC= that point to the other; it is OK if the other
PLOT has not been defined yet as the ID is not used until the
first message is sent (Since NeXtMidas 3.5.4)
[NC] - (Layer2D, Layer1D for type 2000) Number of colors to use for
[CMAP] parameter [DEF=32].
[OPTIONS] - MPlot options (BStore|Axes|Mark|Contrast|CrossHairs|XCut|YCut|
ZCut|StillZoom|BlockZoom|Pager|All|Auto2D|
DBuffer|NearInt|DragZoom)
[RANGE] - sets the autoscale (max) range for the plot (and the range below
automax mode). Same as setting both SCALE=+MaxRange and
MAXRANGE=[value of RANGE]
[READOUT] - specs readout, use | as separator, i.e. READOUT=Show|onTitle
( Show|onStatus|onAxis|onTitle|
X|dX|1/X|iX|Y|dY|dY/dX|iY|Z|dZ|dZ/dX|iZ|T|dT|1/T|1/dT|dRange|
extPrec|Index|DMS|Units|View|DateString|Scientific|Azimuth)
(Macro mode default=Show|onStatus|onTitle|X|dX|Y|dY|dRange|
View|Scientific; Interactive mode default +onAxis)
[SCALE] - autoscale= AutoMin|AutoMax|MinRange|MaxRange|
MinZRange|MaxZRange|NoAverage|ExpandOnly
NOTE: Autoscaling uses the min/max exponential (sliding)
averages of [AUTOL] frames in the [AUTOM] layer(s),
unless NoAverage (Since 3.3.3) is set, then it will use
the actual min/max over [AUTOL] frames.
For TYPE=LINE: min sets y1, max sets y2 (y-axis)
For TYPE=RASTER: min sets z1, max sets z2 (color range)
AutoMin - autoscale the min
AutoMax - autoscale the max
MinRange - bound autoscale of max within a range of
(min + [MINRANGE])
MinRange - bound autoscale of min within a range of
(max - [MAXRANGE])
MinRange|MaxRange - bound autoscale of min within a range of
1. (max - [MAXRANGE]), then to a range of
2. (max - [MINRANGE])
ExpandOnly - only expand min/max (no shrink) (Since 3.4.2)
[SETUP] - table of configuration parameters to be applied to the plot
[TYPE] - set plot mode = LINE,RASTER,CONTOUR,MESH,POINT,DOT
[VIEW] - Change the plot view/layout, such as axis direction, etc.
e.g. YX swaps X and Y axes; XiY reverses direction of Y axis.
Options: XY,iXY,XiY,iXiY,YX,iYX,YiX,iYiX,
XYZ,Polar,LatLon,Mercator,Geodetic
[X1,X2,XD,XU] - set X min, max, delta, and/or units
[Y1,Y2,YD,YU] - set Y min, max, delta, and/or units
[Z1,Z2,ZD,ZU] - set Z min, max, delta, and/or units
[ZOOMTO] - open the plot zoomed to a particular portion of the plot. E.g:
nM> plot apenny.prm ZOOMTO={x1=50,x2=100,y1=0,y2=100}
This routine plots multiple files or layers in both static and real-time modes.
A file/pipe will have its I/O handled by this routine. A layer must provide its
own I/O and tell this routine when to update. The following is a short list of
*some* of the layers supported (see the LAYER explain file for details):
1000 - a type 1000 file
2000 - a type 2000 x/y grid
3000 - a non-homogeneous file with subrecords specified by
qualifiers in the form {Layer={LT=XY,X=ABSC,Y=ORD}}.
5000 - a type 5000 file with a vector component of interest
qualifier {NAME=XXX} specifies component other than all
1998 - a polygon file specifying 2 or 3 dimensions (filled)
1999 - a line segment file specifying 2 or 3 dimensions
- Plot supports markers and annotations. - See FEATURE.
- Plot supports non-file based layers - See LAYER.
- Plot supports SHAPE (.shp) files. - See the examples below.
- Plot supports NGA image files. - See the MAP option tree.
- Plot supports IMAGE (gif,tif,jpg,png,xpm,pdf) files.
Scaling:
Plot autoscaling can be set or adjusted in many ways:
0. Autoscaling of the min and max is on by default.
1. If a user specifies an X, Y or Z minimum value on the plot command line,
then the plot will not automatically scale minimum values.
2. Likewise, setting a max value will turn off autoscaling of max values.
3. Setting the range on the command line (via the "RANGE"=<range> parameter)
will set the scale to include scaling by Max data range values.
4. A user can set the autoscale options on the plot command line using the
"SCALE=<scale>" parameter.
5. Scaling can be done on an active plot by using the Scale menu described
in the Menus section below.
6. Also on an active plot, users can invoke either the setScale(String) or
the setScale(int) methods.
a. The setScale(int) method accepts values or groups of int values
corresponding to the items listed in [SCALE], above.
b. The method setScale(String) takes in String forms of those values and
includes, for convenience, several common group designations.
These group designations are:
"FIX" : De-selects autoscaling (uses current range)
"FULL" : Sets to "AUTOMIN|AUTOMAX"
"AUTO" : Same as "FULL" (Sets to "AUTOMIN|AUTOMAX")
"RANGE" : Sets to "MINRANGE|MAXRANGE".
As with many methods that relates to setting mask values, users can
use the word "NONE" to de-select all current values.
Menus:
Plot menus may be accessed by using the middle-mouse button (MMB). An MMB can
be simulated on a two-button mouse by briefly holding down the right-mouse
button. Menu selections made with the left-mouse button (LMB) and are not
"sticky" (the menu goes away after selection). Menu selections made using the
MMB are sticky. The following is a summary of the options available through
plot menus:
Files -> Addnew / Reread / [plot file #1,...]
Layers -> [same as Legend]
Features -> Load / Save / AddNew
View -> YX / iYX / YiX / iYiX / XY / iXY / XiY / iXiY / XYZ /
Polar / LatLon / Mercator / Geodetic
Mode -> Mag / Phase / Real / Imag / RnI / RvI / 10Log / 20Log
Scale -> Flags: AutoMin,AutoMax,MinRange,MaxRange,MinZRange,MaxZRange,
NoAverage
/ XMin / YMin / ZMin / MinRange / ScaleAvg / XMax / YMax /
ZMax / MaxRange
Axis -> Default / Unlabeled / Numbered / Frame / TFrame / BFrame /
TRFrame / BRFrame / TLFrame / ~Grid / ~Show / Modify /
~Gridfront / ~RotateVals / ~AutoRotate
Readout -> Show / onStatus / onAxis / onTitle / X / dX / 1/X / iX / Y /
dY /dY/dX / iY / Z / dZ / dZ/dX / iZ / T / dT / 1/T / 1/dT/
dRange / ExtPrec / Index / DMS / Units / View /
DateString / Scientific / Azimuth / dRangeUnits>
dRangeUnits -> M / KM / NMI
Legend -> [display options for each layer...]
Options -> BStore / Axes / Mark / Contrast / CrossHairs / XCut / YCut /
ZCut / StillZoom / BlockZoom / Pager / All / Auto2D /
DBuffer / NearInt / DragZoom
Query -> [PLOT status information]
Export -> [ExportImage parameters and options]
More -> Window / Controls / Animate / Theme / Precision / Type /
~Dots / Locate / GoToLocation
Exit
Menu options presented with a tilde (~) in front are toggle options. For
example, the menu selection Plot -> Axis -> ~Show toggles view of the X and Y
axes.
Menu options followed by a greater than (>) lead to further options, such as
popup menus. For example, the Readout selection dRangeUnits> pops up a menu
asking the user to select the unit type (M, KM, or NMI).
Plot Mode Options:
NeXtMidas plots support the rendering of data several ways. Typically, the
data values are treated as REAL numbers and plotted as such. Users are able
to change the data representation on the command line using the cm=<mode>
argument or via the Menus as depicted above.
Note: not all data can be rendered in all modes, or the rendering change may
have no effect.
Axis Menu Options:
Default - The default axis layout. Includes Axis lines and labeled tics
Unlabeled - The axis does not includes labels
Numbered - Axis has numbers and tics
Frame - Axis has tics only
TFrame - Show axis values at top
BFrame - Show axis values at bottom
TRFrame - Show axis values at top and right
BRFrame - Show axis values at bottom and right
TLFrame - Show axis values at top and left
~Grid - Toggle showing grid
~Show - Toggle showing axis
Modify - Brings up axis configure menu
~GridFront - Place grid in front of data
~RotateVals - Draw vertically the labels on the Y axis (since 3.1.0)
~AutoRotate - Rotate if necessary labels on the Y axis (since 3.1.0)
Options:
BStore - Put drawn data or features into a backing store for faster
refreshes. Not recommended for moving features or realtime
(piped) data.
Axes - Show axes
Mark - Show marks
Contrast - Adjust contrast (slightly darkens plot)
CrossHairs - Display cross hairs at the mouse location
XCut - Creates a "cut" of the X-Axis cross-section at the mouse position
YCut - Creates a "cut" of the Y-Axis cross-section at the mouse position
ZCut - TBD
StillZoom - Use still zoom
BlockZoom - Use block zoom
Pager - Use pager
All - Use all available data
Auto2D - Auto Geodetic To Mercator for speed where appropriate
DBuffer - Simulate Double BUffering (helps eliminate flicker)
NearInt - Use nearest integral scaling
DragZoom - Allow zooming by RMB dragging top-right corner of plot
Messages:
NAME - (IN/OUT) DESCRIPTION
-----------------------------------------------------------------------
BUTTON - (IN) (Internal Message:) Mouse click.
CLOSEFILE - (IN) Close a layer/file. Data=<TAG name>
CONTROLS - (IN) Set the controls mask: ONCLICK, ONMOTION.
INFO=<controls mask>
DBLCLICKZOOM - (IN) Disable or enable zooming in/out through the use of
double-clicking the mouse. (Since NeXtMidas 2.7.2)
DATA=TRUE,FALSE
NOTE: When enabled, this can cause confusion if Left
Mouse Clicks or Right Mouse Clicks are already
mapped by the user's application.
DRAG - (IN) (Internal Message:) Mouse drag.
DRAGBOX - (OUT) Indicates user has drawn a dragbox (a Shift+Drag).
(e.g. macro test %test_box)
DROPDATA - (OUT) Indicates user has executed a drag and drop.
DRANGEUNITS - (IN) Sets the dRange Units
EXIT - (IN) Exit plot (if EXIT_MESSAGE enabled)
EXPORTIMAGE - (IN) Creates and saves the image. INPUT DATA=<FileName>.<ext>
Image type is based on file extension.
FEATURE - (??) TBE
FOCUS - (IN) No action taken if plot receives this message.
GOTOLOCATION - (IN) Marks or Zooms to a given location. Message data is a
table with:
XVAL - X coordinate (or center point)
YVAL - Y coordinate (or center point)
RADIUS - Zoom radius (same units as plot)
FLAGS - Type of action (|MarkLocation|Zoom|)
HOLDREFRESH - (IN) Prevent refreshes, allowing the user to make many changes
before allowing refreshes again, thus drawing all
changes at once. DATA=<what to hold>
DATA=NONE (Allow all refreshes) [DEF]
DATA=[~,+,-]FEATURE (Hold refreshes on Features only)
DATA=[~,+,-]LAYER (Hold Layer refreshes)
DATA=ALL (Hold Feature AND Layer refreshes)
KEYPRESS - (IN) (Internal Message:) Keyboard interaction.
KEYRELEASE - (IN) (Internal Message:) Keyboard interaction.
LAYER - (IN) (Internal Message:) Brings up the layer configuration
menu. DATA=[LayerName]
LOADFEATURESFROMFILE - (IN) Loads features from a file.
MARK - (OUT) Indicates current pointer position. [CNT] controls when
MARK message will be sent. INFO=[0=Motion,1=Click/Drag]
MENU - (IN) (Internal Message:) Brings up the plot menu.
MODIFY - (OUT) (Internal Message:) Used with RMIF connections.
MORE - (IN) (Internal Message:) Brings up the more menu.
MOUSEWHEELZOOM - (IN) Disable or Enable zooming in/out through the use of the
mouse scroll wheel. (Since NeXtMidas 2.7.2)
DATA=TRUE,FALSE
NOFILE - (IN) (Not Implemented)
OPENFILE - (IN) Open a layer/file. DATA=<filename>. Unlike REREAD
message this processes the file header information. If
info=-1, clears old files first. To set additional
arguments or to update the viewable area of the plot
when opening, use the optional message field
QUALS=<table>. See the example for using QUALS with
OPENFILE in EXAMPLES for more details.
PANOBS - (IN) Pan the observer position.
PANX - (IN) Pan in X dimension only.
PANXY - (IN) Pan in both X and Y dimensions.
PANY - (IN) Pan in Y dimension only.
PANTW - (IN) Pan to specified time window (start,len)
PLOT - (??) TBE
POINTER - (IN) Set the current pointer position.
PRECISION - (IN) Set the readout precision (# places after decimal).
REFRESH - (IN) Perform a FULL refresh (Drawable.FULL)
REPARENT - (IN) MPLOT.reParent is invoked with data
REREAD - (IN) REREAD the file, does not reread the header
RESIZE - (IN) (Internal Message:) Resizes plot.
SAVEFEATURESTOFILE - (IN) Saves features to a file.
SHOW - (IN) (Internal Message:) Shows or hides the plot.
INFO=[1=Show,0=Hide,-1=Iconify]
SHOWN - (IN) (Internal Message:) Sets plot visibility status.
THEME - (IN) Change the THEME ("MORE -> Theme" menu)
Data=Desktop,Default,WoB,GoB,BoW,Browser,Gear1,Gear2,
Gear3,Gear4,Nak.
TIME - (IN) Set the time for animated displays. Same as using
MPLOT.setTime(String) method.
TYPE - (IN) Set Type as per [TYPE] above
UNZOOM - (I/O) Unzoom back one zoom level.
Output Data=nxm.sys.libg.DragBox (as of NeXtMidas 2.5.0)
WINDOW - (IN) (Internal Message:) Sets window status.
XCUT - (IN) Create a cut of the X-Axis cross-section
DATA={IX=<xpos>,IY=<ypos>}
YCUT - (IN) Create a cut of the Y-Axis cross-section
DATA={IX=<xpos>,IY=<ypos>}
ZOOM - (I/O) Zoom one level to the X1,X2,Y1,Y2 real world coordinates.
INPUT DATA={X1=<x1>,X2=<x2>,Y1=<y1>,Y2=<y2>} or
={XMIN=<x1>,XMAX=<x2>,YMIN=<y1>,YMAX=<y2> or
=nxm.sys.libg.DragBox
OUTPUT DATA=<same as input data> (macro initiated) or
=nxm.sys.libg.DragBox (user initiated)
ZOOMIN - (I/O) Zoom in on a plot by a given percentage (0 < % < 1)
INPUT DATA=<float> [DEF=0.5f], QUALS={PERCENT=<float>}
Examples:
DATA=0.1 (Zoom in 10%)
DATA=0.9 (Zoom in 90%)
DATA=0.5 (Zoom in 50%) [DEF]
OUTPUT DATA={XMIN=<x1>,XMAX=<x2>,YMIN=<y1>,YMAX=<y2>}
QUALS={PERCENT=0.5}
ZOOMOUT - (I/O) Zoom out on a plot by a given percentage (0 < % < 1) or
all the way out (-1)
INPUT DATA=<float> [DEF=0.5f], QUALS={PERCENT=<float>}
Examples:
DATA=0.1 (Zoom out 10%)
DATA=0.9 (Zoom out 90%)
DATA=0.5 (Zoom out 50%) [DEF]
DATA=-1 (Zoom all the way out)
OUTPUT DATA={XMIN=<x1>,XMAX=<x2>,YMIN=<y1>,YMAX=<y2>}
QUALS={PERCENT=0.5}
ZOOMX - (I/O) Same as ZOOM for X only
ZOOMY - (I/O) Same as ZOOM for Y only
NOTE 1: Some messages only support passing because a way to implement
their data portion has not yet been implemented.
NOTE 2: There is an inherent delay when using the message command with the
function SEND, since the message is put onto the plot message queue
and waits there for plot to retrieve it. Therefore, the user should
not update any values on the plot until the plot has had time to
process the message. An alternative is to use SENDW or SENDX. See
Message explain file for details on their use.
NOTE 3: Messages are intended to be processed and executed by the PLOT thread,
although it is possible to call plot.processMessage directly via an
INVOKE or through Swing EDT interaction (such as mouse interaction).
Since 3.1.1, PLOT will re-queue most messages that are not on the
PLOT thread in order to avoid possible thread collision issues. For
performance reasons, the PAINT, POINTER, and DRAG messages are
excluded from this behavior.
NOTE 4: The original MouseEvent, generated by a user interacting with the Plot,
is saved in a table in the "quals" field of the Plot Message under the
key ORIG_MSG_DATA. (Since 3.5.4)
Examples:
1. Axis and grid options:
Plot a Layer2D file with a grid in the background using a 3-D view.
nM> plot alaska.prm axis=grid view=xyz
Plot a Layer2D file with a grid in the foreground using a 3-D view.
nM> plot alaska.prm axis=grid|gridfront view=xyz
Toggle the appearance of the axis (turn it off).
nM> plot fftdemo.prm axis=show
Rotate the Y axis labels (draw the text vertically)
nM> plot fftdemo.prm axis=+rotateVals
Disable the buffer that is added to axis values
nM> plot/axisBuffer=0 fftdemo.prm
Increase the size of the axis buffer
nM plot/axisBuffer=12 fftdemo.prm
2. Change the default color attribute for all layers.
nM> plot/bg fftdemo.prm layer={color=red}
nM> mess FUNC=send ID=plot NAME=openfile INFO=-1 DATA=fftdemo.prm
NOTE: Color is still red
NOTE: The INFO=-1 flags plot to close all current files.
3. Override the units settings for the plot.
nM> plot/bg/id=myplot fftdemo.prm
nM> set reg.myplot.xUnits 1
nM> set reg.myplot.yUnits 3
4. Override the symbol settings for a layer.
nM> plot world|cities{LAYER={SYMBOL=tri,SymbolSize=8,SymbolFill=on}}
or
nM> plot world|cities{LAYER={SYMBOL=square,SymbolFill=off,COLOR=red}}
See the FEATURE explain file for details on the symbols and symbol settings
available.
5. Display x Units in MHz when DataFile units are Hz by default:
nM> plot/bg/id=myplot/xmult=6 fftdemo.prm
or
nM> set reg.myplot.setxmult 6
6. Turn AutoSelect on for a LayerT5 layer so that when a user clicks near a
point the name of the point is displayed.
nM> plot world.prm|cities.prm{Layer={AutoSelectEnable="CLICK",&
AutoSelectMode="GreatArc",&
AutoSelectRange="750000.0"}}
7. Have a default color for a file
nM> plot/bg/id=plotid LAYER={COLOR=RED}
nM> message FUNC=SEND ID=PLOTID NAME=OPENFILE INFO=-1 DATA=fftdemo.prm
or for type 2000 files
nM> plot/bg/id=plotid LAYER={COLORMAP=XRAMP}
nM> message FUNC=SEND ID=PLOTID NAME=OPENFILE INFO=-1 DATA=apenny.prm
8. Plot a KML file and set the MAX Image Icon Size for non-zoomed icons to 10
and the blending ratio for blending (tinting) colors in image Icons.
nM> plot world.shp|kmlSamples.kml{LAYER={IconSize=10,
ColorBlendRatio=.9}} view=geo
9. Plot a KML file and do not display any labels for points.
nM> plot world.shp|kmlSamples.kml{LAYER={SHOWLABEL=FALSE}} view=geo
10. Plot a KML file and position the point label above the point Icon.
nM> plot world.shp|kmlSamples.kml{LAYER={LABELPOS=TOP}} view=geo
11. Do all painting in the SWING thread (EDT)
nM> env set graphics SWING
12. Let plots draw outside of the SWING thread
nM> env set graphics SWING|REALTIME
13. Plot a map and set the Readout to display ranges in Nautical Miles
nM> plot world.shp dRangeUnits=NMI
14. Plot a 1D file that has a very large Axis START value using /INDEX
nM> wave temp.tmp start=1e30
nM> plot/index temp.tmp
15. Zoom in on a plot by 90% then zoom all the way out
nM> plot world.prm /bg
nM> message FUNC=sendw ID=PLOT NAME=ZOOMIN DATA=.9
nM> message FUNC=sendw ID=PLOT NAME=ZOOMOUT DATA=-1
16. Zoom in / out on a plot using keyboard shortcuts:
nM> plot world.prm
<press '+' keys on keyboard or number pad> (Zoom in %50)
<press '-' keys on keyboard or number pad> (Zoom out %50)
Note: These shortcuts can be re-mapped in ENV.KEYMAP.PLOT. See
$NMROOT/nxm/sys/cfg/keyMap.tbl for example.
17. Plot two files with different Z MIN/MAX ranges with z scaling by the layer
nM> plot/scalez=layer temp.tmp|apenny.prm{LAYER={ZMIN=-50,ZMAX=100}}
18. Open a file and immediately set the left Outer Limit (Bounds) using QUALS
nM> message send idplot name=openfile data="world.shp" &
quals={outerlimits={x1=-100}}
19. Create a XCut plot from a point on a Layer2D plot (message)
nM> plot/id=plotid apenny.prm /bg
nM> message func=sendw id=plotid name="XCUT" data={IX=200,IY=200}
20. Create a XCut of the current mouse position (keyboard shortcut)
nM> plot apenny.prm
Hover mouse where you want the cut and press X
21. Display the Azimuth from a clicked point to the current mouse position
in the readout.
nM> plot world.prm READOUT="+azimuth"
22. Reverse the current colormap on the apenny.prm plotted file
invoke ,, reg.plotid.layers.apenny.reverseColorMap()
23. Reverse a colormap when initially plotting
nM> plot apenny.prm /reverseColors
24. Reverse the colormap on a single layer only when initially plotting
nM> plot world.shp{LAYER={ReverseColormap="TRUE"}}|cities.prm
25. Plot type 1000 file without connecting lines by setting the Layer's line
type to "Symbol" and to make the points "Diamond" symbols.
nM> plot fftdemo.prm{LAYER={Type="Symbol",Symbol="Diamond"}}
26. Set the Max Range of Z (Data) values to be within 50 units of the
file data max value:
nM> plot apenny scale=MAXZRANGE maxrange=50
27. Invert the colormap (creating a photo negative effect)
nM> plot/id=plotid apenny.prm{LAYER={InvertColormap="TRUE"}} /bg
or using invoke after plot is already running:
nM> invoke ,, reg.plotid.layers.apenny.invertColorMap()
28. Set the mouse cursor appearance to be the wait cursor.
nM> set reg.plot.cursor "WAIT"
... do something or wait for something ...
nM> set reg.plot.cursor "DEFAULT"
29. Zoom in to a portion of the plot when the plot is opened.
nM> plot apenny.prm ZOOMTO={x1=50,x2=100,y1=0,y2=100}
30. Plot a type 2000 file with multiple lines in "line" mode
and use the /LPS switch to tell NeXtMidas to compute the
data buffer size of the file.
nM> plot alaska.prm type=line /lps=-1
31. Create a plot with a LayerGeo and set the reference time for the
StateVectors in the LayerGeo plot from within a macro:
startmacro
...
timex now sod=mySOD
plot/id=plot1 world
layer geoLayer {NAME=GL,SVA=sv1.prm,SVB=sv2.prm,...} plot1
set geoLayer.timeCode mySOD
...
endmacro
32. Create a plot with a LayerGeo and set the timecode (J1950) for the
StateVectors in the LayerGeo plot from within a macro:
startmacro
...
timex now sod=mySOD
calc myEpoch now 300 - ! 5 minutes ago
plot/id=plot1 world
layer geoLayer {NAME=GL,SVA=sv1.prm,SVB=sv2.prm,...} plot1
set geoLayer.timeCode myEpoch
...
endmacro
33. Create a plot that updates a RESULT named "cfreq" with the Y value of
the current mouse position whenever the mouse is clicked:
nM> plot/xcnt=click/mtag={y="cfeq"} nxm.sys.dat.sinewave
34. Save/export contents of the PLOT to an image file.
nM> plot/bg/id=plotid world
nM> message FUNC=SEND ID=PLOTID NAME=EXPORTIMAGE DATA=myplotimage.png
35. Change the default units labels on the X axis to custom text:
nM> plot/bg/id=plot1 sinewave
nM> set reg.plot1.XAxisLabel "Puppies"
36. Change the custom label on the X axis back to default text:
nM> set reg.plot1.XAxisLabel ""
37. Open a new file and pass in the /ALL argument in order to show all the
data in the plot area. (Since NeXtMidas 3.3.1)
nM> message send plot1 name="OPENFILE" info=-1 &
data=myfile quals={"/ALL=true"}
38. Hiding/showing a layer:
nM> plot/bg/id=plotid world.prm|cities.prm
nM> set reg.plotid.layers.cities.enable -GLOBAL ! hide cities layer
nM> set reg.plotid.layers.cities.enable +GLOBAL ! show cities layer
nM> set reg.plotid.layers.cities.enable ~GLOBAL ! toogle layer visibility
nM> invoke ,, reg.plotid.layers.cities.toggle ! toggle layer visibility
Using dRange and Azimuth Readout Options (LatLon and Mercator Views Only)
========================================================
The dRange and Azimuth readout options give the user the distance and
direction between a mouse click location and the current mouse pointer.
The default readout includes dRange but Azimuth must be enabled by the
user. The units of measurement for the dRange is meters by default but
can be set to kilometers or nautical miles.
Holding Graphical Refreshes on Features and Layers
========================================================
In NeXtMidas 2.7.2, enhancements were made to allow users to suspend
graphical refreshes on entire plots or just the Features on the plots. This
was expanded in 2.7.4 to allow users to hold refreshes on just the Layers
while still allowing Feature refreshes to continue.
The typical use of holding refreshes is when a user is processing a large
amount of updates in a short amount of time and does not want or need to
draw each update.
For detailed example see $NMROOT/nxm/sys/test/test_plot_hold_refreshes.mm
NOTE: In order to avoid unnecessary refreshes, when re-allowing refreshes
on Layers, NeXtMidas does NOT automatically refresh the plot. It is up to
the user to do this (if needed).
ZOOMing and Adjusting the Viewable Area of a Plot
========================================================
Plot keeps track of and applies user bounds changes as they occur.
This allows the user to set ZOOM boundaries (as well as standard x1=, x2=,
y1=, etc boundaries) before actually having data. The QUALS field of some
MESSAGEs was expanded to allow for passing in outer limits or viewport
limits (current view) using the syntax QUALS={OUTERLIMITS={X1=,X2=,Y1=,
Y2=,Z1=,Z2=},VIEWLIMITS={X1=,X2=,Y1=, Y2=,Z1=,Z2=}}. See the example in
the example section. Since 3.1.0, users can substitute XMIN, XMAX, YMIN,
YMAX, ZMIN, and ZMAX for X1, X2, Y1, Y2, Z1, and Z2, respectively.
In NeXtMidas 2.9.1, the ZOOMTO= keyword only parameter was added to allow
users to zoom in on a plot when they initially open it.
ZOOMIN:
ZOOMIN allows a user to quickly zoom in on a plot without the need for
dragging a box or sending a message. To ZOOMIN using the keyboard, simply
press the '+' key (there is no need to hold down SHIFT). This will zoom
in the current view by the default (currently 50%). If /dblclickzoom is
enabled, double-clicking with the left mouse button will re-center the
plot on the location of the double-click and then execute a ZOOMIN.
Finally, rotating the mouse scroll wheel forward will execute one ZOOMIN
per notch.
ZOOMOUT:
ZOOMOUT allows a user to quickly zoom out on a plot without the need for
dragging a box or sending a message. To ZOOMOUT using the keyboard, simply
press the '-' key. This will zoom out the current view by the default
(currently 50%). If /dblclickzoom is enabled, double-clicking with the
right mouse button will re-center the plot on the location of the
double-click and then execute a ZOOMOUT. Finally, rotating the mouse
scroll wheel backward will execute one ZOOMOUT per notch.
PAMNXY:
PANXY allows a user to quickly shift the viewable area of a plot. To
PANXY, simply press the arrow (left, right, up, down) key of the direction
you wish to shift. This will move the viewable area by the default pan
view adjustment (currently 10%).
Pressing HOME (left), END (right), PAGE UP, or PAGE DOWN
will adjust the view by a greater percentage (currently 50%).
You can also click and drag the small scrollbar that appears when zoomed
in or press and hold the Middle Mouse Button and drag the mouse to pan.
NOTE 1: Keyboard shortcut keys can be remapped using the environment
variable KEYMAP={PLOT={<TABLE>}}
NOTE 2: Double-Click ZOOMIN/ZOOMOUT can be enabled/disabled with the switch
/DBLCLICKZOOM=TRUE,FALSE.
NOTE 3: Mouse scroll wheel ZOOMIN/ZOOMOUT can be disabled with the switch
/MOUSEWHEELZOOM=FALSE, which is the current default.
NOTE 4: ZOOMIN/ZOOMOUT from the keyboard, message, or mouse does not use
the stored image ZOOMs (history), therefore the normal limitation
of fifteen ZOOM levels does not apply. Thus, ZOOMOUTs will
execute a redraw.
NOTE 5: In addition to the keyboard/mouse shortcuts, ZOOMIN/ZOOMOUT/
PANXY can be accomplished using messages, which allows the user
to use a different percentage for the action. See messages above for
details.
Plotting KML files
========================
In NeXtMidas, KML files are plotted like other files. However, since the
representation (Mark-up) of the data is handled in the KML file itself via
element tags and attributes, there are no input arguments for items such as
colors, fonts, etc.
NeXtMidas recognizes the .kml extension on the file and parses it using its
KML parser, which uses the Java SAX XML parser. Mal-formed files will throw
exceptions as in XML.
**NOTE**: In the JAVA SAX parser, ending element tag names are case
sensitive relative to the starting element tag. For example:
<folder> ... </folder> CORRECT
<FOLDER> ... </FOLDER> CORRECT
<Folder> ... </Folder> CORRECT
<folder> ... </Folder> - WRONG -
The following plots the drawable objects in a KML file on a globe:
nM> plot world.shp|nxm.sys.test.kmlSamples.kml view=geo
Note: The above example file requires an Internet connection to properly
display the Ground Overlay and Image Icons.
NeXtMidas allows the user to configure several items not specified in the
KML specification:
ALLOWPOPUPS - Boolean - Whether or not to show popups for KML points
COLORBLENDRATIO - float - Ratio (0 to 1.0) to blend (tint) an image icon
FORCEREFRESH - boolean - Ignore the modified date on a linked file.
(see details below).
ICONSIZE - int - Max allowable size of (non-zoomed) Image Icons
ICONZOOMSIZE - int - Max allowable size of (zoomed) Image Icons
LABELPOS - String - Where to position the labels for points.
Allowable settings:
TOP - Centered above the icon
TOPR - Text begins near the top right
BOTTOM - Centered below the icon
BOTTOMR - Text begins near bottom right
RIGHT - Text begins to the right of icon
SHOWLABEL - Boolean - Whether or not to display labels for points.
Without FORCEREFRESH being set to TRUE, LayerKML will ignore (not plot)
any network linked file that has already been plotted if it has not been
modified, regardless of the specified refresh interval. This is done to
avoid "blinking" displays from the refresh and to conserve cpu. The flag
FORCEREFRESH is intended to be used when the network linked file is a cgi-
script and can generate new data without the script itself changing.
For more information, see the JavaDocs for LayerKML.java and the Google
online reference (for KML structure).
Plotting type 3000 files
========================
A non-homogeneous file is plotted X vs. Y where the axis is specified by:
nM> plot file3000{Layer={LAYERTYPE=XY,X=LAT,Y=LON}}
or
nM> plot file3000{Layer={LT=XY,X=LAT,Y=LON}}
where LT or LAYERTYPE represents the Layer Type. The layer type may be a
full package name (i.e. nxm.sys.libg.Layer1D) or the layer suffix (i.e. 1D,
2D, XY,...) if the layer named Layer[suffix] and is located in nxm.sys.libg.
Type 3000 files that store multiple columns of data can be plotted using
LayerMulti:
nM> plot testxy3000.prm{Layer={LT="Multi",COLUMNS="*"}}
or
nM> plot testxy3000.prm{Layer={LT="Multi",COLUMNS="ORD|ORD2|ORD3"}}
Plotting type 5000 files
========================
To plot a cone flag file clipped at a plane vertical to the point (the POS
field in the file) on the Earth's surface (this is what X-Midas does)
nM> plot world.prm|coneflags5000.prm{layer={flags=CONEFLAGVERT}}
To plot a cone flag file along the Earth's surface, extending to the horizon
nM> plot world.prm|coneflags5000.prm
Plotting type 6000 files
========================
These types of files are also non-homogeneous and can be treated almost
exactly like a type 3000. In fact, type 6000 files are merely extensions of
type 3000 files that allow longer record names and more than 26 subrecords.
For example, a Type 6000 file with columns "LON" and "LAT" can be plotted
using the following syntax:
nM> plot testfile6000.prm{LAYER={LT="Scatter",X="LON",Y="LAT"}
Plotting SHAPE (.shp) files
===========================
To plot a SHAPE file:
nM> plot world.shp
If the SHAPE file has a companion file (.dbf) which contains the country
name (here indicated by NAME), the following allows the country name to be
displayed in the readout.
nM> plot world.shp{LAYER={LABEL=NAME}}
The layer used by shape files (see nxm.sys.libg.LayerShape) can use one of
the following algorithms to determine how to color the shapes in the file:
Default - Uses the default algorithm (currently MinAdj, but may change
between releases).
Mono - Monochrome, all shapes have the same color. This was the default
in NeXtMidas 2.0.0 and earlier when a single COLOR was given.
NOTE: The Monochrome color will be the first color listed in
the colormap. To change the mono color, change the first color
in the colormap.
Mod5 - The index of the color (in the color map) to use for a shape is
equal to the shape's index MOD 5. This was the default in
NeXtMidas 2.0.0 and earlier. (The color map must have 5 or more
colors in it for this to work.)
ModN - Same as Mod5 but uses all available colors in the color map.
MinAdj - Minimizes the number of adjacent shapes that have the same color
(works best with five or more colors in the color map). This
algorithm considers two shapes to be adjacent if they share
a common point. (Note: This is the slowest option, but has the
best results, by far.) If the file is an ARC or POINT file then
this defaults to using the ModN algorithm to improve speed.
OnSelect- Colors the selected shape in one color while other items use
a default color. When the world.shp file is used this enables
the user to highlight an individual country. By invoking the
setSelectedValue(<tag>,<value>,<ignoreCase>) method in
LayerShape. For example:
nM> invoke,,reg.plot.layers.world.setSelectedValue(CODE,US,TRUE)
nM> plot world.shp{LAYER={LABEL=NAME,ColoringMode=Mod5}}
nM> plot world.shp{LAYER={LABEL=NAME,ColoringMode=MinAdj}}
Plotting NGA images (requires MAP option tree)
==============================================
To plot NGA data:
1) Generate the list of table-of-contents files in the NGA directory
structure Assuming the directory /midas/mapdata/ contains NGA directories
(such as CIB10_129, GNC_126, JNC_127, ...)
nM>mapper MTOC /midas/mapdata/master_toc.tmp /midas/mapdata
2) Create a table file (.tbl) with FILE= references for all desired layers
in addition to /midas/mapdata/master_toc.tmp.
For example (master_toc_maps.tbl):
FILE=nxm.map.dat.world.shp{LAYER={LABEL=NAME},TAG=CONTINENTS}
FILE=/midas/mapdata/master_toc.tmp
3) Run the plot command with the table file as the SETUP= input.
nM>plot setup=/midas/mapdata/master_toc_maps.tbl
Zoom into area of map with imagery to see them.
Steps 1 and 2 only have to be performed once (unless the NGA directories are
changed, of course)
If the NGA data is on a remote system the NeXtMidas Map Server can be used to
serve the images up for remote plotting with LayerNMS (see EXPLAIN MAPSERVER).
Plotting Maps from a Map Server (WMS/NMS)
================================================
o Plot images from an OpenGIS Web Map Server (WMS):
nM> plot {LT="WMS",URL="http://<server>"}|world.prm view=LatLon
Since 3.3.2, the URL String can contain a comma-separated list of multiple
URLs. NeXtMidas will attempt to connect to the first URL in the list, and
if that is not reachable, then it will attempt to connect to the second
URL in the list, etc.
Since 3.3.3, the automatic connection to the Map Server while setting the
URL can be disabled using (NOTE: AutoConnect= must be before URL=):
nM> set url "http://<server>:<port>/..."
nM> plot {LT="WMS",AutoConnect=false,URL="^url"}|world.prm view=LatLon
later, the connection can be established using:
nM> res reg.plot.layers.wms.connect()
By default, no WMS layers are turned on. The WMS layers can be graphically
enabled using the WMS config panel. In the plot MMB->LAYERS->WMS to get
the config window. Layers can be specified on the command line by name
separated by commas (where the highest priority is at the end of list):
nM> plot {LT="WMS",URL=mapURL,Layers="shapePolitical,Relief,cadrg"}|...
To override the default network connection/open and read timeouts when
communicating with the Map Server to 30 and 99 seconds, respectively.
NOTE: the ConnectTimeout and ReadTimeout MUST come before the URL setting:
nM> plot {LT="WMS",ConnectTimeout=30,ReadTimeout=99,URL=mapURL,...}|...
To enable use of tiles with three download threads in the background:
nM> plot {LT="WMS",URL=mapURL,UseTiles=true,DownloadThreads=3,...}|...
Once the layer is configured, the configuration can be dumped to a table
using:
nM> res reg.plot.layers.wms.config
Note that layer names and URLs are CASE SENSITIVE, so always use quotes!
o Plot images from the NeXtMidas Map Server (NMS):
nM> plot {LT="NMS",URL="http://<server>:<port>/nms/"} view=LatLon
Plot images from the mapserver with the BLUEMARBLE background:
nM> plot {LT="NMS",URL="http://<server>:<port>/nms/",&
BACKGROUND="BLUEMARBLE"}|world.shp{LAYER={LABEL="NAME",OPAQ=0}} &
view=LatLon
Plotting Files Using LayerGeo
=============================
o NeXtMidas has a custom layer for plotting certain geo data. This class
is intended for use through the macro language.
o When bypassing the macro language (i.e. calling directly from Java),
users should call the setRef(Object ref) method to set their Midas
reference, otherwise some files (such as those in RAM, may not be found).
o LayerGeo uses two StateVectors (usually type 500 files) to compute
FDOA,TDOA, etc. These two files typically reference their data elements
through a time reference (offset from start). Since NeXtMidas 3.1.1,
when setting the desired time for the StateVectors, users can call either
LayerGeo.setTime(double) to pass in the reference time, or call
LayerGeo.setTimeCode(double) and pass in a J1950 time, which is
then converted to the appropriate reference time for the StateVectors.
o When setting the reference time in LayerGeo.setTime(double), if the given
value is a double greater than 86400*100 (100 days), NeXtMidas assumes
the user meant to call setTimeCode(double), so the given value is
passed through to that method.
Plotting IMAGE Files (and TBL Files)
====================================
To plot the PNG file in the SYS/DAT area:
nM> plot network.png
To plot a JPEG so it lines up with other data (this example is one of the
NASA Blue Marble pictures of the world:
nM> plot world_200409_3x5400x2700.jpg{LAYER={XSTART=-180,YSTART=90,&
XDELTA=360/5400,YDELTA=-180/2700}}&
|world.shp{LAYER={LABEL=NAME,OPAQ=0}} view=LatLon
Here XSTART and YSTART are the real-world-coordinates of there the upper
left pixel is located. The XDELTA and YDELTA are the extents divided
by number of pixels (i.e. deg/pixels). Most of the time YDELTA will need
to be negative to account for images being measured top-to-bottom rather
than bottom-to-top.
Alternatively this information could all be put into a tbl file...
bluemarble.tbl
: COMMENT="My comment"
: FILENAME="nxm.map.dat.bluemarble.jpg"
: XSTART=-180.0
: YSTART=90.0
: XDELTA=360.0/5400.0
: YDELTA=-180.0/2700.0
and then plotted quickly using:
nM> plot bluemarble.tbl
Plotting CSV Files
==================
CSV files can be plotted as "X vs Y" or "Multi" files depending on their
data. (Note that the name of the columns to be plotted must be prefixed with
a numeric type specifier.) Read "Plotting type 3000 files" for details on
these layer types.
LayerMulti (default):
nM> plot myfile.csv{HEADERROWS=1,COLUMNNAMES=SF:A|SF:B,&
LAYER={COLUMNS=A},TAG=A}
LayerXY:
nM> set quals {HEADERROWS=L:1,COLUMNNAMES="NAME|CODE|F:LAT|F:LON",&
LAYER={LT="XY",X="LON",Y="LAT",LINE={COLOR="red",TYPE="symbol"}}}
nM> plot world|nxm.sys.dat.airports.csv^{quals}
In NeXtMidas 3.1.1, a new Layer (LayerScatter) was added to provide more
support for plottinig CSV (and other) files. LayerScatter may replace
LayerXY in future releases.
LayerScatter:
nM> set quals {HEADERROWS=L:1,COLUMNNAMES="NAME|CODE|F:LAT|F:LON",&
LAYER={LT="Scatter",X="LON",Y="LAT",LINE={COLOR="red",TYPE="symbol"}}}
nM> plot world|nxm.sys.dat.airports.csv^{quals}
Formatting:
In NeXtMidas 3.3.3, the /DATEFORMAT switch supports a wide variety of
time/date formats made available via the MFormat class. Acceptable formats can
be either a standard Midas format ("STD", "ACQ", "EPOCH", "NORAD", "VAX",
"TCR", "HMS", "YMD", "ISO8601", etc.) or they can be any of the patterns
accepted by the java.text.SimpleDateFormat class.
For details, please see nxm.sys.lib.MFormat, nxm.sys.lib.Time.formatList and
java.text.SimpleDateFormat.
DRAG and DROP:
PLOT supports Drop in the following way (DRAG is not supported):
Since actions to take for DROP-ed objects are application-dependant,
objects DROP-ed onto a PLOT are sent to the Message Handler (then typically
sent to a Macro application) for handling.
For example usage, see the macro $NMROOT/nxm/sys/test/test_plot_drag_drop.mm.
Switches:
/ALL - Plots ALL data in the file. Note: this also sets the Backing
Store option, so the following two lines are equivalent:
nM> plot myfile.prm /all
nM> plot myfile.prm options="+ALL|BS"
/AXISBUFFER= - Set the size of the buffer area drawn around the plot axis.
This buffer area ensures that values that fall exactly on the
axis are displayed. Set to 0.0 to disable. Set to a negative
number to reduce values display area. [DEF=1e-12]. (Since 3.1.0)
/AXISINDEX - Sets Axis START=0 and DELTA=1 (Identical to /INDEX) [DEF=FALSE]
/CMAP= - (Layer2D only) Use predefined Color map. e.g: GrayScale,Ramp,
XRamp,Wheel,Terrain,Multi,T5Layer,Grid,Spectrum,XDatalist.
This overrides the [CMAP] parameter.
/COLORS= - (Layer2D only) Custom list of colors to use. This overrides the
[CMAP] parameter and /CMAP switch.
/DATEFORMAT= - Output format used to display time. See the above section
titled "Formatting" for details of valid inputs. In addition,
use AUTO to allow the plot to determine the appropriate format
where time spanning over a day will display STD, otherwise, HMS
format will be displayed. (Since NeXtMidas 3.3.3)
/DB - Display in dB (same as CM=10LOG)
/DB2 - Display in dB (same as CM=20LOG)
/DBLCLICKZOOM - Enable zooming in/out through the use of double-clicking the
mouse. (Since NeXtMidas 2.7.2)
/DRAGDROP - Enable or disable Drag and Drop. (Since NeXtMidas 3.3.0)
/EXIT= - Mask value with flags to exit: RETURN, MENU, MESSAGE, WINDOW
or ALL [DEF=NONE in pipe mode, else ALL]
/FOCUS - Try to get focus if true. (DEF=TRUE from shell,FALSE from macro)
/INDEX - Set Axis START=0 & DELTA=1 (Identical to /AXISINDEX) [DEF=FALSE]
/REVERSECOLORS - Reverse the colormap used by the layers of the plot
/LAYER - Same as [LAYER] parameter. Overrides [LAYER] if both are present
/LEGEND= - Legend corner (TL/TOPLEFT,TR/TOPRIGHT,BL/BOTTOMLEFT,
BR/BOTTOMRIGHT) the /LEGEND switch alone default is TOPLEFT.
or
Table of settings for the legend. Table keys include:
CORNER - The corner in which to come up
/LPB=n - Type 2000. Lines per buffer (max) used in grabs [DEF=16]
For LayerMulti this is Line-segments Per Buffer (this is the
same as /LPS= for pipes, but can be less in the case of paging
for a large static file).
/LPS=n - Type 1000,2000. Data frames/lines per screen over-ride (normally
scales to window height). If using a LPS value less than 16, set
/LPB=1.
For Type 2000 files plotted with type=line (Layer1D):
You may specify /LPS=-1 to compute the PlotFile's data buffer
size.
For Type 2000 files plotted with type=raster (Layer2D):
LPS=0 is the same as not having the switch (LPS based on
screen size) (Since NeXtMidas 3.7.0)
LPS = -1 will default LPS to 128
LPS > 0 sets LPS to the specified value
Note: In paging mode, LPS is set to /LPB (or default LPS of
128 if /LPB is not specified)
For LayerMulti this is Line-segments Per Screen, and defaults to
the SIZE of the file/pipe; this should be >= LPB.
/MSGID= - Registry name of command to handle messages (usually MAIN)
/MTAG=t - Used in conjunction with [CNT] or /XCNT=. This is a table of
key value pairs where the key is one of "X","Y","Z", or "X+Y"
and the value is the name of a RESULT to set with the
corresponding value of the key, based on mouse actions
defined in CNT or /XCNT. Since 3.1.1.
/MOUSEWHEELZOOM - Enable zooming in/out through the use of the mouse scroll
wheel. (Since NeXtMidas 2.7.2)
/NICE= - 1=retry for layers if don't exist yet
2=disconnect from pipes if iconified
/NOPUSHPOP - Disables user Push/Pop for a window (e.g. clicking the 'X' when
popped out. Does not affect Push/Pop messages from a macro).
/OPENWARN - Mask value with flags indicating where to WARN when a file can not be
opened: NONE, POPUP, or PRINT [DEF=POPUP]
(Since NeXtMidas 3.5.2)
/PRECISION= - Number of decimal places of precision used for readout display.
This has higher precedence than the ExtPrec readout option.
/QUICKDRAW - Type 5000 only. Optimizes drawing of objects in Type 5000 files,
but some objects do not get drawn (lines where one of the points
is off-screen). (Since NeXtMidas 3.1.0)
/READOUT= - Sets the ReadOut mask (e.g. "/READOUT="+OnAxis|+Units").
NOTE: This will override the [READOUT] parameter.
/RT - use real-time algorithm even on files
/SCALEZ= - Layer2D only. Scale color range option= PLOT,LAYER [DEF=PLOT]
PLOT - All Layers / Files use the same Z Min and Z Max [DEF]
LAYER - Individual Layers scale their Z Min and Z Max
/THEME= - Use a named Theme (Desktop,Default,WoB,GoB,BoW,Browser,Gear1,
Gear2,Gear3,Gear4,Nak)
/THEME=tbl - Creates a custom theme from a table of parameters. See PANEL for
complete description. Table keys include:
CBG - background color
CFG - foreground color
CWTS - widget top shadow
CWFH - widget foreground highlight
CWBG - widget background color
CWFG - widget foreground color
CWTITLE - widget title color
CWBS - widget bottom shadow
/TIMEALIGN - Type 1000 time-based plots only. Align overlapping layers based
off the XStart of the base layer. (Since NeXtMidas 3.1.2)
/WIN= - Specifies the name of WINdow (or panel) in the registry that
will host this (see nxm.sys.libg.MWindow). If the window name
is not specified, or included in panel config, a new frame is
created.
/WIN.cmd= - Similar to /WIN.
/WDISP=n - Set the monitor number for the display [0...n-1]
/WFS= Set the axis labels and axis title font size [DEF=12]
/WPOS= - Set the position of the plot when it opens, use the syntax
"/WPOS=(X,Y[,Width,Height])" where all values are in pixels.
/WTITLE - Sets the window bar title (not the axis title). The readout
will override this when READOUT=ONAXIS is selected. [DEF=PLOT]
/XCNT= - See [CNT] above. [CNT] has precedence when both are
present. (Since NeXtMidas 3.1.1)
/XMULT= - Convert x units using scientific notation prefix.
Arguments for this switch can be passed in three ways:
1) n, where n is one of {-12,-9,-6,-3,3,6,9,12}:
(e.g. 6 is Mega) --OR--
2) One of { "pico", "nano", "micro", "milli",
"Kilo", "Mega", "Giga", "Tera" } --OR--
3) One of {'p','n','u','m','K','M','G','T'}
/YMULT= - Convert y units using scientific notation prefix. (cf. /XMULT)
/ZOOMADJ= - Percentage (float) to adjust plots when doing incremental zoom.
Value is greater than zero and less than 1. [DEF=0.1]
/ZOOMMULT= - Multiplier which is used when moving zoom by larger amount,
typically through the use of PAGE UP, PAGE DOWN, HOME, and END
shortcut keys. [DEF=5.0]
See Also: LAYER, FEATURE, PANEL, nxm.sys.libg.MPlot, nxm.sys.libg.MColor