Skip to content

Commit

Permalink
Improved synopsis and usage of -Ccpt for grid plot modules (#8165)
Browse files Browse the repository at this point in the history
* Improve synopsis and usage of -Ccpt for grid*-plotters

The grid plotters grd2kml, grdimage, grdview, and grdvector takes a bit more complicated CPT argument.  This is not documented better via API function gmt_explain_cpt_input and RST include file use_cpt_grd.rst_
Also fixed up synopsis syntax via constant CPT_OPT_ARGS.

* More polish

Ensure Unit link is employed in those 5 files.

* Update gmt_support.c
  • Loading branch information
PaulWessel committed Dec 9, 2023
1 parent 07dfe26 commit 5315bb4
Show file tree
Hide file tree
Showing 12 changed files with 65 additions and 54 deletions.
6 changes: 5 additions & 1 deletion doc/rst/source/grd2kml.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Synopsis
**gmt grd2kml** *ingrid*
|-N|\ *prefix*
[ |-A|\ **a**\|\ **g**\|\ **s**\ [*altitude*] ]
[ |-C|\ *cpt* ]
[ |-C|\ [*section*/]\ *master*\|\ *cpt*\|\ *color*\ :math:`_1`,\ *color*\ :math:`_2`\ [,\ *color*\ :math:`_3`\ ,...]\ [**+h**\ [*hinge*]][**+i**\ *dz*][**+u**\|\ **U**\ *unit*][**+s**\ *fname*] ]
[ |-E|\ *URL* ]
[ |-F|\ *filtercode* ]
[ |-H|\ *scale* ]
Expand Down Expand Up @@ -153,6 +153,10 @@ Optional Arguments

.. include:: explain_-n.rst_

.. include:: explain_help.rst_

.. include:: explain_distunits.rst_

Quadtree building
-----------------

Expand Down
4 changes: 3 additions & 1 deletion doc/rst/source/grdimage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Synopsis
|-J|\ *parameters*
[ |-A|\ *out_img*\ [**=**\ *driver*] ]
[ |SYN_OPT-B| ]
[ |-C|\ *cpt* ]
[ |-C|\ [*section*/]\ *master*\|\ *cpt*\|\ *color*\ :math:`_1`,\ *color*\ :math:`_2`\ [,\ *color*\ :math:`_3`\ ,...]\ [**+h**\ [*hinge*]][**+i**\ *dz*][**+u**\|\ **U**\ *unit*][**+s**\ *fname*] ]
[ |-D|\ [**r**] ]
[ |-E|\ [**i**\|\ *dpi*] ]
[ |-G|\ *color*\ [**+b**\|\ **f**] ]
Expand Down Expand Up @@ -216,6 +216,8 @@ Optional Arguments

.. include:: explain_help.rst_

.. include:: explain_distunits.rst_

.. module_common_ends
.. module_note_begins
Expand Down
2 changes: 1 addition & 1 deletion doc/rst/source/grdvector.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Synopsis
**gmt grdvector** *grid1* *grid2* |-J|\ *parameters*
[ |-A| ]
[ |SYN_OPT-B| ]
[ |-C|\ *cpt* ]
[ |-C|\ [*section*/]\ *master*\|\ *cpt*\|\ *color*\ :math:`_1`,\ *color*\ :math:`_2`\ [,\ *color*\ :math:`_3`\ ,...]\ [**+h**\ [*hinge*]][**+i**\ *dz*][**+u**\|\ **U**\ *unit*][**+s**\ *fname*] ]
[ |-G|\ *fill* ]
[ |-I|\ [**x**]\ *dx*\ [/*dy*] ]
[ |-N| ] [ |-Q|\ *parameters* ]
Expand Down
4 changes: 3 additions & 1 deletion doc/rst/source/grdview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Synopsis

**gmt grdview** *reliefgrid* |-J|\ *parameters*
[ |SYN_OPT-B| ]
[ |-C|\ [*cpt*]]
[ |-C|\ [*section*/]\ *master*\|\ *cpt*\|\ *color*\ :math:`_1`,\ *color*\ :math:`_2`\ [,\ *color*\ :math:`_3`\ ,...]\ [**+h**\ [*hinge*]][**+i**\ *dz*][**+u**\|\ **U**\ *unit*][**+s**\ *fname*] ]
[ |-G|\ *drapegrid* \| |-G|\ *grd_r* |-G|\ *grd_g* |-G|\ *grd_b* ]
[ |-I|\ [*ifile*\|\ *intens*\|\ **+a**\ *azimuth*][**+d**][**+m**\ *ambient*][**+n**\ *args*] ]
[ |-Jz|\ \|\ **Z**\ *parameters* ]
Expand Down Expand Up @@ -194,6 +194,8 @@ Optional Arguments

.. include:: explain_help.rst_

.. include:: explain_distunits.rst_

.. include:: explain_grdresample.rst_

.. module_common_ends
Expand Down
29 changes: 15 additions & 14 deletions doc/rst/source/use_cpt_grd.rst_
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
**-C**\ [[*section*/]\ *master_cpt*\ [**+h**\ [*hinge*]][**+u**\|\ **U**\ *unit*]\|\ *local.cpt*\|\ *color*\ :math:`_1`,\ *color*\ :math:`_2`\ [,\ *color*\ :math:`_3`\ ,...]][**+s**\ *fname*]]
Name of an input CPT file or a comma-separated list of colors from which to build a CPT.
If no argument is given then under modern mode we select the current CPT.
**-C**\ [*section*/]\ *master*\|\ *cpt*\|\ *color*\ :math:`_1`,\ *color*\ :math:`_2`\ [,\ *color*\ :math:`_3`\ ,...]\ [**+h**\ [*hinge*]][**+i**\ *dz*][**+u**\|\ **U**\ *unit*][**+s**\ *fname*]
Name of a master CPT, an input CPT file or a comma-separated list of colors from which to build a CPT.
If no argument is given then under modern mode we select the current CPT, if it is available.
Generally, the input can be many things:

#. A standard GMT *master_cpt* file, e.g., *earth*
#. A standard GMT *master* CPT file, e.g., *earth*
(see :ref:`Of Colors and Color Legends`) and can be either addressed
by *master\_cpt* or *section*/*master_cpt* (without the **.cpt** extension).
#. File name of already custom-made *local.cpt* file.
by *master* or *section*/*master* (without any **.cpt** extension).
#. File name of already custom-made *cpt* file (e.g, *my_colors.cpt*).
#. Build a linear continuous CPT from *color*\ :math:`_1`,\ *color*\ :math:`_2`\ [,\ *color*\ :math:`_3`\ ,...]
automatically, where *z* starts at 0 and is incremented by one for each color. In this case,
*color*\ :math:`_i` can be a r/g/b (e.g., 255/100/75), or h-s-v triplet (e.g., 180-0.8-1),
a c/m/y/k quadruple (e.g., 80/50/40/30), an HTML hexadecimal color (e.g. #aabbcc),
*color*\ :math:`_i` can be a *r*/*g*/*b* (e.g., 255/100/75), *h*-*s*-*v* triplet (e.g., 180-0.8-1),
a *c*/*m*/*y*/*k* quadruple (e.g., 80/50/40/30), an HTML hexadecimal color (e.g. *#aabbcc*),
or a :ref:`color name <RGBchart>`. No spaces between commas are allowed.

A few modifiers pertains to hinges and units:

- **+h**: If given a master CPT with soft hinges then you can enable the hinge at
data value *hinge* [0], whereas for hard-hinge CPTs you can adjust the location
of the hinge [0] but not disable it.
- **+i**: Append increment *dz* to quantize the range [Default uses the exact grid range].
- **+s**: Append *fname* to save the finalized cpt in a disk file.
This is useful when the cpt was generated automatically, but if used, **must** be
- **+i**: Append increment *dz* to quantize the grid range [Default uses the exact grid range].
- **+s**: Append *fname* to save the finalized CPT in a disk file.
This is useful when the CPT is generated automatically, but if used, **must** be
at the end of the **-C** option.
- **+u**: For any other *master_cpt*, you may convert their *z*-values from
another distance *unit* to meter.
- **+U**: Likewise, you may convert their *z*-values from meter to another *unit*.
- **+u**: For any other *master* CPT, you may convert their *z*-values from
other distance `Units`_ to meter by appending the original unit code.
- **+U**: Likewise, you may convert their *z*-values from meter to other `Units`_
by appending the desired unit code.
3 changes: 3 additions & 0 deletions src/gmt_constants.h
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,9 @@ enum GMT_time_period {
#define GMT_CPT_EXTENSION ".cpt"
#define GMT_CPT_EXTENSION_LEN 4U

/* -C (cpt) args for grd*.c plotters: */
#define CPT_OPT_ARGS "[<section>/]<master>|<cpt>|<*color1,color2[,color3,...][+h[<hinge>]][+i<dz>][+u|U<unit>][+s<fname>]"

#define GMT_IS_ROMAN_LCASE 1 /* For converting Arabic numerals to Roman */
#define GMT_IS_ROMAN_UCASE 2

Expand Down
1 change: 1 addition & 0 deletions src/gmt_prototypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -555,6 +555,7 @@ EXTERN_MSC int gmt_cube_BC_set (struct GMT_CTRL *GMT, struct GMT_CUBE *U, unsign
EXTERN_MSC unsigned int gmt_parse_inv_cpt (struct GMT_CTRL *GMT, char *arg);
EXTERN_MSC struct GMT_PALETTE * gmt_truncate_cpt (struct GMT_CTRL *GMT, struct GMT_PALETTE *P, double z_low, double z_high);
EXTERN_MSC void gmt_explain_cpt_output (struct GMTAPI_CTRL *API, char option);
EXTERN_MSC void gmt_explain_cpt_input (struct GMTAPI_CTRL *API, char option);
EXTERN_MSC int gmt_prepare_categorical_cpt (struct GMT_CTRL *GMT, char *label, char *key, struct GMT_PALETTE *Pout);
EXTERN_MSC void gmt_free_int_selection (struct GMT_CTRL *GMT, struct GMT_INT_SELECTION **S);
EXTERN_MSC struct GMT_INT_SELECTION * gmt_set_int_selection (struct GMT_CTRL *GMT, char *item);
Expand Down
20 changes: 20 additions & 0 deletions src/gmt_support.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@
* gmt_contour_edge_init
* gmt_contour_first_pos
* gmt_contours
* gmt_explain_cpt_input
* gmt_explain_cpt_output
* gmt_cpt_default
* gmt_cpt_interval_modifier
* gmt_cpt_transparency
Expand Down Expand Up @@ -1576,6 +1578,24 @@ void gmt_explain_cpt_output (struct GMTAPI_CTRL *API, char option) {
"if it is 7 and label is D then we auto-create weekday name labels.");
}

void gmt_explain_cpt_input (struct GMTAPI_CTRL *API, char option) {
/* Display CPT usage for grd* plotters */

GMT_Usage (API, 1, "\n-%c%s", option, CPT_OPT_ARGS);
GMT_Usage (API, -2, "Color palette file to convert grid values to colors, provided by one of three ways:");
GMT_Usage (API, 3, "%s Name one of the master CPTs (no extension) [%s].", GMT_LINE_BULLET, API->GMT->current.setting.cpt);
GMT_Usage (API, 3, "%s Name a local regular CPTs (with extension).", GMT_LINE_BULLET);
GMT_Usage (API, 3, "%s Specify <color1>,<color2>[,<color3>,...] to build a linear continuous "
"CPT to automatically assign continuous colors over the grid data range.", GMT_LINE_BULLET);
GMT_Usage (API, -2, "A few modifiers control generation of the active CPT:");
GMT_Usage (API, 3, "+h Enable a soft hinge in your master CPT. Append <hinge> to change its value.");
GMT_Usage (API, 3, "+i Append <dz> to quantize the grid range [Default uses the exact grid range].");
GMT_Usage (API, 3, "+u Scale CPT z-values from another <unit> to meters.");
GMT_Usage (API, 3, "+U Scale CPT z-values from meters to another <unit>.");
GMT_Usage (API, 3, "+s Append <fname> to save the generated CPT to file.");
GMT_Usage (API, -2, "Note: For converting units with +u|U, see units %s.", GMT_LEN_UNITS2_DISPLAY);
}

int gmt_prepare_categorical_cpt (struct GMT_CTRL *GMT, char *label, char *key, struct GMT_PALETTE *Pout) {
bool got_key_file = (key && !gmt_access (GMT, key, R_OK)); /* Want categorical labels read from file */
unsigned int ns = 0;
Expand Down
11 changes: 3 additions & 8 deletions src/grd2kml.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,9 +144,9 @@ static void Free_Ctrl (struct GMT_CTRL *GMT, struct GRD2KML_CTRL *C) { /* Deallo
static int usage (struct GMTAPI_CTRL *API, int level) {
const char *name = gmt_show_name_and_purpose (API, THIS_MODULE_LIB, THIS_MODULE_CLASSIC_NAME, THIS_MODULE_PURPOSE);
if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR);
GMT_Usage (API, 0, "usage: %s %s -N<name> [-Aa|g|s[<altitude>]] [-C<cpt>] [-E<url>] [-F<filter>] "
GMT_Usage (API, 0, "usage: %s %s -N<name> [-Aa|g|s[<altitude>]] [-C%s] [-E<url>] [-F<filter>] "
"[-H<scale>] [-I[<intensgrid>|<value>|<modifiers>]] [-L<size>] [-S[<extra>]] [-T<title>] [%s] "
"[-W<contfile>|<pen>[+s<scl>/<limit>]] [%s] [%s] [%s]\n", name, GMT_INGRID, GMT_V_OPT, GMT_f_OPT, GMT_n_OPT, GMT_PAR_OPT);
"[-W<contfile>|<pen>[+s<scl>/<limit>]] [%s] [%s] [%s]\n", name, GMT_INGRID, CPT_OPT_ARGS, GMT_V_OPT, GMT_f_OPT, GMT_n_OPT, GMT_PAR_OPT);

if (level == GMT_SYNOPSIS) return (GMT_MODULE_SYNOPSIS);

Expand All @@ -165,12 +165,7 @@ static int usage (struct GMTAPI_CTRL *API, int level) {
GMT_Usage (API, 3, "g: Altitude relative to sea surface or ground.");
GMT_Usage (API, 3, "s: Altitude relative to sea floor or ground.");
GMT_Usage (API, -2, "Optionally, append fixed <altitude> [g0: Clamped to sea surface or ground].");
GMT_Usage (API, 1, "\n-C<cpt>");
GMT_Usage (API, -2, "Color palette file to convert grid values to colors. Optionally, instead give name of a master cpt "
"to automatically assign continuous colors over the data range [%s]; if so, "
"optionally append +i<dz> to quantize the range [the exact grid range]. "
"Another option is to specify -C<color1>,<color2>[,<color3>,...] to build a "
"linear continuous cpt from those colors automatically.", API->GMT->current.setting.cpt);
gmt_explain_cpt_input (API, 'C');
GMT_Usage (API, 1, "\n-E<url>");
GMT_Usage (API, -2, "To store all files remotely, give leading URL [local files only].");
GMT_Usage (API, 1, "\n-F<filter>");
Expand Down
12 changes: 3 additions & 9 deletions src/grdimage.c
Original file line number Diff line number Diff line change
Expand Up @@ -159,10 +159,10 @@ static int usage (struct GMTAPI_CTRL *API, int level) {
const char *name = gmt_show_name_and_purpose (API, THIS_MODULE_LIB, THIS_MODULE_CLASSIC_NAME, THIS_MODULE_PURPOSE);
const char *extra[2] = {A, " [-A]"};
if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR);
GMT_Usage (API, 0, "usage: %s %s %s%s [%s] [-C<cpt>] [-D[r]] [-Ei|<dpi>] "
GMT_Usage (API, 0, "usage: %s %s %s%s [%s] [-C%s] [-D[r]] [-Ei|<dpi>] "
"[-G<rgb>[+b|f]] [-I[<intensgrid>|<value>|<modifiers>]] %s[-M] [-N] %s%s[-Q[<color>][+z<value>]] "
"[%s] [-T[+o[<pen>]][+s]] [%s] [%s] [%s] [%s] %s[%s] [%s] [%s] [%s]%s[%s]\n",
name, GMT_INGRID, GMT_J_OPT, extra[API->external], GMT_B_OPT, API->K_OPT, API->O_OPT, API->P_OPT, GMT_Rgeo_OPT, GMT_U_OPT,
name, GMT_INGRID, GMT_J_OPT, extra[API->external], GMT_B_OPT, CPT_OPT_ARGS, API->K_OPT, API->O_OPT, API->P_OPT, GMT_Rgeo_OPT, GMT_U_OPT,
GMT_V_OPT, GMT_X_OPT, GMT_Y_OPT, API->c_OPT, GMT_f_OPT, GMT_n_OPT, GMT_p_OPT, GMT_t_OPT, GMT_x_OPT, GMT_PAR_OPT);

if (level == GMT_SYNOPSIS) return (GMT_MODULE_SYNOPSIS);
Expand All @@ -186,13 +186,7 @@ static int usage (struct GMTAPI_CTRL *API, int level) {
"See GDAL documentation for available drivers. Note: any vector elements are lost.");
}
GMT_Option (API, "B-");
GMT_Usage (API, 1, "\n-C<cpt>");
GMT_Usage (API, -2, "Color palette file to convert grid values to colors. Optionally, name a master cpt "
"to automatically assign continuous colors over the data range [%s]; if so, "
"optionally append +i<dz> to quantize the range [the exact grid range]. "
"Another option is to specify -C<color1>,<color2>[,<color3>,...] to build a "
"linear continuous cpt from those colors automatically. Append +s<fname> to save the generated cpt ",
"in a disk file.", API->GMT->current.setting.cpt);
gmt_explain_cpt_input (API, 'C');
GMT_Usage (API, 1, "\n-D[r]");
if (API->external) /* External interface */
GMT_Usage (API, -2, "Input is an image instead of a grid. Append r to equate image region to -R region.");
Expand Down
15 changes: 5 additions & 10 deletions src/grdvector.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,9 @@ static void Free_Ctrl (struct GMT_CTRL *GMT, struct GRDVECTOR_CTRL *C) { /* Deal
static int usage (struct GMTAPI_CTRL *API, int level) {
const char *name = gmt_show_name_and_purpose (API, THIS_MODULE_LIB, THIS_MODULE_CLASSIC_NAME, THIS_MODULE_PURPOSE);
if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR);
GMT_Usage (API, 0, "usage: %s <gridx> <gridy> %s [-A] [%s] [-C[<cpt>]] [-G<fill>] [-I[x]<dx>/<dy>] "
GMT_Usage (API, 0, "usage: %s <gridx> <gridy> %s [-A] [%s] [-C%s] [-G<fill>] [-I[x]<dx>[/<dy>]] "
"%s[-N] %s%s[-Q<params>] [%s] [-S[i|l]<length>|<scale>[+c[<slon>/]<slat>][+s<refsize>]] [-T] [%s] [%s] [-W<pen>] [%s] [%s] [-Z] "
"%s [%s] [%s] [%s] [%s] [%s]\n", name, GMT_J_OPT, GMT_B_OPT, API->K_OPT, API->O_OPT, API->P_OPT,
"%s [%s] [%s] [%s] [%s] [%s]\n", name, GMT_J_OPT, GMT_B_OPT, CPT_OPT_ARGS, API->K_OPT, API->O_OPT, API->P_OPT,
GMT_Rgeo_OPT, GMT_U_OPT, GMT_V_OPT, GMT_X_OPT, GMT_Y_OPT, API->c_OPT, GMT_f_OPT, GMT_l_OPT, GMT_p_OPT, GMT_t_OPT, GMT_PAR_OPT);

if (level == GMT_SYNOPSIS) return (GMT_MODULE_SYNOPSIS);
Expand All @@ -128,15 +128,10 @@ static int usage (struct GMTAPI_CTRL *API, int level) {
GMT_Message (API, GMT_TIME_NONE, "\n OPTIONAL ARGUMENTS:\n");
GMT_Usage (API, 1, "\n-A Grids have polar (r, theta) components [Default is Cartesian (x, y) components].");
GMT_Option (API, "B-");
GMT_Usage (API, 1, "\n-C[<cpt>]");
GMT_Usage (API, -2, "Color palette file to convert vector length to colors. Optionally, name a master cpt "
"to automatically assign continuous colors over the data range [%s]; if so, "
"optionally append +i<dz> to quantize the range [the exact grid range]. "
"Another option is to specify -Ccolor1,color2[,color3,...] to build a linear "
"continuous cpt from those colors automatically.", API->GMT->current.setting.cpt);
gmt_explain_cpt_input (API, 'C');
gmt_fill_syntax (API->GMT, 'G', NULL, "Select vector fill [Default is outlines only].");
GMT_Usage (API, 1, "\n-I[x]<dx>/<dy>");
GMT_Usage (API, -2, "Plot only those nodes that are <dx>/<dy> apart [Default is all nodes]. "
GMT_Usage (API, 1, "\n-I[x]<dx>[/<dy>]");
GMT_Usage (API, -2, "Plot only those nodes that are <dx> and <dy> apart [Default is all nodes]. "
"Optionally, use -Ix<fact>[/<yfact>] to give multiples of grid spacing.");
GMT_Option (API, "K");
GMT_Usage (API, 1, "\n-N Do Not clip vectors that exceed the map boundaries [Default will clip].");
Expand Down
12 changes: 3 additions & 9 deletions src/grdview.c
Original file line number Diff line number Diff line change
Expand Up @@ -421,10 +421,10 @@ static int usage (struct GMTAPI_CTRL *API, int level) {

const char *name = gmt_show_name_and_purpose (API, THIS_MODULE_LIB, THIS_MODULE_CLASSIC_NAME, THIS_MODULE_PURPOSE);
if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR);
GMT_Usage (API, 0, "usage: %s <topogrid> %s [%s] [-C[<cpt>]] [-G<drapegrid> | <image> | -G<grd_r> -G<grd_g> -G<grd_b>] "
GMT_Usage (API, 0, "usage: %s <topogrid> %s [%s] [-C%s] [-G<drapegrid> | <image> | -G<grd_r> -G<grd_g> -G<grd_b>] "
"[-I[<intensgrid>|<value>|<modifiers>]] [%s] %s[-N[<level>][+g<fill>]] %s%s[-Q<args>[+m]] [%s] [-S<smooth>] "
"[-T[+o[<pen>]][+s]] [%s] [%s] [-W<type><pen>] [%s] [%s] %s[%s] [%s] [%s] [%s] [%s]\n",
name, GMT_J_OPT, GMT_B_OPT, GMT_Jz_OPT, API->K_OPT, API->O_OPT, API->P_OPT, GMT_Rgeoz_OPT, GMT_U_OPT, GMT_V_OPT,
name, GMT_J_OPT, GMT_B_OPT, CPT_OPT_ARGS, GMT_Jz_OPT, API->K_OPT, API->O_OPT, API->P_OPT, GMT_Rgeoz_OPT, GMT_U_OPT, GMT_V_OPT,
GMT_X_OPT, GMT_Y_OPT, API->c_OPT, GMT_f_OPT, GMT_n_OPT, GMT_p_OPT, GMT_t_OPT, GMT_PAR_OPT);

if (level == GMT_SYNOPSIS) return (GMT_MODULE_SYNOPSIS);
Expand All @@ -434,13 +434,7 @@ static int usage (struct GMTAPI_CTRL *API, int level) {
GMT_Option (API, "J-Z");
GMT_Message (API, GMT_TIME_NONE, "\n OPTIONAL ARGUMENTS:\n");
GMT_Option (API, "B-");
GMT_Usage (API, 1, "\n-C[<cpt>]");
GMT_Usage (API, -2, "Color palette file to convert grid values to colors. Optionally, name a master cpt "
"to automatically assign continuous colors over the data range [%s]; if so, "
"optionally append +i<dz> to quantize the range [the exact grid range]. "
"Another option is to specify -C<color1>,<color2>[,<color3>,...] to build a "
"linear continuous cpt from those colors automatically. Append +s<fname> to save the generated cpt ",
"in a disk file.", API->GMT->current.setting.cpt);
gmt_explain_cpt_input (API, 'C');
GMT_Usage (API, 1, "\n-G<drapegrid> | <image> | -G<grd_r> -G<grd_g> -G<grd_b>");
GMT_Usage (API, -2, "Specify how to color the 3-D surface defined by <topogrid>:");
GMT_Usage (API, 3, "%s Provide a grid (<drapegrid>) and colors will be determined from it and the cpt.", GMT_LINE_BULLET);
Expand Down

0 comments on commit 5315bb4

Please sign in to comment.