컬러바 색상 오류 (색 겹침)

54 views
Skip to first unread message

[KS서울날씨청] KS Meteorology

unread,
Apr 16, 2021, 3:35:33 AM4/16/21
to 대한민국 IDL/ENVI/SARScape 사용자 포럼
대한민국 IDL/ENVI/SARScape 사용자 포럼 - Google 그룹스
안녕하세요,
지금 CTABLE_DISCRETE 이라는 함수를 통해서 컬러바를 불연속 & 서로 다른 간격으로 그림을 그리고 있습니다.

그러면 간격은 아주 완벽하게 잘 되었는데 맨 앞 부분이랑 중간에서 좀 뒷 부분에서 색이 서로 겹치는 문제가 발생하고 있습니다.

colors= [[205,255,180],[154,225,129], [217,235,255], [199,217,255], [179,199,255], [153,179,250], [240,224,224], [224,208,208],[208,176,176],[192,144,144],[176,112,112],[139,63,63],[112,0,0],[45,0,0]];

values= [2,5,10,15,20,25,30,40,50,60,70,80,90,100,150]
ct=  CTABLE_DISCRETE(colors, values)

a = CONTOUR(prep[*,*], longitude[*,*], latitude[*,*], C_THICK= 2, $;;
  /overplot, font_size= 14.1, font_style= 1,  C_LABEL_SHOW=1, c_use_label_ORIENTATION= 1, $;
 /fill, rgb_table=ct,GRID_UNITS='degrees', c_value= values)

위 처럼 그림을 그릴 경우,
f.PNG
위 처럼 2~10이 서로 같은 색이고, 70~90도 서로 같은 색이 나오고 있으며 100~150도 색이 한칸 밀린듯이 덜 진하게 나오고 있습니다.

우선 위 데이터의 최대값은 86이고 최소값은 6입니다.
ct=  CTABLE_DISCRETE(colors, values) 여기서 문제는 없어 보이는데 왜 계속 색이 겹쳐서 나오는지 궁금합니다...

이상우

unread,
Apr 20, 2021, 1:30:38 AM4/20/21
to 대한민국 IDL/ENVI/SARScape 사용자 포럼
답을 드리기에 앞서 배경설명이 좀 필요할 것 같아서 먼저 말씀을 드리자면, CTABLE_DISCRETE는 원래 IDL에 탑재된 기능이 아니고 제가 따로 만든 프로그램입니다. 불연속적인 색상들로 구성된 컬러테이블을 만드는 것이 필요할 경우가 있어서 제 필요에 의해서 만들었다가, 유저들과 함께 공유해도 좋을 것 같아서 제 IDL 블로그를 통해서도 배포중입니다. 그런데 이 기능은 이미지(Image)의 표출 작업에서 사용되는 컬러테이블을 구성하는 0~255의 값들을 몇 개의 색상별 구간들로 나눠야 할 경우에 적합하도록 설계되어 있습니다. 즉 256개의 값들이 모두 사용되지만, 예를 들면 0~99는 파란색, 100~199는 초록색과 같이 구간만 나눠야 할 경우에 해당됩니다. 하지만 등위선(Contour)의 표출 작업에서는 CTALBLE_DISCRETE의 사용이 필요가 없습니다. 왜냐하면 등위선 표출에서는 어차피 이미 값들의 갯수가 제한적이고 사용되는 컬러의 갯수도 제한적이기 때문입니다(예를 들면 10개).

하여간 그래서 의도하신대로 표출을 하기 위해서는 여기서는 CTABLE_DISCRETE를 사용할 필요도 없고 CONTOUR 함수를 사용할 때 RGB_TABLE 속성을 사용할 필요도 없습니다. 그냥 대략 다음과 같이 처리해보시기 바랍니다.

a = CONTOUR(prep[*,*], longitude[*,*], latitude[*,*], $
  /overplot, font_size= 14.1, font_style= 1,  $;
 /fill,GRID_UNITS='degrees', C_COLOR=colors, c_value= values)

이와 같이 RGB_TABLE 속성을 제거하고 그 대신 C_COLOR 속성을 활용하면 됩니다.

2021년 4월 16일 금요일 오후 4시 35분 33초 UTC+9에 jungji...@gmail.com님이 작성:

[KS서울날씨청] KS Meteorology

unread,
Apr 21, 2021, 11:44:38 PM4/21/21
to 대한민국 IDL/ENVI/SARScape 사용자 포럼
존경하는 박사님께,

정말 감사합니다.
c_color로 해결될 문제를 작년부터 왜이리 오랜시간 해맸는지...
등간격은 어찌해서 컬러바 문제는 해결이 되었다가 저 부분에서 계속 막혀서 정말 너무 고생을 했었습니다 ㅠ

그러나 박사님의 조언으로 한방에 해결이 되고 또한 c_color라는 속성을 알게되었으니 앞으로도 IDL로 색깔 넣을 맛이 났습니다 ㅎ
항상 정말 감사드립니다!

2021년 4월 20일 화요일 오후 2시 30분 38초 UTC+9에 lee....@gmail.com님이 작성:

이상우

unread,
Apr 26, 2021, 6:59:21 AM4/26/21
to 대한민국 IDL/ENVI/SARScape 사용자 포럼
예 뭐 코딩이란 작업을 하다보면 그렇게 별거 아닌 것처럼 보이는 이슈로 인하여 시간을 많이 잡아먹는 일이 심심치않게 발생합니다. 물론 그런 고민의 시간이 아주 무의미한 것만은 아니라고 저도 생각을 하지만, 프로그래머도 사람이기 때문에 그런 고민이 지속되는 기간 동안에는 여러모로 힘들고 짜증도 나고 시간도 아깝고 그런 것도 사실입니다. 하여간 잘 해결되어서 다행입니다.

2021년 4월 22일 목요일 오후 12시 44분 38초 UTC+9에 jungji...@gmail.com님이 작성:
Reply all
Reply to author
Forward
0 new messages