정보
-
업무명 : 파이썬 라디오미터 밝기온도 자료를 이용한 시계열 그래프
-
작성자 : 박진만
-
작성일 : 2019-09-07
-
설 명 : 라디오미터 밝기온도 자료를 이용하여 시계열을 그리는 코드
-
수정이력 :
내용
[특징]
-
라디오미터의 14개 채널에 대한 밝기온도 자료를 입력 자료로 받아 월별로 시계열을 그린다.
[기능]
-
다중 line에 대한 시계열 plot
[활용 자료]
-
matplotlib, numpy 등 파이썬 라이브러리
[자료 처리 방안 및 활용 분석 기법]
-
없음
[사용법]
-
INPUT 자료를 이용한 후 아래의 소스코드 실행
[사용 OS]
-
Windows 10
[사용 언어]
-
Python 3.7
소스 코드
[코드 블럭]
os.chdir("D:/ARTS/RADIOMETERDATA/RADIOMETER/monthly_10mean/")
list = ["201704","201705","201706","201707","201708","201709","201710","201711","201712","201801",
"201802","201803","201804","201805","201806","201807","201808"]
for i in list:
data = pd.read_csv(
"BRT_" + i + ".csv"
#, skiprows=[0]
, sep=","
, header=0
)
#print(data)
data.columns = ["julian","DateTime", "X22_24", "X23_24","X23_84","X25_44","X26_24","X27_84",
"X31_40","X51_26","X52_28","X53_86","X54_94","X56_66","X57_30","X58_00"]
data["sDateTime"] = pd.to_datetime(data["DateTime"], format='%Y-%m-%d %H:%M:%S')
dataL1 = (
data >>
mutate(
year = X.sDateTime.dt.strftime("%Y")
, month = X.sDateTime.dt.strftime("%m")
, day = X.sDateTime.dt.strftime("%d")
, hour = X.sDateTime.dt.strftime("%H")
, minute = X.sDateTime.dt.strftime("%M")
, second = X.sDateTime.dt.strftime("%S")
, date = X.sDateTime.dt.strftime("%Y-%m-%d")
) )
#print(dataL1.describe())
# define plot size in inches (width, height) & resolution(DPI)
plt.figure(figsize=(12, 10))
#fig, ax = plt.subplots(figsize=(12, 10))
# style
plt.style.use('seaborn-whitegrid')
# define font size
plt.rc("font", size=22)
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams["font.weight"] = "bold"
plt.rcParams['axes.labelsize'] = 22
plt.rcParams['xtick.labelsize'] = 22
plt.rcParams['ytick.labelsize'] = 22
plt.rcParams["axes.labelweight"] = "bold"
plt.rcParams["axes.titleweight"] = "bold"
x = dataL1.julian.values
y1 = dataL1.X22_24.values
y2 = dataL1.X23_24.values
y3 = dataL1.X23_84.values
y4 = dataL1.X25_44.values
y5 = dataL1.X26_24.values
y6 = dataL1.X27_84.values
y7 = dataL1.X31_40.values
y8 = dataL1.X51_26.values
y9 = dataL1.X52_28.values
y10 = dataL1.X53_86.values
y11 = dataL1.X54_94.values
y12 = dataL1.X56_66.values
y13 = dataL1.X57_30.values
y14 = dataL1.X58_00.values
xVal = np.unique(dataL1["julian"].to_numpy())
print(xVal.shape)
#print(yVal.shape)
#print(zVal.shape)
tick = np.unique(dataL1["julian"].to_numpy())
tick1 = np.int32(tick)
tick2 = np.unique(tick1)
#BRT TEMP
plt.plot(x, y1, color="black", label = '22.24Ghz')
plt.plot(x, y2, color="rosybrown", label = '23.24Ghz')
plt.plot(x, y3, color="gold", label = '23.84Ghz')
plt.plot(x, y4, color="forestgreen", label = '25.44Ghz')
plt.plot(x, y5, color="cyan", label = '26.24Ghz')
plt.plot(x, y6, color="slategrey", label = '27.84Ghz')
plt.plot(x, y7, color="blue", label = '31.40Ghz')
plt.plot(x, y8, color="red", label = '51.26Ghz')
plt.plot(x, y9, color="pink", label = '52.28Ghz')
plt.plot(x, y10, color="violet", label = '53.86Ghz')
plt.plot(x, y11, color="green", label = '54.94Ghz')
plt.plot(x, y12, color="lightgreen", label = '56.66Ghz')
plt.plot(x, y13, color="dodgerblue", label = '57.30Ghz')
plt.plot(x, y14, color="navy", label = '58.00Ghz')
plt.ylim(0, 350)
#plt.get_position()
#plt.set_position([box.x0, box.y0, box.width * 0.8, box.height])
lgd = plt.legend(fontsize=14,bbox_to_anchor=(1.20,1.0),loc = 'upper right')
plt.xticks(np.arange(min(tick2), max(tick2)+1,1.0), size = 14, rotation = 90)
plt.xlim(min(tick2), max(tick2)+1,1.0)
plt.title("BRT(RADIOSONDE)")
plt.xlabel("Julianday(" + i[0:4] + "." + i[4:6] + ")")
plt.ylabel("BRT (K)")
plt.savefig("D:/ARTS/result/BRT_RESULT/BRT(RADIOMETER)_" + i + ".png",bbox_extra_artists=(lgd,), bbox_inches='tight')
[Github]
결과
-
라디오미터 밝기온도를 이용한 가시화
참고문헌
[논문]
-
없음
[보고서]
-
없음
[URL]
-
없음
블로그에 대한 궁금하신 점을 문의하시면 자세히 답변드리겠습니다.
E. sangho.lee.1990@gmail.com & saimang0804@gmail.com
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] 파이썬 바이너리 형식인 히마와리 8호 (Himawari-8/AHI) 기상 위성 자료를 이용한 가시화 (0) | 2019.10.22 |
---|---|
[Python] 파이썬 라디오 미터 및 라디오 존데 관측 자료를 이용한 고도별 온/습도 등고선 가시화 (0) | 2019.09.07 |
[Python] 파이썬 과학 기술 계산 및 처리에 유용한 패키지 소개 (0) | 2019.09.05 |
[Python] 파이썬 바이너리 (Binary) 형식인 천리안위성 1A호 (COMS/MI) 기상 위성 자료를 이용한 가시화 (0) | 2019.09.03 |
[Python] 파이썬 아스키 (ASCII) 형식인 히마와리 8호 (Himawari-8/AHI) 및 Aqua/CERES 기상 위성 자료를 이용한 가시화 (0) | 2019.09.03 |
최근댓글