本篇介绍IDL设置地图的方法,和一些常用的关键字、对象。
代码如下
IDL 8.5版本
PRO draw_sst, data, name_string, color_table, scale, offset ;这是我的一个函数
temp = data[*, *, 0]
index_valid = WHERE(temp LE 250, count_valid)
min_value = ROUND( MIN(temp[index_valid])*scale[0]+offset[0] )
max_value = ROUND( MAX(temp[index_valid])*scale[0]+offset[0] )
object = image(temp,rgb_table=color_table, title='GMI v8.2 '+name_string[0]+$
': 2019/08 - monthly average - Global', map_projection='geographic', image_dimensions=[360, 180], $
IMAGE_LOCATION=[0,-90],grid_units=2,/BOX_AXES) ;地图投影采用geographic
bar = colorbar(target=object, range=[min_value, max_value],$
position=[0.045,0.10,0.595,0.13],minor=5,title='Temperature $\deg C$')
object['Latitudes'].label_angle = 90 ;设置地图标注的角度
object['Longitudes'].label_angle = 0
object.mapgrid.label_position = 0 ;设置标签的位置
object.mapgrid.linestyle = 6 ;地图网格线的类型, 可以根据需要设置为实线、虚线、点划线等等
object.mapgrid.grid_latitude = 30 ;每间隔30度显示一个纬度
object.mapgrid.grid_longitude = 60 ;间隔60度显示一个维度
object.mapgrid.box_thick=2 ;这个关键字可以设置地图的边框
bar_land = colorbar(position=[0.62,0.10,0.72,0.13],rgb_table=[130, 130, 130],$
ANTIALIAS=0,TICKLAYOUT=1,tickname=['','','',''])
bar_seaice = colorbar(position=[0.75,0.10,0.85,0.13],rgb_table=[255, 255, 255],$
ANTIALIAS=0,TICKLAYOUT=1,/border,tickname=['','','',''])
bar_nodata = colorbar(position=[0.85,0.10,0.95,0.13],rgb_table=[0, 0, 0],$
ANTIALIAS=0,TICKLAYOUT=1,/border,tickname=['','','',''])
clolobar_title=['land','ice','no data']
t1 = text([0.65, 0.785], [0.101, 0.101],clolobar_title,/normal)
t2 = text([0.855], [ 0.101],clolobar_title[2],/normal,color='white')
END
关于颜色的设置,请查我的上一篇博客
https://editor.csdn.net/md/?articleId=104780858
图片就是设置的地图的效果,如有疑问,请联系我。