From be2ea478f9ad0eb2df786837c5dfc11d02d7c12f Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Mon, 27 Jul 2026 16:20:08 +0800 Subject: [PATCH 1/2] Migrate the cmap parameter to the new alias system --- pygmt/src/colorbar.py | 5 ++++- pygmt/src/grd2cpt.py | 4 +++- pygmt/src/grdimage.py | 4 +++- pygmt/src/histogram.py | 4 +++- pygmt/src/makecpt.py | 4 +++- pygmt/src/plot.py | 4 +++- pygmt/src/plot3d.py | 4 +++- pygmt/src/rose.py | 5 +++-- pygmt/src/ternary.py | 5 ++++- pygmt/src/velo.py | 4 +++- 10 files changed, 32 insertions(+), 11 deletions(-) diff --git a/pygmt/src/colorbar.py b/pygmt/src/colorbar.py index 0687fa3d391..f717b2773c6 100644 --- a/pygmt/src/colorbar.py +++ b/pygmt/src/colorbar.py @@ -241,9 +241,10 @@ def _alias_option_N(dpi=None): # noqa: N802 @fmt_docstring -@use_alias(C="cmap", L="equalsize", Z="zfile") +@use_alias(L="equalsize", Z="zfile") def colorbar( self, + cmap: str | bool = False, position: Position | Sequence[float | str] | AnchorCode | None = None, length: float | str | None = None, width: float | str | None = None, @@ -306,6 +307,7 @@ def colorbar( Full GMT docs at :gmt-docs:`colorbar.html`. $aliases + - C = cmap - F = box - G = truncate - I = shading @@ -499,6 +501,7 @@ def colorbar( ) aliasdict = AliasSystem( + C=Alias(cmap, name="cmap"), D=_alias_option_D( position=position, length=length, diff --git a/pygmt/src/grd2cpt.py b/pygmt/src/grd2cpt.py index d175d24ea79..967d6adacd0 100644 --- a/pygmt/src/grd2cpt.py +++ b/pygmt/src/grd2cpt.py @@ -18,7 +18,6 @@ @fmt_docstring @use_alias( A="transparency", - C="cmap", D="background", F="color_model", E="nlevels", @@ -32,6 +31,7 @@ @kwargs_to_strings(L="sequence", T="sequence") def grd2cpt( grid: PathLike | xr.DataArray, + cmap: str | bool = False, truncate: Sequence[float] | None = None, overrule_bg: bool = False, no_bg: bool = False, @@ -86,6 +86,7 @@ def grd2cpt( Full GMT docs at :gmt-docs:`grd2cpt.html`. $aliases + - C = cmap - G = truncate - M = overrule_bg - N = no_bg @@ -206,6 +207,7 @@ def grd2cpt( kwargs["H"] = True aliasdict = AliasSystem( + C=Alias(cmap, name="cmap"), G=Alias(truncate, name="truncate", sep="/", size=2), M=Alias(overrule_bg, name="overrule_bg"), N=Alias(no_bg, name="no_bg"), diff --git a/pygmt/src/grdimage.py b/pygmt/src/grdimage.py index 0c7d5f0f142..66b9990d2c5 100644 --- a/pygmt/src/grdimage.py +++ b/pygmt/src/grdimage.py @@ -17,7 +17,6 @@ @fmt_docstring @use_alias( - C="cmap", D="img_in", E="dpi", G="bitcolor", @@ -29,6 +28,7 @@ def grdimage( self, grid: PathLike | xr.DataArray, + cmap: str | bool = False, monochrome: bool = False, no_clip: bool = False, projection: str | None = None, @@ -77,6 +77,7 @@ def grdimage( $aliases - B = frame + - C = cmap - J = projection - M = monochrome - N = no_clip @@ -184,6 +185,7 @@ def grdimage( raise NotImplementedError(msg) aliasdict = AliasSystem( + C=Alias(cmap, name="cmap"), M=Alias(monochrome, name="monochrome"), N=Alias(no_clip, name="no_clip"), ).add_common( diff --git a/pygmt/src/histogram.py b/pygmt/src/histogram.py index 1577cd9e48b..184203fdcbd 100644 --- a/pygmt/src/histogram.py +++ b/pygmt/src/histogram.py @@ -24,7 +24,6 @@ @deprecate_parameter("barwidth", "bar_width", "v0.18.0", remove_version="v0.20.0") @use_alias( A="horizontal", - C="cmap", D="annotate", F="center", G="fill", @@ -48,6 +47,7 @@ def histogram( data: PathLike | TableLike, bar_width: float | str | None = None, bar_offset: float | str | None = None, + cmap: str | bool = False, projection: str | None = None, region: Sequence[float | str] | str | None = None, frame: Frame | Axis | Literal["none"] | str | Sequence[str] | bool = False, @@ -66,6 +66,7 @@ def histogram( $aliases - B = frame + - C = cmap - E = bar_width, bar_offset - J = projection - R = region @@ -167,6 +168,7 @@ def histogram( ) aliasdict = AliasSystem( + C=Alias(cmap, name="cmap"), E=[ Alias(bar_width, name="bar_width"), Alias(bar_offset, name="bar_offset", prefix="+o"), diff --git a/pygmt/src/makecpt.py b/pygmt/src/makecpt.py index f378421c686..f601f90f17d 100644 --- a/pygmt/src/makecpt.py +++ b/pygmt/src/makecpt.py @@ -14,7 +14,6 @@ @fmt_docstring @use_alias( A="transparency", - C="cmap", D="background", F="color_model", H="output", @@ -25,6 +24,7 @@ ) @kwargs_to_strings(T="sequence") def makecpt( + cmap: str | bool = False, truncate: Sequence[float] | None = None, overrule_bg: bool = False, no_bg: bool = False, @@ -74,6 +74,7 @@ def makecpt( Full GMT docs at :gmt-docs:`makecpt.html`. $aliases + - C = cmap - G = truncate - M = overrule_bg - N = no_bg @@ -175,6 +176,7 @@ def makecpt( kwargs["H"] = True aliasdict = AliasSystem( + C=Alias(cmap, name="cmap"), G=Alias(truncate, name="truncate", sep="/", size=2), M=Alias(overrule_bg, name="overrule_bg"), N=Alias(no_bg, name="no_bg"), diff --git a/pygmt/src/plot.py b/pygmt/src/plot.py index aae219265ab..86cbea0aeb8 100644 --- a/pygmt/src/plot.py +++ b/pygmt/src/plot.py @@ -22,7 +22,6 @@ @fmt_docstring @use_alias( - C="cmap", D="offset", E="error_bar", F="connection", @@ -51,6 +50,7 @@ def plot( # noqa: PLR0912 size=None, symbol=None, direction=None, + cmap: str | bool = False, straight_line: bool | Literal["x", "y"] = False, projection: str | None = None, region: Sequence[float | str] | str | None = None, @@ -89,6 +89,7 @@ def plot( # noqa: PLR0912 $aliases - A = straight_line - B = frame + - C = cmap - J = projection - R = region - V = verbose @@ -303,6 +304,7 @@ def plot( # noqa: PLR0912 aliasdict = AliasSystem( A=Alias(straight_line, name="straight_line"), + C=Alias(cmap, name="cmap"), ).add_common( B=frame, R=region, diff --git a/pygmt/src/plot3d.py b/pygmt/src/plot3d.py index f5d2931d8a2..e641d2f4f3d 100644 --- a/pygmt/src/plot3d.py +++ b/pygmt/src/plot3d.py @@ -22,7 +22,6 @@ @fmt_docstring @use_alias( - C="cmap", D="offset", G="fill", I="intensity", @@ -51,6 +50,7 @@ def plot3d( # noqa: PLR0912 size=None, symbol=None, direction=None, + cmap: str | bool = False, straight_line: bool | Literal["x", "y"] = False, projection: str | None = None, zscale: float | str | None = None, @@ -91,6 +91,7 @@ def plot3d( # noqa: PLR0912 $aliases - A = straight_line - B = frame + - C = cmap - J = projection - Jz = zscale - JZ = zsize @@ -274,6 +275,7 @@ def plot3d( # noqa: PLR0912 aliasdict = AliasSystem( A=Alias(straight_line, name="straight_line"), + C=Alias(cmap, name="cmap"), Jz=Alias(zscale, name="zscale"), JZ=Alias(zsize, name="zsize"), ).add_common( diff --git a/pygmt/src/rose.py b/pygmt/src/rose.py index f46fcebb9cc..7e86947e4d8 100644 --- a/pygmt/src/rose.py +++ b/pygmt/src/rose.py @@ -15,7 +15,6 @@ @fmt_docstring @use_alias( A="sector", - C="cmap", D="shift", Em="vectors", F="no_scale", @@ -40,6 +39,7 @@ def rose( data: PathLike | TableLike | None = None, length=None, azimuth=None, + cmap: str | bool = False, region: Sequence[float | str] | str | None = None, frame: Frame | Axis | Literal["none"] | str | Sequence[str] | bool = False, verbose: Literal["quiet", "error", "warning", "timing", "info", "compat", "debug"] @@ -67,6 +67,7 @@ def rose( $aliases - B = frame + - C = cmap - R = region - V = verbose - c = panel @@ -209,7 +210,7 @@ def rose( $transparency $wrap """ - aliasdict = AliasSystem().add_common( + aliasdict = AliasSystem(C=Alias(cmap, name="cmap")).add_common( B=frame, R=region, V=verbose, diff --git a/pygmt/src/ternary.py b/pygmt/src/ternary.py index d271ecda7fa..d27b2818c49 100644 --- a/pygmt/src/ternary.py +++ b/pygmt/src/ternary.py @@ -108,10 +108,11 @@ def _ternary_frame(frame): @fmt_docstring -@use_alias(C="cmap", S="style") +@use_alias(S="style") def ternary( self, data: PathLike | TableLike, + cmap: str | bool = False, fill: str | None = None, width: float | str | None = None, pen: str | None = None, @@ -143,6 +144,7 @@ def ternary( $aliases - B = frame + - C = cmap - G = fill - JX = width - L = alabel/blabel/clabel @@ -199,6 +201,7 @@ def ternary( labels = _labels if any(v != "-" for v in _labels) else None aliasdict = AliasSystem( + C=Alias(cmap, name="cmap"), G=Alias(fill, name="fill"), JX=Alias(width, name="width"), L=Alias(labels, name="alabel/blabel/clabel", sep="/", size=3), diff --git a/pygmt/src/velo.py b/pygmt/src/velo.py index 3985da46226..48acc113033 100644 --- a/pygmt/src/velo.py +++ b/pygmt/src/velo.py @@ -22,7 +22,6 @@ ) @use_alias( A="vector", - C="cmap", D="rescale", E="uncertainty_fill", G="fill", @@ -39,6 +38,7 @@ def velo( self, data: PathLike | TableLike | None = None, + cmap: str | bool = False, no_clip: bool = False, projection: str | None = None, region: Sequence[float | str] | str | None = None, @@ -67,6 +67,7 @@ def velo( $aliases - B = frame + - C = cmap - J = projection - N = no_clip - R = region @@ -273,6 +274,7 @@ def velo( ) aliasdict = AliasSystem( + C=Alias(cmap, name="cmap"), N=Alias(no_clip, name="no_clip"), ).add_common( B=frame, From 099486583d234cd8315ad2d43a32643336ccebf0 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Mon, 27 Jul 2026 16:24:00 +0800 Subject: [PATCH 2/2] Fix an import issue --- pygmt/src/rose.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pygmt/src/rose.py b/pygmt/src/rose.py index 7e86947e4d8..1c59d87fc68 100644 --- a/pygmt/src/rose.py +++ b/pygmt/src/rose.py @@ -6,7 +6,7 @@ from typing import Literal from pygmt._typing import PathLike, TableLike -from pygmt.alias import AliasSystem +from pygmt.alias import Alias, AliasSystem from pygmt.clib import Session from pygmt.helpers import build_arg_list, fmt_docstring, use_alias from pygmt.params import Axis, Frame