- This topic has 2개 답변, 3명 참여, and was last updated 6 years, 4 months 전에 by Sangwoo.
-
글쓴이글
-
-
ChoiYoun회원
안녕하세요.
CONTOUR 함수의 내삽과 관련된 문제 때문에 글 남겨봅니다.
어찌 설명해야될지 몰라서 일단 예제를 작성해보았습니다.
1234567891011121314aa = INTARR(5,5)aa[1, 1:3] = 8aa[2, 1:3] = 8aa[3, 1:3] = 8aa[2, 2] = 10print, aa; 0 0 0 0 0; 0 8 8 8 0; 0 8 10 8 0; 0 8 8 8 0; 0 0 0 0 0c = CONTOUR(aa, C_VALUE = INDGEN(10))위와 같은 코드를 실행했을 때, 색상이 10가지가 나옵니다.
그러나 제가 원하는 그림은 3가지 색상(0~1, 8~9, 10~11)만 나오길 원합니다.PLOYGON이란 함수를 이용하여 하나씩 좌표를 지정하여 그리려고 하였으나,
예제와 달리 자료의 크기가 커서 그림을 그리는 데에 너무 오랜 시간이 걸립니다.다른 방법이 있을까요.
-
mwkim회원
안녕하세요,
먼저 질문 드릴 부분이 있는데 원하시는 것이 특정 구간만 색이 나오고
다른 값에는 표기가 안되길 원하시는 것인가요?
(예제를 예로 하면 1-8사이는 나오지 않는 것)CONTOUR 함수의 경우 내삽하여 표출하기 때문에 연속 구간이 발생할 수 밖에 없을 것 같습니다.
만약 특정 구간만 표출하시는 거면 해당 구간별로 별도로 CONTOUR 함수로 표출하고 중첩해야 할 것 같습니다.
아무튼 이것과 별개로 CONTOUR 함수의 등치선의 값은 예제에 있는 C_VALUE를 정의하시면 됩니다.
data = HANNING(100,100)
c1 = CONTOUR(data,C_VALUE=INDGEN(10),/FILL)
c2 = CONTOUR(data,C_VALUE=[0,1,8,9],/FILL)위 예를 해보시면 C_VALUE에 따라 표출이 다른것을 확인하실 수 있습니다.
(FILL 옵션을 안 켜도 마찬가지이나 잘 보이지 않아서 FILL 옵션 사용) -
Sangwoo회원
의도하신 바를 제가 정확히 파악한 것인지는 모르겠으나, 제가 보기에는 0, 1, 8, 9, 10, 11 등 총 6종의 값에 대응되는 등위선을 긋고 각 선마다 색상을 부여해야 하는 상황인 것 같습니다. 그렇다면 C_VALUE 키워드에 이 6개의 값들만 명시하고, 각 값에 대한 컬러를 C_COLOR 키워드로 설정하면 되지 않을까 합니다.
c = CONTOUR(aa, C_VALUE=[0, 1, 8, 9, 10, 11], $
C_COLOR=[‘green’, ‘green’, ‘blue’, blue’, ‘red’, ‘red’])다만 코드에 명시된 aa의 경우 최대값 10이 한 포인트에만 존재하는 상황이기 때문에 위와 같이 표출하면 실제로는 10, 11에 대한 등위선은 그려지지 않습니다. 최대값을 12정도로 바꿔서 테스트해보면 3종의 색상이 모두 표출됨을 확인할 수 있습니다.
-
-
글쓴이글