1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
- .. _-B_full:
- **-B**\ [**p**\|\ **s**]\ *parameters*
- Set map Frame and Axes parameters. The Frame parameters are specified by
- **-B**\ [*axes*][**+b**][**+g**\ *fill*][**+i**\ [*val*]][**+n**][**+o**\ *lon/lat*][**+t**\ *title*]
- where *axes* selects which axes to plot. By default, all 4 map boundaries
- (or plot axes) are plotted (named **W**, **E**, **S**, **N**). To customize,
- append the codes for those you want (e.g., **WSn**). Upper case means plot
- and annotate while lower case just plots and ticks the specified axes.
- To *just* draw an axis without annotation and ticks you can use the **l**\ (eft),
- **r**\ (ight), **b**\ (ottom), **t**\ (opt) and (for 3-D) **u**\ (p) codes. If a 3-D basemap
- is selected with **-p** and **-Jz**, append **Z**, **z**, or **u** to control the
- appearance of the vertical axis. By default a single vertical axes will be
- plotted at the most suitable map corner. Override the default by appending
- any combination of corner ids **1234**, where **1** represents the lower left
- corner and the order goes counter-clockwise. Append **+b** to draw the outline of the 3-D
- cube defined by **-R**; this modifier is also needed to display gridlines in
- the x-z, y-z planes. Note that for 3-D views the title, if given, will be
- suppressed. You can paint the interior of the canvas with **+g**\ *fill*.
- Use **+i** to annotate an internal meridian or parallel when the axis that normally
- would be drawn and annotated does not exist (e.g., azimuthal map with 360-degree range
- has no latitude axis, and a global Hammer map has no longitude axis); optionally append the parallel or meridian [0].
- Append **+n** to have no frame and annotations at all [Default is controlled by the codes].
- Optionally append **+o**\ *plon/plat* to draw oblique gridlines about
- specified pole [regular gridlines]. Ignored if gridlines are not
- requested (below) and disallowed for the oblique Mercator projection.
- To add a plot title, append **+t**\ *title*. The Frame setting is optional but
- can be invoked once to override the above defaults.
- The Axes parameters are specified by
- **-B**\ [**p**\|\ **s**][**x**\|\ **y**\|\ **z**]\ *intervals*\ [**+a**\ *angle*\|\ **n**\|\ **p**][**+f**][**+l**\|\ **L**\ *label*][**+p**\ *prefix*][**+s**\|\ **S**\ *seclabel*][**+u**\ *unit*]
- but you may also split this into two separate invocations for clarity, i.e.,
- - **-B**\ [**p**\|\ **s**][**x**\|\ **y**\|\ **z**][**+a**\ *angle*\|\ **n**\|\ **p**][**+f**][**+l**\|\ **L**\ *label*][**+p**\ *prefix*][**+s**\|\ **S**\ *seclabel*][**+u**\ *unit*]
- - **-B**\ [**p**\|\ **s**][**x**\|\ **y**\|\ **z**]\ *intervals*
- The first optional flag following **-B** selects **p** (rimary) [Default] or
- **s** (econdary) axes information (mostly used for time axes annotations but
- available for geographic axes as well. **Note**: primary refers to annotations
- closest to the axis and secondary to annotations further away. Hence, primary
- annotation-, tick-, and gridline-intervals must be shorter than their secondary counterparts).
- The [**x**\|\ **y**\|\ **z**] flags specify which axes you are providing information for.
- If none are given then we default to **xy**. If you wish to give different annotation intervals
- or labels for the various axes then you must repeat the **B** option for
- each axis (If a 3-D basemap is selected with **-p** and **-Jz**, use **-Bz**
- to give settings for the vertical axis.). To add a label to an axis,
- just append **+l**\ *label* (Cartesian projections only). Use **+L** (or **+S**) to
- force a horizontal label for *y*-axes (useful for very short labels).
- For Cartesian axes you may specify an alternate via **+s** which is used for
- right or upper axis axis label (with any **+l** label used for left and bottom axes).
- If the axis annotation should have a leading text prefix (e.g., dollar sign for those
- plots of your net worth) you can append **+p**\ *prefix*. For geographic maps
- the addition of degree symbols, etc. is automatic (and controlled by the GMT
- default setting :term:`FORMAT_GEO_MAP`). However, for other plots you can add
- specific units by adding **+u**\ *unit*. If any of these text strings contain
- spaces or special characters you will need to enclose them in quotes.
- Cartesian x-axes also allow for the optional **+a**\ *angle*, which
- will plot slanted annotations; *angle* is measured with respect to the horizontal
- and must be in the -90 <= *angle* <= 90 range only. Also, **+an** is a shorthand
- for normal (i.e., **+a**\ 90) and **+ap** for parallel (i.e., **+a**\ 0) annotations
- [Default]. For the y-axis, arbitrary angles are not allowed but **+an** and **+ap**
- specify annotations normal [Default] and parallel to the axis, respectively. Note that
- these defaults can be changed via :term:`MAP_ANNOT_ORTHO`. Geographic axes can
- take **+f** which will give fancy annotations with W|E|S|N suffices encoding the sign.
- The *intervals* specification is a concatenated string made up of substrings
- of the form
- [**a**\|\ **f**\|\ **g**]\ *stride*\ [*±phase*][*unit*].
- The leading **a** is used to specify the annotation and major tick
- spacing [Default], **f** for minor tick spacing, and **g** for
- gridline spacing. *stride* is the desired stride interval. The
- optional *phase* shifts the annotation interval by that amount
- (positive or negative). The optional *unit* indicates the unit of
- the *stride* and are particularly important for time-axes as they
- can be any of the ones listed below:
- - **Y** (year, plot with 4 digits)
- - **y** (year, plot with 2 digits)
- - **O** (month, plot using :term:`FORMAT_DATE_MAP`)
- - **o** (month, plot with 2 digits)
- - **U** (ISO week, plot using :term:`FORMAT_DATE_MAP`)
- - **u** (ISO week, plot using 2 digits)
- - **r** (Gregorian week, 7-day stride from start of week :term:`TIME_WEEK_START`)
- - **K** (ISO weekday, plot name of weekdays in selected language)
- - **k** (weekday, plot number of day in the week (1–7) (see :term:`TIME_WEEK_START`))
- - **D** (date, plot using :term:`FORMAT_DATE_MAP`)
- - **d** (day, plot day of month 0-31 or year 1-366, via :term:`FORMAT_DATE_MAP`)
- - **R** (day, same as **d**, aligned with :term:`TIME_WEEK_START`)
- - **H** (hour, plot using :term:`FORMAT_CLOCK_MAP`)
- - **h** (hour, plot with 2 digits)
- - **M** (minute, plot using :term:`FORMAT_CLOCK_MAP`)
- - **m** (minute, plot with 2 digits)
- - **S** (second, plot using :term:`FORMAT_CLOCK_MAP`)
- - **s** (second, plot with 2 digits).
- For geographic axes **d**, **m** and **s** instead mean arc degrees, minutes and seconds,
- while for Cartesian axes no unit is given.
- All entities that are language-specific are under control
- of :term:`GMT_LANGUAGE`. Alternatively, we can omit *stride*, thus setting
- *xinfo*, *yinfo*, or *zinfo* to **a** plots annotations at automatically determined intervals,
- - **ag** plots both annotations and grid lines with the same spacing,
- - **afg** adds suitable minor tick intervals,
- - **g** plots grid lines with the same interval as if **-Bf** was used.
- For custom annotations and intervals, let *intervals* be given as
- **c**\ *intfile*, where *intfile* contains any number of
- records with *coord* *type* [*label*]. Here, *type* is one or more
- letters from **a**\|\ **i**, **f**, and **g**. For
- **a**\|\ **i** you must supply a *label* that will be plotted at
- the *coord* location. |br|
- For non-geographical projections: Give negative scale (in **-Jx**)
- or axis length (in **-JX**) to change the direction of increasing
- coordinates (i.e., to make the y-axis positive down). |br|
- For log10 axes: Annotations can be specified in one of three ways:
- 1. *stride* can be 1, 2, 3, or -*n*. Annotations will then occur at 1,
- 1-2-5, or 1-2-3-4-...-9, respectively; for -*n* we annotate every
- *n*\ 't magnitude. This option can also be used for the frame and
- grid intervals.
- 2. An **l** is appended to the *tickinfo* string. Then, log10 of the
- tick value is plotted at every integer log10 value.
- 3. A **p** is appended to the *tickinfo* string. Then,
- annotations appear as 10 raised to log10 of the tick value.
- For power axes: Annotations can be specified in one of two ways:
- 1. *stride* sets the regular annotation interval.
- 2. A **p** is appended to the *tickinfo* string. Then, the annotation interval is
- expected to be in transformed units, but the annotation value will
- be plotted as untransformed units. E.g., if *stride* = 1 and *power*
- = 0.5 (i.e., sqrt), then equidistant annotations labeled 1-4-9... will appear.
- Finally, if your axis is in radians you can use multiples or fractions of **pi** to
- set such annotation intervals. The format is [*s*]\ **pi**\ [*f*], for an optional
- integer scale *s* and optional integer fraction *f*.
- These GMT parameters can affect the appearance of the map boundary:
- :term:`MAP_ANNOT_MIN_ANGLE`, :term:`MAP_ANNOT_MIN_SPACING`,
- :term:`FONT_ANNOT_PRIMARY`, :term:`FONT_ANNOT_SECONDARY`,
- :term:`MAP_ANNOT_OFFSET_PRIMARY`,
- :term:`MAP_ANNOT_OFFSET_SECONDARY`,
- :term:`MAP_ANNOT_ORTHO`, :term:`MAP_FRAME_AXES`, :term:`MAP_DEFAULT_PEN`,
- :term:`MAP_FRAME_TYPE`, :term:`FORMAT_GEO_MAP`, :term:`MAP_FRAME_PEN`,
- :term:`MAP_FRAME_WIDTH`, :term:`MAP_GRID_CROSS_SIZE_PRIMARY`,
- :term:`MAP_GRID_PEN_PRIMARY`, :term:`MAP_GRID_CROSS_SIZE_SECONDARY`,
- :term:`MAP_GRID_PEN_SECONDARY`, :term:`FONT_TITLE`, :term:`FONT_LABEL`,
- :term:`MAP_LINE_STEP`, :term:`MAP_ANNOT_OBLIQUE`,
- :term:`FORMAT_CLOCK_MAP`, :term:`FORMAT_DATE_MAP`,
- :term:`FORMAT_TIME_PRIMARY_MAP`, :term:`FORMAT_TIME_SECONDARY_MAP`,
- :term:`GMT_LANGUAGE`, :term:`TIME_WEEK_START`,
- :term:`MAP_TICK_LENGTH_PRIMARY`,
- and :term:`MAP_TICK_PEN_PRIMARY`; see the :doc:`gmt.conf` man page for details.
|