This is the command pslegendgmt that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
pslegend - Plot legends on maps
SYNOPSIS
pslegend [ specfile ] refpoint ] [ dx/dy ] [ box ] [ parameters ] [ ] [ ] [ ] [ region
] [ [just/dx/dy/][c|label] ] [ [level] ] [ x_offset ] [ y_offset ] [ -ccopies ] [
-p<flags> ] [ -t<transp> ]
Note: No space is allowed between the option flag and the associated arguments.
DESCRIPTION
pslegend will make legends that can be overlaid on maps. It reads specific legend-related
information from an input file [or stdin]. Unless otherwise noted, annotations will be
made using the primary annotation font and size in effect (i.e., FONT_ANNOT_PRIMARY)
REQUIRED ARGUMENTS
-D[g|j|J|n|x]refpoint+wwidth[/height][+jjustify][+lspacing][+odx[/dy]]
Defines the reference point on the map for the legend using one of four coordinate
systems: (1) Use -Dg for map (user) coordinates, (2) use -Dj or -DJ for setting
refpoint via a 2-char justification code that refers to the (invisible) map domain
rectangle, (3) use -Dn for normalized (0-1) coordinates, or (4) use -Dx for plot
coordinates (inches, cm, etc.). All but -Dx requires both -R and -J to be
specified. Append +wwidth[/height] to set the width (and height) of the legend box
in plot coordinates (inches, cm, etc.). If height is zero or not given then we
estimate height based the expected vertical extent of the items to be placed. By
default, the anchor point on the legend is assumed to be the bottom left corner
(BL), but this can be changed by appending +j followed by a 2-char justification
code justify (see pstext). Note: If -Dj is used then justify defaults to the same
as refpoint, if -DJ is used then justify defaults to the mirror opposite of
refpoint. Use +lspacing to change the line-spacing factor in units of the current
font size [1.1]. Finally, add +o to offset the color scale by dx/dy away from the
refpoint point in the direction implied by justify (or the direction implied by -Dj
or -DJ).
OPTIONAL ARGUMENTS
-B[p|s]parameters (more ...)
Set map boundary intervals.
-Cdx/dy
Sets the clearance between the legend frame and the internal items [4p/4p].
-F[+cclearances][+gfill][+i[[gap/]pen]][+p[pen]][+r[radius]][+s[[dx/dy/][shade]]]
Without further options, draws a rectangular border around the legend using
MAP_FRAME_PEN; specify a different pen with +ppen. Add +gfill to fill the legend
box [no fill]. Append +cclearance where clearance is either gap, xgap/ygap, or
lgap/rgap/bgap/tgap where these items are uniform, separate in x- and y-direction,
or individual side spacings between scale and border. Append +i to draw a
secondary, inner border as well. We use a uniform gap between borders of 2p and the
MAP_DEFAULTS_PEN unless other values are specified. Append +r to draw rounded
rectangular borders instead, with a 6p corner radius. You can override this radius
by appending another value. Finally, append +s to draw an offset background shaded
region. Here, dx/dy indicates the shift relative to the foreground frame [4p/-4p]
and shade sets the fill style to use for shading [gray50].
-Jparameters (more ...)
Select map projection.
-K (more ...)
Do not finalize the PostScript plot.
-O (more ...)
Append to existing PostScript plot.
-P (more ...)
Select "Portrait" plot orientation.
-R[unit]xmin/xmax/ymin/ymax[r] (more ...)
Specify the region of interest.
-U[just/dx/dy/][c|label] (more ...)
Draw GMT time stamp logo on plot.
-V[level] (more ...)
Select verbosity level [c].
-X[a|c|f|r][x-shift[u]]
-Y[a|c|f|r][y-shift[u]] (more ...)
Shift plot origin.
-ccopies (more ...)
Specify number of plot copies [Default is 1].
-p[x|y|z]azim/elev[/zlevel][+wlon0/lat0[/z0]][+vx0/y0] (more ...)
Select perspective view.
-t[transp] (more ...)
Set PDF transparency level in percent.
-^ or just -
Print a short message about the syntax of the command, then exits (NOTE: on Windows
use just -).
-+ or just +
Print an extensive usage (help) message, including the explanation of any
module-specific option (but not the GMT common options), then exits.
-? or no arguments
Print a complete usage (help) message, including the explanation of options, then
exits.
--version
Print GMT version and exit.
--show-datadir
Print full path to GMT share directory and exit.
PSLEGEND CODES
specfile
This ASCII file contains instructions for the layout of items in the legend. Each
legend item is described by a unique record. All records begin with a unique
character that is common to all records of the same kind. The order of the legend
items is implied by the order of the records. Fourteen different record types are
recognized, and the syntax for each of these records are presented below:
# comment
Records starting with # and blank lines are skipped.
A cptname
Symbol or cell color fills may be given indirectly via a z-value which can be used
for the color look-up via the given CPT file cptname. You may switch to other
cptname by repeating this command.
B cptname offset height [ optional arguments ]
The B record will plot a horizontal color bar, psscale-style in the middle,
starting at offset from the left edge, and of the given height. You may add any
additional psscale options as well. Any of the modifiers
[+e[b|f][<length>]][+h][+ma|c|l|u][+n[<txt>]] may be appended to the height
argument, while other module options -B -I -L -M -N -S -Z and -p may be appended as
optional arguments at the end of the record. See psscale for details on all
modifiers and options.
C textcolor
The C record specifies the color with which the remaining text is to be printed.
textcolor can be in the form r/g/b, c/m/y/k, a named color, or an indirect color
via z=*value* (requires the A command). Use - to reset to default color.
D [offset] pen [-|+|=]
The D record results in a horizontal line with specified pen across the legend with
one quarter of the line-spacing left blank above and below the line. Two gaps of
offset units are left blank between the horizontal line and the left and right
frame sides [0]. If no pen is given we use MAP_GRID_PEN_PRIMARY, and if pen is set
to - then no visible line is drawn (we just remember the location as a possible
start/stop point for a vertical line; see V). To not add the quarter line-spacing
before the line, add -. To not add the spacing after the line, add +. For no
spacing at all, add = [Default places a quarter line-spacing both before and after
the line].
F fill1 fill2 ... filln
Specify fill (color of pattern) for cells. Alternatively, you can specify an
indirect color via z=*value* (requires the A command). If only fill1 is given then
it is used to fill the entire row, otherwise give one fill value for each active
column (see N). If any fill is - then no fill takes place [Default].
G gap The G record specifies a vertical gap of the given length. In addition to the
standard units (i, c, p) you may use l for lines. A negative gap will move the
current line upwards (thus closing a gap).
H fontsize|- font|- header
The H record plots a centered text string using the specified font parameters. Use
- to default to size and type of FONT_TITLE.
I imagefile width justification
Place an EPS or raster image in the legend justified relative to the current point.
The image width determines the size of the image on the page.
L fontsize|- font|- justification label
The L record plots a (L)eft, (C)entered, or (R)ight-justified text string within a
column using the specified font parameters. Use - to default to the size and type
of FONT_LABEL.
M slon|- slat length [+f][+l[label]][+u] [-Fparam] [ -Rw/e/s/n -Jparam ]
Place a map scale in the legend. Specify slon slat, the point on the map where the
scale applies (slon is only meaningful for certain oblique projections. If not
needed, you must specify - instead). Give length, the length of the scale in km
(for other units append e (meter), f (foot), M (mile), n (nautical mile), or u
(survey foot)). Append +f for a fancy map scale [Default is plain]. Append +l to
the length to select the default label which equals the distance unit (meter, feet,
km, miles, nautical miles, survey feet) and is justified on top of the scale [t].
Change this by giving your own label (append +llabel). Change label alignment with
+aalign (choose among l(eft), r(ight), t(op) , and b(ottom)). Apply +u to append
the unit to all distance annotations along the scale. If you want to place a map
panel behind the scale, add a suitable -F panel option (see psbasemap for details
on panels as well as map scale modifiers). All +modifiers must be appended to
length to make a single string argument. If the -R -J supplied to pslegend is
different than the projection needed for the scale (or not given at all, e.g., with
-Dx), supply the two optional -R -J settings as well.
N [ncolumns or relwidth1 relwidth2 ... relwidthn]
Change the number of columns in the legend [1]. This only affects the printing of
symbols (S) and labels (L). The number of columns stay in effect until N is used
again. To get columns of unequal width, instead provide the relative width of each
column separated by whitespace. The sum of these widths are equated to the legend
width set via -D. If no argument is given the we set n_columns to 1.
P paragraph-mode-header-for-pstext
Start a new text paragraph by specifying all the parameters needed (see pstext -M
record description). Note that pslegend knows what all those values should be, so
normally you can leave the entire record (after P) blank or leave it out all
together. If you need to set at least one of the parameters directly, you must
specify all and set the ones you want to leave at their default value to -.
S [dx1 symbol size fill pen [ dx2 text ]]
Plots the selected symbol with specified diameter, fill, and outline (see psxy).
The symbol is centered at dx1 from the left margin of the column, with the optional
explanatory text starting dx2 from the margin, printed with FONT_ANNOT_PRIMARY. Use
- if no fill or outline (pen) is required. Alternatively, the fill may be specified
indirectly via z=*value* and the color is assigned vi the CPT look-up (requires the
A command). When plotting just a symbol, without text, dx2 and text can be
omitted. The dx1 value can also be given as a justification code L, C, R which
justifies the symbol with respect to the current column. If no arguments are given
to S then we simply skip to the next column. Three psxy symbols may take special
modifiers: front (f), quoted line (q) and vector (v). You can append modifiers to
the symbol and affect how the fronts, quoted lines and vectors are presented (see
psxy man page for modifiers). pslegend will determine default settings for all
modifiers and secondary arguments if not provided. A few other symbols (the
rectangles, ellipse, wedge, mathangle) may take more than a single argument size.
Note that for a line segment you should use the horizontal dash symbol (-). If
just a single size if given then pslegend will provide reasonable arguments to plot
the symbol (See Defaults). Alternatively, combine the required arguments into a
single, comma-separated string and use that as the symbol size (again, see psxy for
details on the arguments needed).
T paragraph-text
One or more of these T records with paragraph-text printed with FONT_ANNOT_PRIMARY.
To specify special positioning and typesetting arrangements, or to enter a
paragraph break, use the optional P record.
V [offset] pen
The V record draws a vertical line between columns (if more than one) using the
selected pen. Here, offset is analogous to the offset for the D records but in the
vertical direction [0]. The first time V is used we remember the vertical position
of the last D line, and the second time V is set we draw from that past location to
the most recent location of the D line. Thus, D must be used to mark the start and
stop of a vertical line (so V must follow D). If no horizontal line is desired
simply give - as pen to D.
DEFAULTS
When attributes are not provided, or extended symbol information (for symbols taking more
than just an overall size) are not given as comma-separated quantities, pslegend will
provide the following defaults:
Front: Front symbol is left-side (here, that means upper side) box, with dimensions 30% of
the given symbol size.
Vector: Head size is 30% of given symbol size.
Ellipse: Minor axis is 65% of major axis (the symbol size), with an azimuth of 0 degrees.
Rectangle: Height is 65% of width (the symbol size).
Rotated rectangle: Same, with a rotation of 30 degrees.
Rounded rectangle: Same as rectangle, but with corner radius of 10% of width.
Mathangle: Angles are -10 and 45 degrees, with arrow head size 30% of symbol size.
Wedge: Angles are -30 and 30 degrees.
EXAMPLES
To add an example of a legend to a Mercator plot (map.ps) with the given specifications,
use
gmt pslegend -R-10/10/-10/10 -JM6i -F+gazure1 -Dx0.5i/0.5i+w5i/3.3i+jBL+l1.2
-C0.1i/0.1i -B5f1 << EOF >> map.ps
# Legend test for pslegend
# G is vertical gap, V is vertical line, N sets # of columns, D draws horizontal line.
# H is header, L is label, S is symbol, T is paragraph text, M is map scale.
#
G -0.1i
H 24 Times-Roman My Map Legend
D 0.2i 1p
N 2
V 0 1p
S 0.1i c 0.15i p300/12 0.25p 0.3i This circle is hachured
S 0.1i e 0.15i yellow 0.25p 0.3i This ellipse is yellow
S 0.1i w 0.15i green 0.25p 0.3i This wedge is green
S 0.1i f0.1i+l+t 0.25i blue 0.25p 0.3i This is a fault
S 0.1i - 0.15i - 0.25p,- 0.3i A dashed contour
S 0.1i v0.1i+a40+e 0.25i magenta 0.25p 0.3i This is a vector
S 0.1i i 0.15i cyan 0.25p 0.3i This triangle is boring
V 0 1p
D 0.2i 1p
N 1
M 5 5 600+u f
G 0.05i
I SOEST_logo.ras 3i CT
G 0.05i
B colors.cpt 0.2i 0.2i
G 0.05i L 9 4 R Smith et al., @%5%J. Geophys. Res., 99@%%, 2000
G 0.1i
P
T Let us just try some simple text that can go on a few lines.
T There is no easy way to predetermine how many lines will be required,
T so we may have to adjust the box height to get the right size box.
EOF
NOTE ON LEGEND HEIGHT
As -D suggests, leaving the height off forces a calculation of the expected height. This
is an exact calculation except in the case of legends that place paragraph text. Here we
simply do a first-order estimate of how many typeset lines might appear. Without access to
font metrics this estimate will occasionally be off by 1 line. If so, note the reported
height (with -V) and specify a slightly larger or smaller height in -D.
WINDOWS REMARKS
Note that under Windows, the percent sign (%) is a variable indicator (like $ under Unix).
To indicate a plain percentage sign in a batch script you need to repeat it (%%); hence
the font switching mechanism (@%*font*% and @%%) may require twice the number of percent
signs. This only applies to text inside a script or that otherwise is processed by DOS.
Data files that are opened and read by pslegend do not need such duplication.
Use pslegendgmt online using onworks.net services