IDL直接图形法绘制图例的两种方法
发布时间: 2014-01-14
所属分类: IDL修炼秘籍
在使用直接法绘制矢量图的时候,需要绘制相关图例。关于直接图形法绘制矢量图,我写了两篇文章,你可以看这里:IDL遥感应用入门(9):改进利用QuikScat数据绘制风速矢量图这是对教程5的更新升级,利用本文的方法可以绘制出图例,这是改进之后的方法,这里将两种方法列举出来,供大家学习对比只用。
方法一
这种方法的思想是,绘制完矢量图之后,重新绘制图例。示例代码如下:u=ws*sin(dir) v=ws*cos(dir) x=findgen(1440)*0.25 y=findgen(720)*0.25-90 x=congrid(x,180) y=congrid(y,90) ;图例数组 uscale=fltarr(180,90) uscale(50,70)=10 vscale=fltarr(180,90) window,data,xsize=1440,ysize=720 name=strarr(7) name[data]=string(20060700+data+1) map_set,0,180,0,title=name(data),/continents,/grid,/label velovect,u,v,x,y,missing=250*0.2,/overplot velovect,uscale,vscale,x,y,color='FF0000'xl,/overplot从示例代码中可以看出,这里绘制了两次velovect。
方法二
方法一中给了我们一个新的思考,方法一采用的绘制两次vector的方法实现了图例的绘制,那能不能把两次合并成一次呢?当然可以,可以发现方法一是把(50,70)这个点作为图例,同理,我们可以把原来的uv数组对应的(50,70)直接赋值即可。示例代码如下:;构建vector函数所需参数 u=ws*sin(dir) v=ws*cos(dir) x=findgen(1440)*0.25 y=findgen(720)*0.25-90 x=congrid(x,180) y=congrid(y,90);构建图例
u(50,70)=30
v(50,70)=0;出图显示
window,data,xsize=1440,ysize=720
name=strarr(7)
name[data]=string(20060700+data+1)
map_set,0,180,0,title=name(data),/continents,/grid,/label
velovect,u,v,x,y,missing=250*0.2,/overplot
其实方法一和方法二都是IDL遥感应用入门(9):改进利用QuikScat数据绘制风速矢量图一文中的代码,下面是全部代码,代码同样来自@杨铭伦大神。
pro yangminglun5 filename=file_search('D:\3','*.gz') device,decomposed=1 !p.color=0 !p.background='FFFFFF'xl for data=0,0 do begin a=bytarr(1440,720,3) openr,lun,filename[data],/compress,/get_lun readu,lun,a free_lun,lun ws=congrid(a(*,*,0),180,90)*0.2 ;print,ws dir=congrid(a(*,*,1),180,90)*1.5/180*!pi u=ws*sin(dir) v=ws*cos(dir) x=findgen(1440)*0.25 y=findgen(720)*0.25-90 x=congrid(x,180) y=congrid(y,90) ;图例数组 uscale=fltarr(180,90) uscale(50,70)=30 vscale=fltarr(180,90) window,data,xsize=1440,ysize=720 name=strarr(7) name[data]=string(20060700+data+1) map_set,0,180,0,title=name(data),/continents,/grid,/label velovect,u,v,x,y,missing=250*0.2,/overplot velovect,uscale,vscale,x,y,color='FF0000'xl,/overplot xyouts,103,49,'10m/s',color='FF0000'xl endfor end感兴趣的可以用这个代码替换教程9的代码,可以对这两种方法做一个对比。
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。
手机阅读
公众号关注
知识星球
手机阅读
最新GIS干货
私享圈子