返回介绍

GMT 入门

GMT 实例

GMT 进阶

附录

其他

绘制底图

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

GMT 可以绘制多种不同类型的底图,包括全球地图、区域地图,以及线性坐标轴、对数轴、指数轴、极坐标轴,甚至 3D 坐标轴。

这一节我们将通过使用 coastbasemap 模块绘制不同类型的底图,并了解 GMT 中 -J-R-B 选项的基本用法。

全球地图

要绘制地图,就需要将地球的三维球面投影到一个二维面上,投影的过程需要指定投影方式。GMT 中使用 -J 选项指定地图投影参数以及地图的尺寸。同时,我们还需要使用 -R 选项指定要绘制的区域范围(即经纬度范围)。

下面用最简单的命令绘制了一张全球地图。

gmt begin GlobalMap
    gmt coast -JH180/12c -R0/360/-90/90 -W0.5p -A10000
gmt end show
http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/278-0lsuk1oq4e0.png

全球地图(无边框版)

绘制区域地图与绘制全球地图没有本质区别,我们依然需要使用 -J 指定投影方式,使用 -R 指定绘图区域范围,使用 -B 指定底图边框。

下面的 GMT 命令绘制了一张新西兰地图。

gmt begin NewZealandMap
    gmt coast -JM12c -RNZ -Ba -W0.5p -A10000
gmt end show
http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/295-gtktp2itauh.png

使用国家代码指定绘图区域

GMT 最擅长绘制地图,同时也适合绘制最简单的线性坐标轴。同样的,要想绘制线性坐标轴,我们依然需要使用 -R 指定坐标轴范围,使用 -B 绘制边框并指定边框和坐标轴属性,同时,我们还需要使用 -JX 指定线性坐标轴的宽度和高度。

下面的示例中,我们使用了:

  • -JX8c/5c 表明线性坐标轴的宽度为 8 厘米,高度为 5 厘米

  • -R10/70/-4/8 表明 X 轴范围为 10 到 70,Y 轴范围为 -4 到 8

  • -Bxa10f5g10+l”X Label” 设置了 X 轴的属性, a10f5g10 分别设置了标注(annotation)间隔为 10,刻度(frame)间隔为 5,网格线(grid )间隔为 10; +l”X Label” 则为 X 轴添加了标签;对于 Y 轴同理;

gmt begin linearXY
    gmt basemap -R10/70/-4/8 -JX8c/5c -Bxa10f5g10+l"X Label" -Bya4f2g2+l"Y Label" -BWSen+t"Linear X-Y Plot"
gmt end show
http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/310-kpidv0dwwai.png

线性坐标轴

三维坐标轴相对于二维坐标轴多了一个 Z 轴。与二维线性坐标轴类似,我们需要针对 Z 轴指定 Z 轴的范围、Z 轴的高度以及三维视角。

下面的命令绘制了一个三维线性坐标轴,相比于传统的二维线性坐标轴,其不同之处在于:

  • -R 选项中有 6 个数字,后面两个数字表示 Z 轴最小值和最大值

  • -JZ5c 指定了 Z 轴的高度为 5 厘米

  • -Bzaf 指定了 Z 轴的标注和刻度属性

  • -BSEwnZ+bZ+b 表示绘制一条 Z 轴,并绘制出整个长方体的所有边

  • -p130/30 指定了看这个长方形的视角。130 和 30 分别为三维视角的方位角和高度角。这个解释起来稍复杂,读者可以自己试试修改这两个参数并查看效果。方位角的取值范围为 0 到 360 度,高度角的取值范围为 0 到 90 度。

gmt begin 3DMap
    gmt basemap -R10/70/-4/8/-10/10 -JX8c/5c -JZ5c -Bxa10+lX -Bya4+lY -Bzaf+lDepth -BSEwnZ+b+t"3D Plot" -p130/30
gmt end show
http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/312-ilf4m3pg1nq.png

三维线性坐标轴

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

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

发布评论

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