본문 바로가기

파이썬 (python)

[Python 34] 파이썬의 matplotlib와 예제

이번 글에서는 파이썬의 그래픽 라이브러리인 matplotlib에 대해서 살펴보도록 하자.

 

(matplotlib의 기초에 대한 소개는 다음에...)

 

학교의 수업 중에 파이썬의 matplotlib 과제로 인터넷 기사에서 임의로(?) 구한 그래프와 최대한 유사하게 만들어서 제출하라는 과제를 내었다. 모범적인 여러 답안들이 나와서 이 글에서 소개해 보고자 한다. 가장 모범적인 답안이었던 1학년 김태희 학생의 답안을 비롯해 몇가지 재밌는 아이디어를 소개해 보고자 한다. 

 

○ 문제

 

아래의 그래프를 파이썬의 matplotlib를 이용해서 최대한 비슷하게 그릴 것. 단 matplotlib의 함수적 접근인 pyplot 을 사용하지 않고 객체지향적 접근을 사용할 것. 

 

 

○ 모범답안 1 (20학번 학생)

 

우선 결과부터 보자. 원본과 정말 많이 닮았다. 주어진 과제에 정말 충실하게 만들어 낸 답이다.

 

 

아래는 소스코드이다. 먼저, matplotlib를 import 하고 한글폰트 설정한 후에, plt.subplots( ) 명령어를 이용해서 3개의 axes를 생성해 내는 코드이다.

 

 

아래 코드는 위의 3개 그래프 중 첫번째 그래프를 생성하는 코드이다. 

 

 

아래의 코드는 두번째 그래프를 생성하는 코드이다.

 

 

아래는 세번째 그래프를 생성하는 코드이다. 여기서, y축의 label이 길어서 두번째 그래프와 오버랩되는 문제를 axes의 set_xlim( ) 명령어를 이용해서 아주 멋지게 해결해 내었다.

 

 

코드를 보면 비슷한 명령문들이 반복되는 것이 보인다. 물론, for를 이용했다면 좀더 깔끔한 코드를 얻을 수 있었을 것 같다. 하지만, 이렇게 코드를 만들어 봐야 더 좋은 코드가 눈에 보이는 법이다. 일단 만들어 보자. 일단 되게 해 보자.

 

 

○ 모범답안 2 (         )

+