게시판 답변이 생성됐습니다
-
글쓴이글
-
ChoiYoun회원
plot 함수의 TICKUNITS 키워드를 활용하시면 해결될 듯합니다. 즉, 아래와 같이 사용하시면 됩니다.
p = PLOT(xx, yy, /YLOG, YTICKUNITS = ‘Scientific’)
이 경우 축이 1.0 X 10^n 로 나타납니다.
축을 10^n 으로 표현하고 싶으시다면 아래 코드를 사용해보세요. 다만 이 경우 logticks_exp.pro 파일이 컴파일 되어야 합니다. 구글로 검색해서 찾으셔도 되고 아래 코드를 복사하셔도 됩니다.
p = PLOT(xx, yy, /YLOG, YTICKFORMAT = ‘logticks_exp’)
12345678910111213141516171819202122232425262728293031323334353637383940414243;+;; (C) Cooperative Institute for Meteorological Satellite Studies, 2000;; NAME:; logticks_exp;; PURPOSE:; Function to print logarithmic axis tickmarks with exponential; output.;; CATEGORY:; Graphics;; LANGUAGE:; IDL v5;; CALLING SEQUENCE:; PLOT, x, y, /YLOG, YICKFORMAT = 'logticks_exp';; INPUTS:; axis: the axis number. 0 for X axis, 1 for Y axis, 2 for Z axis.; index: the tick mark index which starts at 0.; value: the default tick mark value (a floating-point number);;; OUTPUTS:; Function returns a string containing the tick mark labels.;; CREATION HISTORY:; Written by: Paul van Delst, CIMSS/SSEC, 08-Nov-2000; paul.v...@ssec.wisc.edu;;-FUNCTION logticks_exp, axis, index, value; Determine the base-10 exponentexponent = LONG( ALOG10( value ) ); Construct the tickmark string based on the exponenttickmark = '10!E' + STRTRIM( STRING( exponent ), 2 ) + '!N'; Return the formatted tickmark stringRETURN, tickmarkENDChoiYoun회원감사합니다. 기본 라이브러리와 사용자 라이브러리를 나눠서 관리하도록 하겠습니다.
ChoiYoun회원감사합니다. 많은 공부가 되었습니다.
ChoiYoun회원예시를 수정합니다.
<main.pro>——————————–
PRO mainprocedure1
END
——————————————<procedure1.pro>————————–
FORWARD_FUNCTION MYFUNCTPRO procedure1
…
result = MYFUNCT(…)
…END
FUNCTION MYFUNCT
…
END
——————————————ChoiYoun회원역시! 그런 함수가 있을 줄 알았습니다! 감사합니다. 후자의 방법(match)이 제가 찾던 방법입니다!
ChoiYoun회원찾다보니 PRODUCT라는 함수가 있군요, 실례했습니다..
ChoiYoun회원hie_read 안에 조건문을 넣어 조건이 만족되지 않으면 반환하는 값없이 hie_read를 종료하고 반복문이 돌아가도록 하고 싶습니다.
ChoiYoun회원말씀하신 것처럼 c_labels=make_array(n_elements(levels), /integer, value=1)란 변수를 생성해서 라벨을 표기하도록 했더니 라벨의 위치가 굵은 선과 달라 깔끔하지 않습니다. 이 경우엔 c_spacing으로 강제로 간격을 부여해주는 방법이 있을 것 같은데, 혹시 /overplot 키워드 외에 특정선을 강조할 수 있는 방법은 없을까요.
ChoiYoun회원그림 사이즈가 너무 작았군요. 굵은 선을 그리는 과정에서는 라벨을 표기하지만 여러선을 그릴 때는 levels에 0이 들어가있는데도 0의 라벨을 표기하지 않습니다.
-
글쓴이글