vfory 发表于 2013-4-11 21:38:33

使用GMT绘制图中图

GMT图中图
目标:
1以中国的新疆为主题,在左上角添加中国地图,设新疆边界红色。以表示出研究区域在(新疆)在我国的位置。如果论文为发到国外,外国人对中国的地理并不了解,(台湾的研究生不知道济南是哪里的省会,隐约知道山东是鸡的胸,内地的地理位置就更不知道了,西方人更是如此)。
2新疆地区的地面轨迹依据其属性值表示为颜色,变轨之前后用线的粗度来区别。
 
工具:GMT,GMT中并没有直接的设置图中图的程序,可以使用其坐标系的移动和图片投影大小来实现。即-X –Y命令控制移动,加上-J控制投影大小,二者配合即可完成图中图。
最终的效果:
数据准备:新疆的省界坐标文件,新疆地区卫星地面轨迹和属性数据

方法:
前面已经知道怎么使用psclip程序来屏蔽边界外的图形。本例子将绘制地面轨迹分布,以及对应的地面轨迹属性值(本例数据为sigma0)。地面轨迹使用psxy绘制即可,颜色还需要一个调色板,psxy可以使用调色板给点或线添加颜色。左上的小图其实没什么,只是设置了移动和大小而已。


代码如下:
makecpt -Crainbow -T0/30/5 -Z > s.cpt
gmtset HEADER_FONT_SIZE         = 20p ANNOT_FONT_SIZE_PRIMARY   = 15p HEADER_OFFSET      = 0.5c
rem多边形设置
psclip XJprov.xyz -R68/97/33/51 -JM5i -K > XJgtrack.ps
pscoast -Bf1a5g5/f1a5g5:."Ground track of T/P over XinJiang":NeWS -R -JM -W1/0.8 -A100l -Di -V -I1/0.8p/blue -I2/0.5p/blue -I3/0.3p/blue -O -K -P>> XJgtrack.ps
psxy XJ1.txt -JM -R-Sc0.2 -O -K -V -: -H1 -Cs.cpt >> XJgtrack.ps
psxy XJ2.txt -JM -R-Sc0.1 -O -K -V -: -H1 -Cs.cpt >> XJgtrack.ps
psclip -C -O -K -P >> XJgtrack.ps
psxy XJprov.xyz -JM -R -W1.0p/red -m/nan -B -O -K -P >> XJgtrack.ps
psbasemap -R -JM -O -P -K >>XJgtrack.ps
psscale -D5.20i/2.0i/4i/0.2i -Cs.cpt -L -B/:db: -O -K -X0.2i -E >> XJgtrack.ps
rem绘制小中国图
set R=-R73/135/17/54
psbasemap %R% -BNEWSg20f20/g20f20 -Gwhite -Y2.7i -JM1.8i -O -P -K >>XJgtrack.ps
pscoast %R% -N1 -A1000 -I1 -W1 -J -O -K -P >> XJgtrack.ps
psxy XJprov.xyz %R% -JM -W1.0p/red -m/nan -B -O -K -P >> XJgtrack.ps
del *.cpt
小图的位置和边框样式如果不合适,则依照自己的需求修改。
页: [1]
查看完整版本: 使用GMT绘制图中图