- This topic has 3개 답변, 3명 참여, and was last updated 10 years, 10 months 전에 by Jonghyuk.
-
글쓴이글
-
-
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)=255out2: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=0x=[-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.41map_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=botclrsaveimage, +fig_dir+’/CT12_CO2_Global_Dist_’+year(n)+month(n)+dd+’.png’, /png
—————————————————————————————여기서 가끔씩 발생하는 문제점은 격자의 값이 max_co2값을 넘는 경우에는 그림을 안그리는 경우가 발생합니다.
bytscl 또는 colorbar, 둘중에 하나가 문제라고 추측되지만 아직 초보라 정확히 모르겠습니다.
혹시 이유를 아시나요?원래 그림을 안그린다고 하면..
아에 min_co2나 max_co2를 넘는 경우에는 colorbar에서 가장 바깥쪽 색깔(가장 극값)로 그리는 방법은 없을까요? (이 방법이 그림을 계속 그리기 위해선 좋은 방법이라는 생각이 들긴합니다.) -
Sangwoo회원
맨 첫 줄에서 max=max_co2라고 되어 있는데, 더 큰 값들도 가시화하려면 max_co2의 값 자체를 상향 조정해야 할 것 같군요.
-
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를 직접 변경하는 수밖에 없을 듯하다는 생각을 해봅니다… -
Jonghyuk회원
ㅎㅎ, 이상우 박사님 장기인데,
color_value=color_value>1<254
와 같이 하시면 where 안쓰셔도 됩니다.
blog.daum.net/swrush
에 방문하셔서 asin에 관한 글을 보시면 도움이 될 것 같습니다.
-
-
글쓴이글