!p.multi를 이용하여 지도 그리기

게시판 IDL Q&A !p.multi를 이용하여 지도 그리기

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

      imagemap 함수를 사용하여 위성데이터인 ir1, wv 등을 한개의 window창에 그리려 하는데
      !p.multi를 사용하였고 map_sat에 /advance옵션을 사용하였는데도 한 곳에 겹쳐져서 그려집니다.
      문제가 무엇인지 알고 싶습니다.
      또는 !p.multi 말고 다른 방법이 있는지 알고 싶습니다.

      아래는 제가 그리려는 부분의 coding입니다.

      ;; IR1-WV Image
      ;;———————————————————————————————————————————;;

      window, 0, title = ‘Satellite_Image’, xsize = 1200, ysize = 600;, /pixmap

      !p.multi = [0, 3, 1, 0, 0]

      map_set, 0, 128.2, /satellite, sat_p = 6.6, limit = [30, 121, 45, 135], position = [0.04, 0.03, 0.86, 0.94], _extra = e, /isotropic, title = ‘IR1-WV_’+strtrim(string(date, format = ‘(i6.6)’), 2)+strtrim(string(day, format = ‘(i2.2)’), 2)+strtrim(string(h, format = ‘(i2.2)’), 2)+strtrim(string(interval_min[m], format = ‘(i2.2)’), 2)+’KST’, charsize = 2, color = 1, /advance, /noerase

      imagemap, dt_ir1_wv, mlat, mlon, range = tbb_range

      colorbar2, bottom = 1, ncolors = 253, division = 12, color = 1, minor = 1, position = [0.91, 0.12, 0.93, 0.86], format = ‘(i4)’, /vert, /right, title = ‘TBB(C)’, charsize = 1.8, font = 1, range = tbb_range

      map_grid, color = 1, label = 1, /box_axes, charsize = 1.6

      map_continents, color = 1, /hires, /coasts, /countries

      ;; WV image
      ;;———————————————————————————————————————————;;

      map_set, 0, 128.2, /satellite, sat_p = 6.6, limit = [29, 120, 46, 136], position = [0.04, 0.03, 0.86, 0.94], _extra = e, /isotropic, title = ‘WV_’+strtrim(string(date, format = ‘(i6.6)’), 2)+strtrim(string(day, format = ‘(i2.2)’), 2)+strtrim(string(h, format = ‘(i2.2)’), 2)+strtrim(string(interval_min[m], format = ‘(i2.2)’), 2)+’KST’, charsize = 2, color = 1, /advance, /noerase

      imagemap, con_wv, mlat, mlon, range = tbb_range1

      colorbar2, bottom = 1, ncolors = 253, division = 12, color = 1, minor = 1, position = [0.91, 0.12, 0.93, 0.86], format = ‘(i4)’, /vert, /right, title = ‘TBB(C)’, charsize = 1.8, font = 1, range = tbb_range1

      map_grid, color = 1, label = 1, /box_axes, charsize = 1.6

      map_continents, color = 1, /hires, /coasts, /countries

      ;; IR1 image
      ;;———————————————————————————————————————————;;

      map_set, 0, 128.2, /satellite, sat_p = 6.6, limit = [29, 120, 46, 136], position = [0.04, 0.03, 0.86, 0.94], _extra = e, /isotropic, title = ‘IR1_’+strtrim(string(date, format = ‘(i6.6)’), 2)+strtrim(string(day, format = ‘(i2.2)’), 2)+strtrim(string(h, format = ‘(i2.2)’), 2)+strtrim(string(interval_min[m], format = ‘(i2.2)’), 2)+’KST’, charsize = 2, color = 1, /advance, /noerase

      imagemap, con_ir1, mlat, mlon, range = tbb_range1

      colorbar2, bottom = 1, ncolors = 253, division = 12, color = 1, minor = 1, position = [0.91, 0.12, 0.93, 0.86], format = ‘(i4)’, /vert, /right, title = ‘TBB(C)’, charsize = 1.8, font = 1, range = tbb_range1

      map_grid, color = 1, label = 1, /box_axes, charsize = 1.6

      map_continents, color = 1, /hires, /coasts, /countries

    • #2034 Reply
      Jonghyuk
      회원

      POSITION 키워드는 다른 모든 설정을 이깁니다. 무슨 일이 있어도 POSITION이 지정한 자리에 그림을 그립니다.
      올려주신 코드에서는 세번의 MAP_SET이 모두 같은 POSITION을 지정하고 있습니다. 당연히 세 그림이 한곳에 그려지며, 이는 MAP_SET이 아닌 PLOT 등을 실행해도 문제가 됩니다. !p.multi 설정을 따르도록 하려면 POSITION 키워드를 지우세요.
      만일 !p.multi 설정대로 한 것이 마음에 들지 않는다면, 세 그림의 POSITION을 모두 다르게 해서(직접 지정해서) 그리는 방법도 있습니다.

      • #2036 Reply
        lsjoo89
        회원

        그렇군요^^ 정말 감사드립니다.

    • #2035 Reply
      Jonghyuk
      회원

      POSITION 키워드는 다른 모든 설정을 이깁니다. 무슨 일이 있어도 POSITION이 지정한 자리에 그림을 그립니다.
      올려주신 코드에서는 세번의 MAP_SET이 모두 같은 POSITION을 지정하고 있습니다. 당연히 세 그림이 한곳에 그려지며, 이는 MAP_SET이 아닌 PLOT 등을 실행해도 문제가 됩니다. !p.multi 설정을 따르도록 하려면 POSITION 키워드를 지우세요.
      만일 !p.multi 설정대로 한 것이 마음에 들지 않는다면, 세 그림의 POSITION을 모두 다르게 해서(직접 지정해서) 그리는 방법도 있습니다.

2 답변 글타래를 보이고 있습니다
'!p.multi를 이용하여 지도 그리기'에 답변달기
글쓴이 정보: