STILTS-PLOT2TIME(1) | Stilts commands | STILTS-PLOT2TIME(1) |
stilts-plot2time - Draws a time plot
stilts plot2time [xpix=<int-value>] [ypix=<int-value>] [insets=<top>,<left>,<bottom>,<right>] [omode=swing|out|cgi|discard|auto] [storage=simple|memory|disk|policy|cache|basic-cache|persistent|parallel] [seq=<suffix>[,...]] [legend=true|false] [legborder=true|false] [legopaque=true|false] [legseq=<suffix>[,...]] [legpos=<xfrac,yfrac>] [title=<value>] [auxmap=<map-name>|<color>-<color>[-<color>...]] [auxclip=<lo>,<hi>] [auxflip=true|false] [auxquant=<number>] [auxfunc=log|linear|histogram|histolog|sqrt|square|acos|cos] [auxmin=<number>] [auxmax=<number>] [auxlabel=<text>] [auxcrowd=<factor>] [auxwidth=<pixels>] [auxvisible=true|false] [forcebitmap=true|false] [compositor=0..1] [animate=<table>] [afmt=<in-format>] [astream=true|false] [acmd=<cmds>] [parallel=<int-value>] [ylog=true|false] [yflip=true|false] [tlabel=<text>] [ylabel=<text>] [grid=true|false] [tcrowd=<number>] [ycrowd=<number>] [tformat=iso-8601|year|mjd|unix] [minor=true|false] [texttype=plain|antialias|latex] [fontsize=<int-value>] [fontstyle=standard|serif|mono] [fontweight=plain|bold|italic|bold_italic] [tmin=<year-or-iso8601>] [tmax=<year-or-iso8601>] [tsub=<lo>,<hi>] [ymin=<number>] [ymax=<number>] [ysub=<lo>,<hi>] [navaxes=t|y|ty] [zoomfactor=<number>] [leglabelN=<text>] [layerN=<layer-type> <layerN-specific-params>] [zoneN=<text>]
plot2time draws plots where the horizontal axis represents time. The time axis can be labelled in various different ways including MJD, decimal year and ISO-8601 form.
Positional coordinates are specified as t, y pairs, with an optional ttype specifier to indicate how the input value is to be interpreted, e.g.: plot2time in1=series.fits layer1=line t1=EPOCH ttype1=MJD y1=ENERGY
Time values can be represented in various ways in input data, for instance as Julian Day, Modified Julian Date, decimal years since 0AD, Unix seconds, ISO-8601, or variants of some of the above with additional offsets. In some cases the input format contains enough metadata to determine how the values should be mapped to a common timescale (so for instance they can be plotted as MJD or Year/Month/Day), and in other cases they do not. For example CDF files and VOTable 1.4 files with TIMESYS markup contain sufficient metadata, and text inputs using the ISO-8601 format can usually be identified and understood, but there's no way to tell automatically whether a numeric column in a CSV file represents MJD, seconds since a known epoch, decimal years, or anything else. For this reason the ttypeN parameter is provided for all the layer types with a tN coordinate, as follows:
This command, unlike the other plot2* commands at time of writing, can be used to draw multi-zone plots. These are plots with different panels stacked vertically so that different datasets can share the same horizontal (time) axis, but have separate vertical axes, colour maps, legends etc. The horizontal axes are always synchronized between zones. This is currently controlled with the zoneN parameter. For any layer with a layer suffix N, you can specify a zone identifier as an arbitrary string, Z, by supplying the parameter zoneN=Z. Layers with the same value of zoneN are plotted in the same zone, and layers with different values are plotted in different zones. If no zoneN is given, the layer is assigned to a single (unnamed) zone, so with no zone parameters specified all plots appear in a single zone. Parameters specific to a given zone can then be suffixed with the same Z zone identifier. The examples section illustrates what this looks like in practice.
Note: The multi-zone feature is experimental. As currently implemented it lacks some features. The interface may be changed in a future version.
Content is added to the plot by specifying one or more plot layers using the layerN parameter. The N part is a suffix applied to all the parameters affecting a given layer; any suffix (including the empty string) may be used. Available layers for this plot type are: line, linearfit, mark, fill, quantile, grid, histogram, kde, knn, densogram, gaussian, yerror, spectrogram, label, function.
The size and position of the actual plotting area is determined by this parameter along with xpix and ypix.
The value of this parameter is 4 comma separated integers: <top>,<left>,<bottom>,<right>. Any or all of these values may be left blank, in which case the corresponding margin will be calculated automatically according to how much space is required.
The options are:
The default value is memory if a live plot is being generated (omode=swing), since in that case the plot needs to be redrawn every time the user performs plot navigation actions or resizes the window, or if animations are being produced. Otherwise (e.g. output to a graphics file) the default is simple.
When specifying a plot, multiple layers may be specified, each introduced by a parameter layer<N>, where <N> is a different (arbitrary) suffix labelling the layer, and is appended to all the parameters specific to defining that layer.
By default the layers are drawn on the plot in the order in which the layer* parameters appear on the command line. However if this parameter is specified, each comma-separated element is interpreted as a layer suffix, giving the ordered list of layers to plot. Every element of the list must be a suffix with a corresponding layer parameter, but missing or repeated elements are allowed.
If no value is supplied (the default), the sequence is the same as the layer plotting sequence (see seq).
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. legposZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. titleZ affects only zone Z.
A mixed bag of colour ramps are available as listed in SUN/256: inferno, magma, plasma, viridis, cividis, cubehelix, sron, rainbow, rainbow2, rainbow3, pastel, cosmic, ember, gothic, rainforest, voltage, bubblegum, gem, chroma, neon, tropical, accent, gnuplot, gnuplot2, specxby, set1, paired, hotcold, guppy, iceburn, redshift, pride, rdbu, piyg, brbg, cyan-magenta, red-blue, brg, heat, cold, light, greyscale, colour, standard, bugn, bupu, orrd, pubu, purd, painbow, huecl, infinity, hue, intensity, rgb_red, rgb_green, rgb_blue, hsv_h, hsv_s, hsv_v, yuv_y, yuv_u, yuv_v, scale_hsv_s, scale_hsv_v, scale_yuv_y, mask, blacker, whiter, transparency. Note: many of these, including rainbow-like ones, are frowned upon by the visualisation community.
You can also construct your own custom colour map by giving a sequence of colour names separated by minus sign ("-") characters. In this case the ramp is a linear interpolation between each pair of colours named, using the same syntax as when specifying a colour value. So for instance "yellow-hotpink-#0000ff" would shade from yellow via hot pink to blue.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxmapZ affects only zone Z.
If the full range 0,1 is used, the whole range of colours specified by the selected shader will be used. But if for instance a value of 0,0.5 is given, only those colours at the left hand end of the ramp will be seen.
If the null (default) value is chosen, a default clip will be used. This generally covers most or all of the range 0-1 but for colour maps which fade to white, a small proportion of the lower end may be excluded, to ensure that all the colours are visually distinguishable from a white background. This default is usually a good idea if the colour map is being used with something like a scatter plot, where markers are plotted against a white background. However, for something like a density map when the whole plotting area is tiled with colours from the map, it may be better to supply the whole range 0,1 explicitly.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxclipZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxflipZ affects only zone Z.
If left blank, the colour map is nominally continuous (though in practice it may be quantised to a medium-sized number like 256).
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxquantZ affects only zone Z.
The available options are:
For all these options, the full range of data values is used, and displayed on the colour bar if applicable. The Linear, Log, Square and Sqrt options just apply the named function to the full data range. The histogram options on the other hand use a scaling function that corresponds to the actual distribution of the data, so that there are about the same number of points (or pixels, or whatever is being scaled) of each colour. The histogram options are somewhat more expensive, but can be a good choice if you are exploring data whose distribution is unknown or not well-behaved over its min-max range. The Histogram and HistoLog options both assign the colours in the same way, but they display the colour ramp with linear or logarithmic annotation respectively; the HistoLog option also ignores non-positive values.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxfuncZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxminZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxmaxZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxlabelZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxcrowdZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxwidthZ affects only zone Z.
If not supplied (the default), the aux axis will be visible when aux shading is used in any of the plotted layers.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. auxvisibleZ affects only zone Z.
When writing to vector graphics formats (PDF and PostScript), setting it true will force the data contents to be bitmapped. This may make the output less beautiful (round markers will no longer be perfectly round), but it may result in a much smaller file if there are very many data points.
When writing to bitmapped output formats (PNG, GIF, JPEG, ...), it fixes shapes to be the same as seen on the screen rather than be rendered at the mercy of the graphics system, which sometimes introduces small distortions.
Currently, this parameter takes a "boost" value in the range 0..1. If the value is zero, saturation semantics are used: RGB colours are added in proporition to their associated alpha value until the total alpha is saturated (reaches 1), after which additional pixels have no further effect. For larger boost values, the effect is similar, but any non-zero alpha in the output is boosted to the given minimum value. The effect of this is that even very slightly populated pixels can be visually distinguished from unpopulated ones which may not be the case for saturation composition.
The location of the animation control table. This may take one of the following forms:
Commands may alteratively 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.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. ylogZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. yflipZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. tlabelZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. ylabelZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. gridZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. tcrowdZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. ycrowdZ affects only zone Z.
The available options are:
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. tformatZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. minorZ affects only zone Z.
When not using LaTeX, antialiased text usually looks nicer, but can be perceptibly slower to plot. At time of writing, on MacOS antialiased text seems to be required to stop the writing coming out upside-down for non-horizontal text (MacOS java bug).
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. texttypeZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. fontsizeZ affects only zone Z.
The available options are:
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. fontstyleZ affects only zone Z.
The available options are:
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. fontweightZ affects only zone Z.
The value may be set with a string that can be interpreted as a decimal year (e.g. "2007.521") or an ISO-8601 string (e.g. "2007-07-10T03:57:36", "2007-07-10T03" or "2007-07-10"). Note however that the numeric value of this configuration item if accessed programmatically is seconds since 1 Jan 1970.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. tminZ affects only zone Z.
The value may be set with a string that can be interpreted as a decimal year (e.g. "2007.521") or an ISO-8601 string (e.g. "2007-07-10T03:57:36", "2007-07-10T03" or "2007-07-10"). Note however that the numeric value of this configuration item if accessed programmatically is seconds since 1 Jan 1970.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. tmaxZ affects only zone Z.
The default value "0,1" therefore has no effect. The range could be restricted to its lower half with the value 0,0.5.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. tsubZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. yminZ affects only zone Z.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. ymaxZ affects only zone Z.
The default value "0,1" therefore has no effect. The range could be restricted to its lower half with the value 0,0.5.
If a zone suffix is appended to the parameter name, only that zone is affected, e.g. ysubZ affects only zone Z.
If no value is supplied (the default), the suffix itself is used as the label.
This parameter may take one of the following values, described in more detail in SUN/256:
Each of these layer types comes with a list of type-specific parameters to define the details of that layer, including some or all of the following groups:
Every parameter notionally carries the same suffix N. However, if the suffix is not present, the application will try looking for a parameter with the same name with no suffix instead. In this way, if several layers have the same value for a given parameter (for instance input table), you can supply it using one unsuffixed parameter to save having to supply several parameters with the same value but different suffixes.
If the package stilts-doc is installed, the full documentation
SUN/256 is available in HTML format:
file:///usr/share/doc/stilts/sun256/index.html
STILTS version 3.4.7-debian
This is the Debian version of Stilts, which lack the support of
some file formats and network protocols. For differences see
file:///usr/share/doc/stilts/README.Debian
Mark Taylor (Bristol University)
Mar 2017 |