惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
MyScale Blog
MyScale Blog
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
Google DeepMind News
Google DeepMind News
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
N
Netflix TechBlog - Medium
MongoDB | Blog
MongoDB | Blog
I
InfoQ
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Help Net Security

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
Nature论文中的三维图原来是这么画的 - 少数派
2020-07-29 · via 少数派

高水平科研结果必须要用高水平数据可视化方式展现给编辑、审稿人和读者!利用GMT可以容易的实现三维数据可视化,这里将我多年摸索得来的独家秘方全部奉上!用GMT绘制三维图,学这一个例子就够了。提供全套解决方案,包括修复三维绘图bug之后的独家GMT版本,还有教程中所需要的所有的运行环境和程序,全部打包为Docker镜像。再也不用担心有些命令无法在你电脑上运行了。Nature子刊作者手把手教学,附带三小时4K教学视频和全部代码,将三维绘图和一些常用gmt命令和数据处理一网打尽!

幻灯片预览

教程内容
教程内容

效果展示

先上一个效果展示图,符合你的预期再往下看

图1 Nature Comms.(10.1038/s41467-020-15062-w)论文中的图1用GMT绘制的效果
图1 Nature Comms.(10.1038/s41467-020-15062-w)论文中的图1用GMT绘制的效果

绘图过程简介

GMT绘图复杂组合图,建议采用先拆分后组合的策略!

Figure1(a,b)

这是两个二维图,完全没有难度,直接上图。

Figure 1 (a)
Figure 1 (a)
Figure 1 (b)
Figure 1 (b)

Figure1(c)

海底地形三维立体图+三维散点,这个必须使用我修复bug之后的gmt才能画出这种效果,所需要的所有程序都在docker镜像里面。只需简单的三个命令就可以使用,完全无压力!Figure 1 (c)

Figure1(d)

海底地形三维立体图+三维散点+切片数据+切片投点和曲线,这个必须使用我修复bug之后的gmt才能画出这种效果,所需要的所有程序都在docker镜像里面。只需简单的三个命令就可以使用,完全无压力!Figure 1 (d)

最终组合

图1的最主要的四个子图,每一个都能够单独绘制,然后将其进行组合布局。因为gmt不是一个所见即所得的绘图软件,所以为了更方便的设置每个子图的位置,可以通过一个A4纸大小的网格作为辅助底图进行布局调整。Figure 1

三小时高清精讲视频和全部绘图代码

三维数据可视化之GMT风格

图1的不完整绘图代码示例

总共两百行代码就可搞定上面的三维+二维组合图

function preset()
{
    path_data=../../data/raw
    bathy=${path_data}/bathy/bathy_Longqi_cart.nc
    basalt=${path_data}/sites/site_basalt_cart_zhao_bathy.txt
    # 数据范围
    zmin=-6
    zmax=-1.5
    zrange=$zmin/$zmax
    xmin=-18.35
    xmax=33.35
    ymin=-29.9826
    ymax=11.653 
    range=$xmin/$xmax/$ymin/$ymax 
    range_xyz=${range}/$zrange
    xmin_eq=0
    xmax_eq=20
    ymin_eq=-10
    range_xyz_eq=$xmin_eq/$xmax_eq/$ymin_eq/$ymax_eq/$zmin_eq/$zmax_eq
    # 视角
    angle_h=-40 
    angle_v=45
    angle_view=${angle_h}/$angle_v
    # 图片大小
    width_x_fig=8
}
gmt begin Figure1 pdf 
    # (a)
    move_x=0
    move_y=12
    # gmt basemap -JM$figwidth_inset -R$range_inset -Bwsen  --MAP_FRAME_TYPE=plain
    # gmt basemap 
    gmt coast -Ggray -JL$lon0_inst/$lat0_inst/$lat_min_inset/$l
    gmt grdcontour $bathy_AUV -C0.02 -A+f3p,Helvetica+ggreen -W0.2p -GD500e -p
    # 采样点
    symbol_sample=c
    gmt psxy $path_data/sites/M-active.txt -S$symbol_sample$si
    # legend
    # (d)
    move_x=-1
    move_y=-4
    gmt basemap -JX$width_x_fig_eq/$width_y_fig_eq -JZ$width_z
    gmt grdview $bathy -JZ -p -C$bathy_cpt  -N${zmin_eq}+g$color_profile -Qi -I0+a45 -Wf0.5p,black
    awk '{print $1/1000.0, $2/1000.0}' $earthquake  | gmt grdtrack -G$bathy | gmt psxyz -JZ -p -Sc$size_eq -Ggreen -Wblack
    # 东西方向
    gmt basemap -JX$width_x_fig_eq/$width_z_fig_eq -JZ$width_y_
# boundary between title and legend
# symbol space legend type length (-) thickness,color space LegendName
# N 3
H 10p Helvetica Legend of figure (c)
N 2
G ${gap_rows}c
S        ${left_symbol}c   a      0.3c            $color_active 0.2p,$color_active       ${symbol_text}c  Active hydrothermal field
S        1c   c      ${size_symbol}c            $color_basalt 0
gmt end

rm tmp* gmt.history box.eq