CONTOUR 내삽 관련 문의

게시판 IDL Q&A CONTOUR 내삽 관련 문의

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #5167 Reply
      ChoiYoun
      회원

      안녕하세요.

      CONTOUR 함수의 내삽과 관련된 문제 때문에 글 남겨봅니다.

      어찌 설명해야될지 몰라서 일단 예제를 작성해보았습니다.

      위와 같은 코드를 실행했을 때, 색상이 10가지가 나옵니다.
      그러나 제가 원하는 그림은 3가지 색상(0~1, 8~9, 10~11)만 나오길 원합니다.

      PLOYGON이란 함수를 이용하여 하나씩 좌표를 지정하여 그리려고 하였으나,
      예제와 달리 자료의 크기가 커서 그림을 그리는 데에 너무 오랜 시간이 걸립니다.

      다른 방법이 있을까요.

    • #5168 Reply
      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 옵션 사용)

    • #5169 Reply
      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종의 색상이 모두 표출됨을 확인할 수 있습니다.

2 답변 글타래를 보이고 있습니다
'CONTOUR 내삽 관련 문의'에 답변달기
글쓴이 정보: