color bar에서…

게시판 IDL Q&A color bar에서…

3 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #872 Reply
      hjhan
      회원

      격자화된 전구 co2 자료를 그릴때 아래와 같은 코딩을 하여 그림을 그리고 있습니다.

      ——————————————————————————-
      color_value=bytscl(co2,/NAN,min=min_co2,max=max_co2,top=255-botclr)
      flag=where(color_value eq 0)
      color_value = color_value + botclr
      if flag eq -1 then goto, out2
      color_value(flag)=255

      out2:window, 0 ,xsize=1000, ysize=750, /pix

      map_set, position=[0.05, 0.17, 0.95, 0.85], /isotropic, $
      title=’CT12 CO2 Global Distribution!C(‘+year(n)+month(n)+dd+’)’, $
      charsize=3., color=0

      x=[-dx,dx,dx,-dx] & y=[-dy,-dy,dy,dy]
      usersym,x,y,/fill
      plots,lon,lat,color=color_value,/data,noclip=0,psym=8,symsize=0.41

      map_grid, /box, latdel=30, londel=30,/LABEL, color=0, charsize=1.5

      map_continents,/COASTS,color=0

      colorbar, position=[0.05,0.12,0.95,0.14], range=[min_co2,max_co2], $
      title=’XCO2 [ppm]’, divisions=8, charsize=1.5, color=0, ncolor=255-botclr,$
      bottom=botclr

      saveimage, +fig_dir+’/CT12_CO2_Global_Dist_’+year(n)+month(n)+dd+’.png’, /png
      —————————————————————————————

      여기서 가끔씩 발생하는 문제점은 격자의 값이 max_co2값을 넘는 경우에는 그림을 안그리는 경우가 발생합니다.
      bytscl 또는 colorbar, 둘중에 하나가 문제라고 추측되지만 아직 초보라 정확히 모르겠습니다.
      혹시 이유를 아시나요?

      원래 그림을 안그린다고 하면..
      아에 min_co2나 max_co2를 넘는 경우에는 colorbar에서 가장 바깥쪽 색깔(가장 극값)로 그리는 방법은 없을까요? (이 방법이 그림을 계속 그리기 위해선 좋은 방법이라는 생각이 들긴합니다.)

    • #877 Reply
      Sangwoo
      회원

      맨 첫 줄에서 max=max_co2라고 되어 있는데, 더 큰 값들도 가시화하려면 max_co2의 값 자체를 상향 조정해야 할 것 같군요.

    • #878 Reply
      hjhan
      회원

      대부분의 값이 max_co2 이하에 위치하고 있고
      정말 가끔씩 그 이상의 값이 나타나고 있거든요..
      그래서 max_co2값 자체를 높히면
      기존의 값들이 어느 한 색상에 몰려서 농도의 구분이 쉽지 않게 됩니다.

      그냥
      flag1=where(co2(*,*) lt min_co2)
      flag2=where(co2(*,*) gt max_co2)로 벗어나는 값을 찾은 다음
      color_value(flag1)=1
      color_value(flag2)=254 처럼
      color_value를 직접 변경하는 수밖에 없을 듯하다는 생각을 해봅니다…

    • #879 Reply
      Jonghyuk
      회원

      ㅎㅎ, 이상우 박사님 장기인데,

      color_value=color_value>1<254

      와 같이 하시면 where 안쓰셔도 됩니다.

      blog.daum.net/swrush

      에 방문하셔서 asin에 관한 글을 보시면 도움이 될 것 같습니다.

3 답변 글타래를 보이고 있습니다
'color bar에서…'에 답변달기
글쓴이 정보: