返回介绍

GMT 入门

GMT 实例

GMT 进阶

附录

其他

画笔

发布于 2023-08-10 21:46:57 字数 3609 浏览 0 评论 0 收藏 0

有画笔才能画线条、三角形、圆形等各种复杂的形状。

GMT中的画笔有三个属性:笔宽、颜色和线型,三者用逗号分隔,即 width,color,style

在 GMT 模块的语法介绍中,一般用 pen 表示画笔属性,读者在见到 pen 时应自行脑补成 width,color,style

在指定画笔属性时,可以指定三个属性中的任意一个或多个属性,但要保证属性的相对顺序。

画笔线宽

GMT中可以通过两种方式指定画笔宽度:

  1. 宽度值+单位,即 widthc|i|p

    在不指定线宽单位时,GMT使用的默认线宽单位为 p。除了 p 之外,还可以使用 ci 指定线宽单位为厘米或英寸。

    推荐只使用 p 作为线宽单位,毕竟多数情况下线条的宽度都比较小,用“小”单位 p 作为单位更方便些。且建议总是显式指定线宽单位,以使得命令的参数更加易读,比如 1p0.25p

  2. 预定义画笔宽度名

    对于一些常用的画笔宽度,GMT将其定义为特定的名字,以方便用户使用。下表中列出了GMT预定义画笔宽度名及其对应的线宽。

    GMT预定义画笔宽度名

    颜色 中已经介绍了如何指定颜色,所有的颜色均可用于指定画笔的颜色。

    画笔线型

    画笔线型属性 style 控制了线条的外观,可以用四种方式表示:

    1. 简单符号

      • . 表示点线

      • - 表示虚线

    2. 组合符号

      通过对简单符号的任意组合可以获得更多的线型,比如 .- 表示点划线,..- 表示两个点号与一个连字号交替出现。

    3. 预定义线型名

      GMT预定义了几种线型名,包括:

      • solid:即实线

      • dashed:即虚线,等效于 -

      • dotted:即点线,等效于 .

      • dashdot:划点线,等效于 -.

      • dotdash:点划线,等效于 .-

    备注

    .- 的绝对长度由画笔宽度来决定。 . 的长度等于画笔宽度;- 的长度为8倍画笔宽度;点线或虚线中段间空白的长度为4倍画笔宽度。

    1. 复杂线型

      通过 string[:offset] 的形式可以自定义任意复杂的线型。

      string 是一系列由下划线 _ 分隔的数字组成。这一系列数字中,第奇数个数字表示实线的长度,第偶数个数字表示空白的长度。通过实线和空白的长度的不同组合,即可构成多种复杂的线型。 offset 表示线段开始处整个线型的初始相位移动(默认值为0)。

      例如,4_8_5_8:2p 表示线型首先是长度为 4p 的实线,然后是长度为 8p 的空白,紧接着长度为 5p 的实线和长度为 8p 的空白,然后按照该模式不断重复。此处的 offset 值为 2p,因而线段的最开始处,第一条实线的长度 4p 经过相移后长度为 2p

      线型中的这些数值,默认单位是 p,也可以使用 ci

    小练习

    下面的命令用 plot 模块绘制了一条线段。读者可以将命令中 -Wpen 中的 pen 修改为不同的值来理解如何指定不同的画笔属性:

    gmt plot -R0/10/0/5 -JX10c/5c -Wpen -pdf pens << EOF
    0 2
    10 2
    EOF
    

    Source Code

    http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/101-jovhklhgpn5.png

    发挥你的想象力,想想如何绘制如下图所示的黑白相间的铁轨线?点击“Source Code”可以查看下图对应的绘图脚本。

    Source Code

    http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/107-dx1ryn4qgbw.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文