본문 바로가기
반응형

파이썬으로 배우는 지구과학28

파이썬과 원 방정식을 이용하여 태양계 행성의 공전궤도 그리기(feat. 파이썬으로 원 그래프 그리기) 이번 포스팅에서는 파이썬을 이용해 태양계 행성의 공전궤도를 그려보는 방법을 소개해 볼까 합니다. 대부분의 서적에서 태양계 행성의 공전궤도는 숫자로만 소개할 뿐, 직접 그림으로 그리는 경우는 잘 없습니다. 모르긴 몰라도 태양계 행성의 공전궤도를 그림으로 표현하려면 중요도에 비해 책 지문의 양을 너무 많이 차지해서 그런게 아닐까 생각합니다. 그러다보니, 실제 스케일을 무시하고 단순히 수, 금, 지, 화, 목, 토, 천, 해 순으로 단순하게 나열하기만 하는 경우가 많습니다. 사실 이것이 문제인데, 단순히 표에서 숫자로만 나열하다보면 수, 금, 지, 화성이야 그렇다 하더라도 목, 토, 천, 해로 갈수록 행성들이 얼마나 멀리 떨어져 있는지 감이 잘 오지 않는 경우가 많습니다. 하지만 실제로 이 아이들을 종이에 그.. 2022. 3. 12.
파이썬을 이용하여 동해바다의 계절별 연직 수온분포 그래프 그리기 지난 포스팅에서 동해바다의 연직방향 수온 분포 그래프를 그렸습니다. 해당 데이터는 4월 16일 데이터로, 봄에 해당하는 데이터인데, 이번에는 봄, 여름, 가을, 겨울 데이터를 모두 사용하여 그래프 4개를 그려 볼 예정입니다. 4개의 그래프를 for문을 이용해 그릴건데, 단순하게 코드를 여러번 반복하며 그래프를 그리면 생각할게 별로 없이 간단하게 할 수 있겠지만, 이러면 코드에 똑같은 내용이 자꾸 반복되어 좋지 않습니다. 우선 데이터를 다운받아야 하는데, 지난번처럼 국립기상과학원 ARGO에서 원하는 데이터를 다운로드 하면 됩니다. 봄, 여름, 가을, 겨울에 해당하는 월의 데이터를 다운받고, 지난번 포스팅을 참고하여 텍스트를 일부 수정하고, csv로 바꾸어 주면 됩니다.(아래 링크 참고) 파이썬을 이용하여 .. 2022. 2. 21.
파이썬을 이용하여 해수의 깊이에 따른 수온 변화 그래프 그리기 ** 함께보면 좋습니다 해수의 연직방향(깊이에 따른) 수온변화 ** 함께 보시면 좋습니다. 파이썬을 이용하여 해수의 깊이에 따른 수온 변화 그래프 그리기 중학교 과학이나 고등학교 지구과학 1 의 해양단원에서 학생들이 수도 없이 많이 보는 그래프가 있습 kalchi09.tistory.com 파이썬을 이용하여 동해바다의 계절별 연직 수온분포 그래프 그리기 지난 포스팅에서 동해바다의 연직방향 수온 분포 그래프를 그렸습니다. 해당 데이터는 4월 16일 데이터로, 봄에 해당하는 데이터인데, 이번에는 봄, 여름, 가을, 겨울 데이터를 모두 사용하여 그 kalchi09.tistory.com 중학교 과학이나 고등학교 지구과학 1 의 해양단원에서 학생들이 수도 없이 많이 보는 그래프가 있습니다. 깊이에 따른 수온변화 그.. 2022. 2. 17.
조석 예보표를 이용하여 날짜별 물때 변화 그래프 그리기 우리나라의 서해바다는 조석 간만의 차가 큰 지역으로 잘 알려져 있습니다. 국립해양조사원의 스마트 조석예보 홈페이지에서는 지역별로 예측한 조석예보를 제공하고 있으며, 누구든지 다운로드 할 수 있습니다. 아래 링크로 들어가면 되는데 스마트 조석예보 조석, 조석예보, 물때, 물때표, 물높이, 낚시, 해양활동, 바다갈라짐 www.khoa.go.kr 위와 같은 그림에서 원하는 지역을 클릭하고, 자료 다운로드를 클릭하면 1시간 예측, 10분 예측, 1분 예측 중 원하는 것으로 엑셀 받기를 하면 됩니다. 저의 경우 1시간 단위를 다운로드 하였고, 그 다음 엑셀 파일을 열면 아래와 같은 파일이 열립니다. 여기서 데이터를 조금 가공해야 하는데, 맨 위에 한글로 써진 두 줄은 필요 없고, 시간 예측 조위라는 글자 또한 영.. 2021. 12. 27.
태풍의 풍향 풍속을 바람 장미(방사형 그래프)에 표현하기 ** 함께 보시면 좋습니다. 파이썬을 이용한 바람장미 그리기 두 번째 지난 포스팅에서 방사형 그래프에다가 태풍이 지나갈 때 풍향 및 풍속 변화를 나타내는 그래프를 그린적이 있습니다. 태풍의 풍향 풍속을 바람 장미(방사형 그래프)에 표현하기 지구과학 I 수능 kalchi09.tistory.com 지구과학 I 수능이나 모의고사에서 태풍 관련 단원에 대한 문제가 출제되면 종종 보이는 그래프 중 하나가 바람장미 그래프입니다. 아래와 같은 그래프인데요, 저 문제를 풀이하는게 이번 포스팅의 목적은 아니니 풀이는 집어 치우고, 저런 바람장미 그래프를 보면, 시간별 풍향이나 풍속 변화를 한 눈에 알아보기 쉽습니다. 이번 포스팅에서는 파이썬으로 저 바람장미를 그리는 방법을 알아볼 예정입니다. 데이터는 기상청에서 다운받을.. 2021. 12. 24.
파이썬의 pie chart로 지질시대 시간표 만들기 지질시대 시간표 만들기는 비상교과서 지구과학1과 금성교과서 통합과학에 실려 있습니다. 학생들은 지질시대 시간표 만들기를 할 때에 정확한 시간 스케쥴을 나타내기 위해 비례식을 새우고 그 결과를 그림으로 직접 그려야 하는데, 간단한(?) 파이썬 코드를 짜면 꾀 정확한 시간표를 만들 수 있습니다. 여기서는 matplotlib라는 라이브러리에서 제공하는 pie chart를 이용해서 지질시대 시간표를 만들어 보겠습니다. pie chart는 아래 그림과 같이 어떤 값이 전체에서 차지하는 비율을 나타내는데 많이들 활용합니다. python에서 초등학생들 1일 생활계획표 같은 것을 짜는 라이브러리가 있을것 같지는 않아서(있나?) pie chart를 이용하기로 하였습니다. 1. 필수 라이브러리 불러오기 필수 라이브러리는 .. 2021. 7. 2.
원주에서 기온이 가장 높았던 때는 언제일까? (본 내용은 모두의 데이터분석 with 파이썬(길벗 출판사) 내용의 일부를 참조하였습니다) 원주에서 가장 기온이 높았던 때는 언제일까? 파이썬의 라이브러리 csv를 호출하여, 간단한 코드를 짜 보고자 한다. pandas라는 라이브러리를 이용하면, 아래 코드보다 조금 더 간단하게 호출할 수 있으나, 여기서는 for 문과 if 문을 활용하여 해 볼 것이다. 우선 라이브러리를 호출한다. import csv 다음으로, 데이터를 불러와야 한다. 위 데이터를 다운 받으면 된다. 필자가 헤더 정보 일부를 수정하였다. 첫 번째 값은 날짜로, 헤더정보는 date로 지정하였다. 두 번째 값은 관측 장소인데, 원주는 114번이다. 헤더정보는 pos로 지정하였다. 세 번째 값은 평균 기온이며, 데이터가 없다. 헤더정보는 me.. 2021. 5. 31.
파이썬을 이용하여 광물의 절대 굳기 그래프 그리기 모스는 대표광물 10가지를 상대적인 단단한 정도를 가지고 구분하였다. 이를 상대굳기라고 하며, 대표광물 10가지의 종류는 단단해지는 순서로 활석, 석고, 방해석, 형석, 인회석, 정장석, 석영, 황옥, 강옥, 금강석이다. 모스굳기의 1~10의 숫자는 어디까지나 단단함의 순서일 뿐 절대 단단함이 아니다. 예를들어 석고의 모스굳기는 2, 형석의 모스굳기는 4인데, 형석이 석고보다 2배 더 단단함을 의미하는것이 아니다. 실제 단단한 정도는 절대 굳기로 나타낸다. 아무튼 여기서는 광물의 절대굳기를 파이썬을 이용해 그래프로 표현해 보고자 한다. 필요한 라이브러리는 그래프를 그릴 때 많이 사용하는 matplotlib이다. 아래와 같이 라이브러리를 호출하자 import matplotlib.pyplot as plt 다.. 2021. 5. 21.
numpy의 내장함수인 arange와 linspace numpy의 내장함수인 arange와 linspace는 쓰임새가 비슷한데 약간의 차이점이 있다. 예를들어 arange(1,101,5)라고 하면, 1부터 101전까지의 숫자를 5 간격으로 출력하라는 의미이다. 하지만 linspace(1,101,5)라고 하면, 1부터 101전까지의 숫자를 5개 토해내라는 의미이다. 결과를 보자. a라는 변수에는 arange(1,101,5)라고 지정하였더니 101 미만의 수를 크기 5 간격으로 출력하였다. b라는 변수에는 linspace(1,101,5)라고 지정하였더니 1부터 101이하의 수에 대하여 같은 간격의 수 5개를 출력하였다. linspace는 어떤 지정된 범위의 숫자 중 몇 개를 뽑아낼 것인지에 관한 함수이기 때문에, (1,101, x)에서 x는 무조건 정수여야만 .. 2021. 5. 20.
반응형