IDL中contour和colorbar的使用技巧.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用IDL绘制等值线和填充对应的颜色 【学习内容】:等值线和画法和颜色的填充 主要程序:IDL8.0 使用IDL程序的图形系统对数据极性成像化分析,研究IDL的画图方法和比较画图效果,得出比较满意的图画。 程序源代码如下: pro test_4 ;file=M+[X,Y,Z,F,I,D,H]+_+2010_0.0+.dat file=MX_2010_0.0.dat for i=0,6 do begin file1=read_ascii(file[i]) name=strmid(file[i],0,7) d1=file1.field001 device,decompose=1 xx=-89+findgen(179)*(180./179) yy=-180+findgen(361) nlevels=21 step=(max(d1)-min(d1))/nlevels vals=findgen(nlevels)*step+min(d1) vals=[min(d1)-1,vals,max(d1)+1] xname=[-180,-135,-90,-45,0,45,90,135,180] yname=[-90,-60,-30,0,30,60,90] p1=contour(d1,yy,xx,RGB_table=25,$ c_value=vals,$ xstyle=1,ystyle=1,$ ;N_levels=N_elements(vals),$ ;设置填充层数 position=[0.10,0.20,0.85,0.75],$;设置图像显示位置,正交坐标系【0,0,1,1】 xrange=[-180,180],yrange=[-90,90],$ ;用来局部放大数据空间,即只显示给定范围的图像 planar=1,$ ;设置显示模式,0为三维,1为平面 view_title=name,$ xtitle=Logitude,$ xminor=0,xtickname=xname,xticklen=0.05,$ yminor=0,ytickname=yname,yticklen=0.05,$ ytitle=Latitude,$;设置标题 /fill) ;填充模式 cbar=COLORBAR(traget=p1,ORIENTATION=1,$ font_size=7.5,POSITION=[0.86,0.20,0.91,0.75],textpos=1) p2=contour(d1,yy,xx,c_value=vals,/follow,$ c_label_show=1,font_size=7.5,planar=1,/overplot) endfor end 使用该程序可以对地球主磁场的7要素进行绘图处理,图像如下: 下面对其中的几条主要的指令进行说明: step=(max(d1)-min(d1))/nlevels vals=findgen(nlevels)*step+min(d1) vals=[min(d1)-1,vals,max(d1)+1] 以上三条命令是设置等值线的线条数目和对应的颜色数目,为了得到合理的等值线和条数和使用颜色填充是,对应的颜色和等值线想吻合,在每两条等值线之间都有对应的颜色填充。自动设置两条等值线的间隔为step=(max(d1)-min(d1))/nlevels,这样的话可以确保等值线的合理性和下一步设置等值线的数值是的对应关系,vals=findgen(nlevels)*step+min(d1),其中vals的数值和原始数据相对应。由于IDL填充颜色是从最小值开始填充,那样的话在最大值和背景颜色之间就会出现一个颜色“空洞”,如: 显然这个很慢满足要就要求,为了将所有等值线之间填充上颜色(最大值和背景色之间),需要改变填充的最值,即vals=findgen(nlevels)*step+min(d1)的需要做出调整,经过不断的尝试,选取vals=[min(d1)-1,vals,max(d1)+1],在原始的基础上多加两层等值线,确保数据范围都在填充颜色范围内。结果如上图(右

您可能关注的文档

文档评论(0)

linyin1994 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档