✍️ 田冬冬 , 朱邓达 • 📅 2025-05-15

# 颜色

既然是绘图，丰富的颜色是必须的。GMT中可以通过五种不同的方式来指定颜色，即：

1. 颜色名

2. RGB 值

3. HSV 值

4. CMYK 值

5. 灰度值

## 颜色名

通过颜色名指定颜色是最直观的方式了。常见的颜色如 white、 black、red、orange、yellow、green、 cyan、blue、magenta、gray （或grey） 和 brown 等。 除 white 和 black 之外，其余的几种常见颜色名还可以加上前缀 light 或 dark，以表示浅色和深色。比如 lightblue、blue、darkblue 分别表示浅蓝、蓝色和深蓝。

所有的颜色名都是不区分大小写的，所以 lightblue、LIGHTBLUE 或者 LightBlue 都是合法的颜色名。

GMT 支持通过颜色名指定663种颜色。下图中列出了GMT支持的所有颜色名及其对应的RGB值。

GMT颜色表下载： `A4 PNG 格式` | `A4 PDF 格式` | `USLetter PNG 格式` | `USLetter PDF 格式`

在以下色标上悬停可显示颜色名称和RGB值，单击可复制到剪贴板。

RGB value copied to clipboard

## RGB

即三原色光模型，或又称RGB颜色模型，是一种加色模型，将红（Red）、 绿（Green）、蓝（Blue）三原色的色光以不同的比例相加， 以产生多种多样的色光。

GMT中可以通过 r/g/b 的格式来指定RGB颜色，其中 r、g、b 的取值范围都是0到255，三者用斜线 `/` 分开。

RGB颜色示例：

- 0/0/0：黑色；

- 255/255/255：白色；

- 255/0/0：红色；

- 0/255/0：绿色；

- 0/0/255：蓝色；

RGB颜色除了可以用上面的表示法之外，还可以用HTML中常用的表示法 #RRGGBB， 即分别用两位的十六进制数字表示每个颜色通道，0对应的16进制是 00， 255对应的16进制是 FF。例如 #000000 即黑色，#FF0000 即红色。 十六进制数用大小写表示均可。

## HSV

通过 h-s-v 格式指定颜色，其中HSV分别代表色相（Hue）、 饱和度（Saturation）和明度（Value），三者之间用连字号 `-` 分开。

- 色相（H）是色彩的基本属性，就是平常所说的颜色名称（如红色、黄色等）， 取值范围为0到360。

- 饱和度（S）是指色彩的纯度，越高色彩越纯，低则逐渐变灰，取值范围为0到1。

- 明度（V）是色彩的亮度，取值范围为0（dark）到1（light）。

例如 200-0.1-0.1。

## CMYK

印刷四分色模式，是彩色印刷时采用的一种套色模式，利用色料的三原色混色原理， 加上黑色油墨，共计四种颜色混合叠加，形成所谓“全彩印刷”。四种标准颜色是：

- Cyan：青色，又称为天蓝色或是湛蓝

- Magenta：品红色，又称为洋红色

- Yellow：黄色

- blacK：定位套版色（黑色）

GMT中可以通过 c/m/y/k的方式指定CMYK格式的颜色。c、m、y、 k 的取值范围均为 0 到 100，用斜线 `/` 分开，例如 20/30/40/40。

## 灰色

灰色是常见的一种颜色，而灰色又可以根据灰的不同程度细分为不同的灰色。 指定灰色的办法很简单，用一个数值表示灰度即可，其取值范围为0到255。 例如 0 表示黑色，255 表示白色，128 表示灰色。

除了用灰度表示之外，灰色还可以用前面提到的几种形式表示：

1. 用RGB表示灰度

   灰色本质上就是 R=G=B 的一种颜色。因而 128/128/128 代表灰度 为 128 ，200/200/200 代表灰度是 200。

2. 用GMT颜色名表示灰度

   GMT自定义了多个颜色名来表示不同程度的灰色。 除了前面说过的 gray、lightgray 和 darkgray 之外， 还有 gray0、gray1 一直到 gray100。 其中 gray0 即黑色，gray100 即白色。

## 透明色

每一种颜色，都可以额外指定其透明度。

GMT中可以通过在颜色后加上 @ 再加上透明度来得到不同程度的透明色。 透明度的取值范围是0到100，0表示不透明，100表示全透明。

例如：red@25、30/25/128@60。

备注

PS格式不支持透明色。

## 颜色小结

GMT中可以用五种方法指定颜色，分别是：

- 颜色名：red

- RGB值：30/25/128 或 #00FA84

- HSV值：200-0.1-0.1

- CMYK值：0.2/0.3/0.4/0.5

- 灰度：30

## 小练习

下面的命令在底图中心绘制了一个红色圆圈，试着将 `-Gred` 中的 red 改为 其它颜色以理解这一节的内容:

    echo 5 5 | gmt plot -JX10c/10c -R0/10/0/10 -Baf -Sc3c -Gred -pdf colors