Next Previous Up Contents
Next: Examples
Up: plot3d: Old-style 3D Scatter Plot
Previous: plot3d: Old-style 3D Scatter Plot

### B.21.1 Usage

The usage of `plot3d` is

       stilts <stilts-flags> plot3d xpix=<int-value> ypix=<int-value>
                                    font=dialog|serif|... fontsize=<int-value>
                                    fontstyle=plain|bold|italic|bold-italic
                                    legend=true|false title=<value>
                                    omode=swing|out|cgi|discard|auto
                                    out=<out-file>
                                    ofmt=png|png-transp|gif|jpeg|pdf|svg|eps|eps-gzip
                                    inN=<table> ifmtN=<in-format>
                                    istreamN=true|false cmdN=<cmds> xdataN=<expr>
                                    ydataN=<expr> zdataN=<expr> auxdataN=<expr>
                                    xlo=<float-value> ylo=<float-value>
                                    zlo=<float-value> auxlo=<float-value>
                                    xhi=<float-value> yhi=<float-value>
                                    zhi=<float-value> auxhi=<float-value>
                                    xlog=true|false ylog=true|false
                                    zlog=true|false auxlog=true|false
                                    xflip=true|false yflip=true|false
                                    zflip=true|false auxflip=true|false
                                    xlabel=<value> ylabel=<value> zlabel=<value>
                                    auxlabel=<value>
                                    xerrorN=<expr>|[<lo-expr>],[<hi-expr>]
                                    yerrorN=<expr>|[<lo-expr>],[<hi-expr>]
                                    zerrorN=<expr>|[<lo-expr>],[<hi-expr>]
                                    auxshader=rainbow|pastel|... txtlabelN=<value>
                                    subsetNS=<expr> nameNS=<value>
                                    colourNS=<rrggbb>|red|blue|...
                                    shapeNS=filled_circle|open_circle|...
                                    sizeNS=<int-value> transparencyNS=<int-value>
                                    lineNS=DotToDot|LinearRegression
                                    linewidthNS=<int-value>
                                    dashNS=dot|dash|...|<a,b,...>
                                    hideNS=true|false
                                    errstyleNS=lines|capped_lines|...
                                    grid=true|false antialias=true|false
                                    sequence=<suffix>,<suffix>,...
                                    fog=<float-value> phi=<float-value>
                                    theta=<float-value>

If you don't have the `stilts` script installed, write "`java -jar stilts.jar`" instead of "`stilts`" - see Section 3. The available `<stilts-flags>` are listed in Section 2.1. For programmatic invocation, the Task class for this command is `uk.ac.starlink.ttools.task.TablePlot3D`.

Parameter values are assigned on the command line as explained in Section 2.3. They are as follows:

`antialias = true|false` (Boolean)
  Controls whether lines are drawn using antialiasing, where applicable. If lines are drawn to a bitmapped-type graphics output format setting this parameter to true smooths the lines out by using gradations of colour for diagonal lines, and setting it false simply sets each pixel in the line to on or off. For vector-type graphics output formats, or for cases in which no diagonal lines are drawn, the setting of this parameter has no effect. Setting it true may slow the plot down slightly.

  [Default: `true`]

`auxdataN = <expr>` (String)
  Gives a column name or expression for the aux axis data for table N. The expression is a numeric algebraic expression based on column names as described in Section 10
`auxflip = true|false` (Boolean)
  If set true, the scale on the aux axis will increase in the opposite sense from usual (e.g. right to left rather than left to right).

  [Default: `false`]

`auxhi = <float-value>` (Double)
  The upper limit for the plotted aux axis. If not set, a value will be chosen which is high enough to accommodate all the data.
`auxlabel = <value>` (String)
  Specifies a label to be used for annotating axis aux. A default values based on the plotted data will be used if no value is supplied for this parameter.
`auxlo = <float-value>` (Double)
  The lower limit for the plotted aux axis. If not set, a value will be chosen which is low enough to accommodate all the data.
`auxlog = true|false` (Boolean)
  If false (the default), the scale on the aux axis is linear; if true it is logarithmic.

  [Default: `false`]

`auxshader = rainbow|pastel|...` (Shader)
  Determines how data from auxiliary axes will be displayed. Generally this is some kind of colour ramp. These are the available colour fixing options:
  - `rainbow`
  - `pastel`
  - `standard`
  - `heat`
  - `colour`
  - `hue`
  - `greyscale`
  - `red-blue`
  and these are the available colour modifying options:
  - `hsv_h`
  - `hsv_s`
  - `hsv_v`
  - `intensity`
  - `rgb_red`
  - `rgb_green`
  - `rgb_blue`
  - `yuv_y`
  - `yuv_u`
  - `yuv_v`
  - `transparency`

  [Default: `rainbow`]

`cmdN = <cmds>` (ProcessingStep[])
  Specifies processing to be performed on the table. The value of this parameter is one or more of the filter commands described in Section 6.1. If more than one is given, they must be separated by semicolon characters (";"). This parameter can be repeated multiple times on the same command line to build up a list of processing steps. The sequence of commands given in this way defines the processing pipeline which is performed on the table.

  Commands may alternatively be supplied in an external file, by using the indirection character '`@`'. Thus a value of "`@filename`" causes the file `filename` to be read for a list of filter commands to execute. The commands in the file may be separated by newline characters and/or semicolons, and lines which are blank or which start with a '`#`' character are ignored. A backslash character '`\`' at the end of a line joins it with the following line.

`colourNS = <rrggbb>|red|blue|...` (Color)
  Defines the colour of markers plotted. The value may be a 6-digit hexadecimal number giving red, green and blue intensities, e.g. "`ff00ff`" for magenta. Alternatively it may be the name of one of the pre-defined colours. These are currently red, blue, green, grey, magenta, cyan, orange, pink, yellow, black and white.

  For most purposes, either the American or the British spelling is accepted for this parameter name.

`dashNS = dot|dash|...|<a,b,...>` (float[])
  Defines the dash style for any lines drawn in data set NS To generate a dashed line the value may be one of the named dash types:
  - `dot`
  - `dash`
  - `longdash`
  - `dotdash`
  or may be a comma-separated string of on/off length values such as "`4,2,8,2`". A `null` value indicates a solid line.

  Only has an effect if the `lineNS` parameter is set to draw lines.

`errstyleNS = lines|capped_lines|...` (ErrorRenderer)
  Defines the way in which error bars (or ellipses, or...) will be represented for data set NS if errors are being displayed. The following options are available:
  - `none`
  - `lines`
  - `capped_lines`
  - `caps`
  - `arrows`
  - `cuboid`
  - `ellipse`
  - `crosshair_ellipse`
  - `rectangle`
  - `crosshair_rectangle`
  - `filled_ellipse`
  - `filled_rectangle`

  [Default: `lines`]

`fog = <float-value>` (Double)
  Sets the level of fogging used to provide a visual indication of depth. Object plotted further away from the viewer appear more washed-out by a white fog. The default value gives a bit of fogging; increase it to make the fog thicker, or set to zero if no fogging is required.

  [Default: `1.0`]

`font = dialog|serif|...` (String)
  Determines the font that will be used for textual annotation of the plot, including axes etc. At least the following fonts will be available:
  - `serif`
  - `sansserif`
  - `monospaced`
  - `dialog`
  - `dialoginput`
  as well as a range of system-dependent fonts, possibly including
  - `aakar`
  - `accanthis_adf_std`
  - `accanthis_adf_std_no2`
  - `accanthis_adf_std_no3`
  - `andika`
  - `ani`
  - `anjalioldlipi`
  - `annapurna_sil`
  - `arimo`
  - `asana_math`
  - `berenis_adf_pro`
  - `berenis_adf_pro_math`
  - `bitstream_charter`
  - `c059`
  - `cabin`
  - `caladea`
  - `cantarell`
  - `cantarell_extra_bold`
  - `cantarell_light`
  - `cantarell_thin`
  - `carlito`
  - `chandas`
  - `charis_sil`
  - `chilanka`
  - `...`

  [Default: `dialog`]

`fontsize = <int-value>` (Integer)
  Sets the font size used for plot annotations.

  [Default: `12`]

`fontstyle = plain|bold|italic|bold-italic` (Integer)
  Gives a style in which the font is to be applied for plot annotations. Options are `plain`, `bold`, `italic` and `bold-italic`.

  [Default: `plain`]

`grid = true|false` (Boolean)
  If true, grid lines are drawn on the plot. If false, they are absent.

  [Default: `true`]

`hideNS = true|false` (Boolean)
  Indicates whether the actual markers plotted for each point should be hidden. Normally this is false, but you may want to set it to true if the point positions are being revealed in some other way, for instance by error markers or lines drawn between them.

  [Default: `false`]

`ifmtN = <in-format>` (String)
  Specifies the format of the input table as specified by parameter `inN`. The known formats are listed in Section 5.1.1. This flag can be used if you know what format your table is in. If it has the special value `(auto)` (the default), then an attempt will be made to detect the format of the table automatically. This cannot always be done correctly however, in which case the program will exit with an error explaining which formats were attempted. This parameter is ignored for scheme-specified tables.

  [Default: `(auto)`]

`inN = <table>` (StarTable)
  The location of the input table. This may take one of the following forms:
  - A filename.
  - A URL.
  - The special value "`-`", meaning standard input. In this case the input format must be given explicitly using the `ifmtN` parameter. Note that not all formats can be streamed in this way.
  - A scheme specification of the form `:<scheme-name>:<scheme-args>`.
  - A system command line with either a "`<`" character at the start, or a "`|`" character at the end ("`<syscmd`" or "`syscmd|`"). This executes the given pipeline and reads from its standard output. This will probably only work on unix-like systems.
  In any case, compressed data in one of the supported compression formats (gzip, Unix compress or bzip2) will be decompressed transparently.
`istreamN = true|false` (Boolean)
  If set true, the input table specified by the `inN` parameter will be read as a stream. It is necessary to give the `ifmtN` parameter in this case. Depending on the required operations and processing mode, this may cause the read to fail (sometimes it is necessary to read the table more than once). It is not normally necessary to set this flag; in most cases the data will be streamed automatically if that is the best thing to do. However it can sometimes result in less resource usage when processing large files in certain formats (such as VOTable). This parameter is ignored for scheme-specified tables.

  [Default: `false`]

`legend = true|false` (Boolean)
  Determines whether a legend showing which plotting style is used for each data set. Defaults to true if there is more than one set, false otherwise.
`lineNS = DotToDot|LinearRegression` (Line)
  Determines what line if any will be plotted along with the data points. The options are:
  - `null`: No line is plotted.
  - `DotToDot`: Each point is joined to the next one in sequence by a straight line.
  - `LinearRegression`: A linear regression line is plotted based on all the points which are visible in the plot. Note that the regression coefficients take no account of points out of the visible range.
`linewidthNS = <int-value>` (Integer)
  Sets the line width in pixels for any lines drawn in data set NS.

  Only has an effect if the `lineNS` parameter is set to draw lines.

  [Default: `1`]

`nameNS = <value>` (String)
  Provides a name to use for a subset with the symbolic label NS. This name will be used for display in the legend, if one is displayed.
`ofmt = png|png-transp|gif|jpeg|pdf|svg|eps|eps-gzip` (GraphicExporter)
  Graphics format in which the plot is written to the output file, see Section 8.6. One of:
  - `png`: PNG
  - `png-transp`: PNG with transparent background
  - `gif`: GIF
  - `jpeg`: JPEG
  - `pdf`: Portable Document Format
  - `svg`: Scalable Vector Graphics
  - `eps`: Encapsulated PostScript
  - `eps-gzip`: Gzipped Encapsulated PostScript
  May default to a sensible value depending on the filename given by `out`.
`omode = swing|out|cgi|discard|auto` (PaintMode)
  Determines how the drawn plot will be output, see Section 8.5.
  - `swing`: Plot will be displayed in a window on the screen. This plot is "live"; it can be resized and (except for old-style plots) navigated around with mouse actions in the same way as plots in TOPCAT.
  - `out`: Plot will be written to a file given by `out` using the graphics format given by `ofmt`.
  - `cgi`: Plot will be written in a way suitable for CGI use direct from a web server. The output is in the graphics format given by `ofmt`, preceded by a suitable "Content-type" declaration.
  - `discard`: Plot is drawn, but discarded. There is no output.
  - `auto`: Behaves as `swing` or `out` mode depending on presence of `out` parameter

  [Default: `auto`]

`out = <out-file>` (uk.ac.starlink.util.Destination)
  The location of the output file. This is usually a filename to write to. If it is equal to the special value "-" the output will be written to standard output.
`phi = <float-value>` (Double)
  Angle in degrees through which the 3D plot is rotated abound the Z axis prior to drawing.

  [Default: `30.0`]

`sequence = <suffix>,<suffix>,...` (String[])
  Can be used to control the sequence in which different datasets and subsets are plotted. This will affect which symbols are plotted on top of, and so potentially obscure, which other ones. The value of this parameter is a comma-separated list of the "`NS`" suffixes which appear on the parameters which apply to subsets. The sets which are named will be plotted in order, so the first-named one will be at the bottom (most likely to be obscured). Note that if this parameter is supplied, then only those sets which are named will be plotted, so this parameter may also be used to restrict which plots appear (though it may not be the most efficient way of doing this). If no explicit value is supplied for this parameter, sets will be plotted in some sequence decided by STILTS (probably alphabetic by suffix).
`shapeNS = filled_circle|open_circle|...` (MarkShape)
  Defines the shapes for the markers that are plotted in data set NS. The following shapes are available:
  - `filled_circle`
  - `open_circle`
  - `cross`
  - `x`
  - `open_square`
  - `open_diamond`
  - `open_triangle_up`
  - `open_triangle_down`
  - `filled_square`
  - `filled_diamond`
  - `filled_triangle_up`
  - `filled_triangle_down`
`sizeNS = <int-value>` (Integer)
  Defines the marker size in pixels for markers plotted in data set NS. If the value is negative, an attempt will be made to use a suitable size according to how many points there are to be plotted.

  [Default: `-1`]

`subsetNS = <expr>` (String)
  Gives the selection criterion for the subset labelled "`NS`". This is a boolean expression which may be the name of a boolean-valued column or any other boolean-valued expression. Rows for which the expression evaluates true will be included in the subset, and those for which it evaluates false will not.
`theta = <float-value>` (Double)
  Angle in degrees through which the 3D plot is rotated towards the viewer (i.e. about the horizontal axis of the viewing plane) prior to drawing.

  [Default: `15.0`]

`title = <value>` (String)
  A one-line title to display at the top of the plot.
`transparencyNS = <int-value>` (Integer)
  Determines the transparency of plotted markers for data set NS. A value of `<n>` means that opacity is only achieved (the background is only blotted out) when `<n>` pixels of this colour have been plotted on top of each other.

  The minimum value is 1, which means opaque markers.

`txtlabelN = <value>` (String)
  Gives an expression which will label each plotted point. If given, the text (or number) resulting from evaluating the expression will be written near each point which is plotted.
`xdataN = <expr>` (String)
  Gives a column name or expression for the x axis data for table N. The expression is a numeric algebraic expression based on column names as described in Section 10
`xerrorN = <expr>|[<lo-expr>],[<hi-expr>]` (String)
  Gives expressions for the errors on X coordinates for table N. The following forms are permitted:
  - `<expr>`: symmetric error value
  - `<lo-expr>,<hi-expr>`:distinct lower and upper error values
  - `<lo-expr>,`: lower error value only
  - `,<hi-expr>`: upper error value only
  - `null`: no errors
  The expression in each case is a numeric algebraic expression based on column names as described in Section 10.
`xflip = true|false` (Boolean)
  If set true, the scale on the x axis will increase in the opposite sense from usual (e.g. right to left rather than left to right).

  [Default: `false`]

`xhi = <float-value>` (Double)
  The upper limit for the plotted x axis. If not set, a value will be chosen which is high enough to accommodate all the data.
`xlabel = <value>` (String)
  Specifies a label to be used for annotating axis x. A default values based on the plotted data will be used if no value is supplied for this parameter.
`xlo = <float-value>` (Double)
  The lower limit for the plotted x axis. If not set, a value will be chosen which is low enough to accommodate all the data.
`xlog = true|false` (Boolean)
  If false (the default), the scale on the x axis is linear; if true it is logarithmic.

  [Default: `false`]

`xpix = <int-value>` (Integer)
  The width of the output graphic in pixels.

  [Default: `300`]

`ydataN = <expr>` (String)
  Gives a column name or expression for the y axis data for table N. The expression is a numeric algebraic expression based on column names as described in Section 10
`yerrorN = <expr>|[<lo-expr>],[<hi-expr>]` (String)
  Gives expressions for the errors on Y coordinates for table N. The following forms are permitted:
  - `<expr>`: symmetric error value
  - `<lo-expr>,<hi-expr>`:distinct lower and upper error values
  - `<lo-expr>,`: lower error value only
  - `,<hi-expr>`: upper error value only
  - `null`: no errors
  The expression in each case is a numeric algebraic expression based on column names as described in Section 10.
`yflip = true|false` (Boolean)
  If set true, the scale on the y axis will increase in the opposite sense from usual (e.g. right to left rather than left to right).

  [Default: `false`]

`yhi = <float-value>` (Double)
  The upper limit for the plotted y axis. If not set, a value will be chosen which is high enough to accommodate all the data.
`ylabel = <value>` (String)
  Specifies a label to be used for annotating axis y. A default values based on the plotted data will be used if no value is supplied for this parameter.
`ylo = <float-value>` (Double)
  The lower limit for the plotted y axis. If not set, a value will be chosen which is low enough to accommodate all the data.
`ylog = true|false` (Boolean)
  If false (the default), the scale on the y axis is linear; if true it is logarithmic.

  [Default: `false`]

`ypix = <int-value>` (Integer)
  The height of the output graphic in pixels.

  [Default: `300`]

`zdataN = <expr>` (String)
  Gives a column name or expression for the z axis data for table N. The expression is a numeric algebraic expression based on column names as described in Section 10
`zerrorN = <expr>|[<lo-expr>],[<hi-expr>]` (String)
  Gives expressions for the errors on Z coordinates for table N. The following forms are permitted:
  - `<expr>`: symmetric error value
  - `<lo-expr>,<hi-expr>`:distinct lower and upper error values
  - `<lo-expr>,`: lower error value only
  - `,<hi-expr>`: upper error value only
  - `null`: no errors
  The expression in each case is a numeric algebraic expression based on column names as described in Section 10.
`zflip = true|false` (Boolean)
  If set true, the scale on the z axis will increase in the opposite sense from usual (e.g. right to left rather than left to right).

  [Default: `false`]

`zhi = <float-value>` (Double)
  The upper limit for the plotted z axis. If not set, a value will be chosen which is high enough to accommodate all the data.
`zlabel = <value>` (String)
  Specifies a label to be used for annotating axis z. A default values based on the plotted data will be used if no value is supplied for this parameter.
`zlo = <float-value>` (Double)
  The lower limit for the plotted z axis. If not set, a value will be chosen which is low enough to accommodate all the data.
`zlog = true|false` (Boolean)
  If false (the default), the scale on the z axis is linear; if true it is logarithmic.

  [Default: `false`]

Next Previous Up Contents
Next: Examples
Up: plot3d: Old-style 3D Scatter Plot
Previous: plot3d: Old-style 3D Scatter Plot

STILTS - Starlink Tables Infrastructure Library Tool Set
Starlink User Note256
STILTS web page: http://www.starlink.ac.uk/stilts/
Author email: m.b.taylor@bristol.ac.uk
Mailing list: topcat-user@jiscmail.ac.uk