---
author: 陈箫翰, 赵志远
date: 2022-10-31
---

# 绘制自定义符号

某些地学绘图中常用的符号（例如指北针符号） GMT 默认没有提供，如果需要绘制此类符号，
就需要读者 {ref}`gmt-custom-symbols` ，编写自定义符号的配置文件，之后再使用 ``gmt plot -Sk`` 绘制。

以指北针符号为例，它的配置文件如下:

    # N: 1 意思是本符号需要一个附加参数（经纬度坐标之后的参数）
    # a 意思是该附加参数是地理方位角（从正北开始顺时针角度）
    N: 1 a
    # $1 代表第一个附加参数的值（本例中仅有一个），O 代表进行旋转
    # $1 O 表示先顺时针旋转 $1 角度
    $1 O
    # 以下宏命令绘制指北针的黑色右半边
    # 设置一个位于(0,0.5)的新绘图锚点(M)，并设置填充色为黑色(-Gblack)
    0 0.5 M -Gblack
    # 从上一个点绘制一条线(D)到(0.25,-0.5)
    0.25 -0.5 D
    # 从上一个点绘制一条线(D)到(0,-0.3)
    0 -0.3 D
    # 以下宏命令绘制指北针的白色左半边
    # 设置一个位于(0,-0.3)的新绘图锚点(M)
    0 -0.3 M
    # 从上一个点绘制一条线(D)到(-0.25,-0.5)
    -0.25 -0.5 D
    # 从上一个点绘制一条线(D)到(0,0.5)
    0 0.5 D

将以上配置文件的内容保存为 ``compass.def`` 的文件，之后即可使用 ``gmt plot -Skcompass/符号大小`` 绘制。

示例代码如下：

```{eval-rst}
.. gmtplot:: ex007.sh
    :caption: 绘制自定义符号
    :width: 100%
```
