幻灯片预览
三维数据可视化教程幻灯片预览
教程内容
先上一个效果展示图,符合你的预期再往下看
图1 Nature Comms.(10.1038/s41467-020-15062-w)论文中的图1用GMT绘制的效果
GMT绘图复杂组合图,建议采用先拆分后组合的策略!
这是两个二维图,完全没有难度,直接上图。
Figure 1 (a)
Figure 1 (b)
海底地形三维立体图+三维散点,这个必须使用我修复bug之后的gmt才能画出这种效果,所需要的所有程序都在docker镜像里面。只需简单的三个命令就可以使用,完全无压力!
海底地形三维立体图+三维散点+切片数据+切片投点和曲线,这个必须使用我修复bug之后的gmt才能画出这种效果,所需要的所有程序都在docker镜像里面。只需简单的三个命令就可以使用,完全无压力!
图1的最主要的四个子图,每一个都能够单独绘制,然后将其进行组合布局。因为gmt不是一个所见即所得的绘图软件,所以为了更方便的设置每个子图的位置,可以通过一个A4纸大小的网格作为辅助底图进行布局调整。
如果想看全部的视频和绘图代码,请点击文末的【了解更多】按钮。
总共两百行代码就可搞定上面的三维+二维组合图
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 3H 10p Helvetica Legend of figure (c)N 2G ${gap_rows}cS ${left_symbol}c a 0.3c $color_active 0.2p,$color_active ${symbol_text}c Active hydrothermal fieldS 1c c ${size_symbol}c $color_basalt 0gmt endrm tmp* gmt.history box.eq
联系客服