그래프 (plot) 에서 특정 구역만 색깔 칠하게 하는거

26 views
Skip to first unread message

[KS서울날씨청] KS Meteorology

unread,
Feb 10, 2021, 2:08:08 AM2/10/21
to 대한민국 IDL/ENVI/SARScape 사용자 포럼
안녕하세요,
지금 제가 하는건 어떤 경도에 대해 남북 상관계수를 그래프를 그리는 것 입니다.
그러면 북위 20도부터 북위 70도까지의 상관관계 (변수)가 그래프 형태로 그려집니다.

그러면 이때 만약에 상관관계가 0.55보다 큰 곳의 경우 파란색으로 색을 칠하려고 하는데, 일단 data의 간격이 1도이다 보니 plot 함수 특성상 점과 점 사이를 연결하는 것이기 때문에 완벽하게 0.55이상 구역만 따로 색칠하는게 안되고 있습니다.

  c = plot(lat ,-corr, /current, xrange= [19.5,70.5], yrange=[-1.1,1.1], $
      xthick=2.5, ythick= 2.5, xtickfont_size= 28, xtickfont_name = 'times', ytickfont_name = 'times',$
      ytickfont_style= 'bold',  ytickfont_size= 28,  margin= 0.12, xtickinterval= 10, ytickinterval= 0.5, xtickfont_style= 1, $
      xsubticklen= 0.5, color= 'black',ysubticklen= 0.75,xtickvalues=[20, 30, 40, 50, 60, 70], xtickname= name,$
      thick= 3.2, xstyle=1, ystyle=1, yticklen= 0.01, xticklen= 0.020, axis_style=1)
      
      lat2=[38.5: 39.5 :1]
      data2= -corr[where(-corr gt 0.552)]
      d= plot(lat2,data2, /overplot, color= 'blue', thick=3 )

코드는 위 처럼 짜여져 있고 lat 2가 색을 칠하고 싶은 곳의 x축 범위, data2는 0.55보다 큰 곳을 칠할 수 있게끔 하는 데이터입니다.

아까 말한거처럼 data가 1도 간격이다 보니 (위 예시는 lat2를 임의로 만든 것)
38.5도부터는 색이 칠해지지만 37.5도부터 38.5도는 점과 점 사이 연결고리가 없어서 색을 칠하지 못해서 비대칭 형태가 되었습니다.



어떻게 해야만 비대칭 형태를 해결하고 완벽하게 0.55 이상인 구역에 파란색을 칠할 수 있을지 궁금합니다 ㅠㅠ

감사합니다b.PNG

이상우

unread,
Feb 16, 2021, 12:56:26 AM2/16/21
to 대한민국 IDL/ENVI/SARScape 사용자 포럼
글쎄요. 일단 아래 링크의 내용을 참조하여 나름대로 방법을 찾아보셔야 할 것 같습니다.


2021년 2월 10일 수요일 오후 4시 8분 8초 UTC+9에 jungji...@gmail.com님이 작성:
Reply all
Reply to author
Forward
0 new messages