返回介绍

GMT 入门

GMT 实例

GMT 进阶

附录

其他

绘制矢量场

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

贡献者

SeisPider

使用 grdvector 模块绘制矢量场,需要提供矢量场的 X 分量和 Y 分量。

本文所使用的示例数据,包含四列信息:

X位置   Y位置    矢量X分量   矢量Y分量

示例中使用 xyz2grd 模块分别生成矢量X分量和Y分量的网格文件,再使用 grdvector 模块进行绘制,最后生成图例。

示例数据下载 velocity.dat

#!/usr/bin/env sh
#
# 绘制矢量场
#
gmt begin vector-fields
gmt basemap -R0/400/0/400 -JX-10c/-10c -Bxaf+l"X [km]" -Byaf+l"Depth [km]" -BEnSw+t"Mantle Velocity"

# 将速度矢量的 X 分量和 Y 分量分别转换成网格文件
gmt xyz2grd velocity.dat -R0/400/0/400 -I10/10 -i0,1,2 -GU.nc
gmt xyz2grd velocity.dat -R0/400/0/400 -I10/10 -i0,1,3 -GV.nc

# 绘制矢量
# -Q 设置矢量属性
# -G 设置矢量内部颜色填充
# -W 设置绘制矢量外边画笔的属性
# -S 设置矢量值和图上距离的换算关系: 20c表示长度为20的矢量在图上的长度为1 cm
gmt grdvector U.nc V.nc -I10/10 -Q0.2c+e+n0.5c+h0.5 -Gblack -W1p -S20c

# 绘制图例
# 长度为 5 cm/year 的矢量对应的长度为 0.25 cm
gmt legend -F+gwhite+p0.5p,black -DjBR+w2.2c+o0.1c/0.1c << EOF
S 0.2c v0.2c+e+n0.5c+h0.5 0.25c black 1p 0.5c 5 cm/year
EOF

rm U.nc V.nc
gmt end show
http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/136-lmxszv20mni.png

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

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

发布评论

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