爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3522|回复: 1

[混合编程] IDL编程学习之contour函数填色问题集锦

[复制链接]

新浪微博达人勋

发表于 2017-4-15 23:00:28 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
【/fill与/c_fill的区别?】
IDL> contour(dist(100),/c_fill,c_thick=5)
QQ截图20170415223547.png
IDL> contour(dist(100),/fill)
QQ截图20170415223700.png
一个是在线上填色,一个则是在线之间填色。
案例:
  a=fltarr(100,100)
  for i=0,99 do begin
    for j=0,99 do begin
      a[i,j]=sqrt((i-50)^2+(j-50)^2)
    endfor
  endfor
    contour=contour(a,$
      rgb_table=33,$
      /fill,n_levels=5)

QQ截图20170415224600.png
【如何只画某些线?】
c_value表示只画这些值的等值线。
  a=fltarr(100,100)
  for i=0,99 do begin
    for j=0,99 do begin
      a[i,j]=sqrt((i-50)^2+(j-50)^2)
    endfor
  endfor
    contour=contour(a,$
      rgb_table=33,c_value=[10,20,40],$
      /c_fill)

QQ截图20170415224809.png
【只画某范围的等值线?】
用max_value,min_value。
  a=fltarr(100,100)
  for i=0,99 do begin
    for j=0,99 do begin
      a[i,j]=sqrt((i-50)^2+(j-50)^2)
    endfor
  endfor
    contour=contour(a,$
      rgb_table=33,max_value=35,min_value=25,$
      /c_fill,n_levels=5)

QQ截图20170415230313.png
【自定义特定等值线的颜色?】
用c_color
  a=fltarr(100,100)
  for i=0,99 do begin
    for j=0,99 do begin
      a[i,j]=sqrt((i-50)^2+(j-50)^2)
    endfor
  endfor
    contour=contour(a,$
      rgb_table=33,c_value=[10,20,40],$
      c_color=['r','g','b'],/c_fill)

QQ截图20170415225605.png
如果使用/FILL,则c_color的颜色变成填充色
  a=fltarr(100,100)
  for i=0,99 do begin
    for j=0,99 do begin
      a[i,j]=sqrt((i-50)^2+(j-50)^2)
    endfor
  endfor
    contour=contour(a,$
      rgb_table=33,c_value=[10,20,40],$
      c_color=['r','g','b'],/fill)

QQ截图20170415225711.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-16 15:47:47 | 显示全部楼层
写的好全啊。。谢谢大神了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表