matplotlib는 파이썬에서 그래프를 그릴 수 있도록 도와주는 패키지이다. d3나 다른 시각화 전문툴보다는 이쁜(?) 그래프를 그리기는 어렵지만, 파이썬을 통해서 그래프를 그리다보니 자유도가 더 있는 듯 하다. 오늘은 matplotlib를 설치하고 사용법에 대해서 알아보고자 한다.

 

matplotlib 설치 및 사용법

 

 

1. matplotlib 설치

matplotlib를 설치하는 방법은 여느 패키즈를 설치하는 방법과 동일하다. 이전에 numpy패키지를 설치하는 방법에 대해서 포스팅한 적이 있는데 이와 같다. 가장 일반적으로 커맨드창에서 'pip install matplotlib'을 실행하면 된다. 패키지를 설치하는 방법은 이전 포스팅에서도 여러 번 다루었으니 여기서는 넘어가도록 하겠다.

 

matplotlib를 사용하다보면 그래프에서 한글이 깨지는 것을 알 수 있다. 한글 폰트가 사용되지 않았기 때문이다. 폰트를 한글폰트로 지정해주면 문제가 말끔히 해결이 된다. 이에 대한 내용은 다음에 자세히 다뤄보도록 하겠다.

 

 

2. matplotlib 장점 및 사용법

지금은 matplotlib보다 사용하기 좋은 패키지들이 많이 있다. seaborn, plotly 같은 패키지를 이용하면 분석에 더 적합하거나 혹은 인터랙티브가 가능한 그래프를 더 쉽게 그릴 수 있다.

 

그래도 matplotlib이 유용할 때가 있다. matplotlib의 장점은 그래프의 세부적인 부분까지 일일이 세부조정이 가능하다는 것이다. 그리고 그래프를 그래프를 한 번에 다 그리지 않고 그때그때 수정해가면서 그릴 수도 있다.

 

예를 들어 선그래프를 그린 다음에 영역을 변경하려면 x축의 범위를 조정하면 된다. 라벨도 필요하면 그리고 수정이 가능하다. 예를 들어 아래와 같이 그래프를 그리고 계속해서 필요한 command를 입력하면 된다. 참고로 그래프가 보이지 않으면, plt.show()나 plt.ion()을 입력하면 된다. plt.show()를 입력하면 해당 그래프를 닫기 전까지 다른 명령어를 입력하지 못한다. plt.ion()은 interaction 모드를 활성화하는 것으로 그래프를 띄워놓고 계속해서 다른 작업들을 할 수 있다.

 

import matplotlib.pyplot as plt

plt.plot([1,4,7,8,13,17])

 

matplotlib 그래프 그리기

 

plt.xlabel("month")

 

라벨 추가

 

아래와 같이 한 줄로 동일한 형태의 그래프를 여러 개 그릴 수도 있다.

plt.plot([1,2,3,4,5,6,7,8], 'ro-', [6,4,3,2,1,1,2,3], 'bs-')

 

한 번에 2개 그래프 그리기

 

 

익숙해지면 그래프를 그리기 쉬운 툴이라고 생각한다.

파이썬에는 matplotlib외에도 그래프를 그릴 수 있는 다양한 패키지가 있다. plotly 패키지를 이용하면 D3 기반의 대화형 시각화 그래프를 그릴 수 있다. 다음에는 plotly를 이용해서 데이터를 시각화하는 방법에 대해서도 다뤄보도록 하겠다.

 


데이터를 시각화하는 것은 크게 2가지 이유가 있다고 생각한다. 하나는 다른 사람들을 쉽게 이해시켜 설득하기 위함이고, 다른 하나는 분석을 빨리 하기 위함이다.

다른 사람들을 쉽게 이해시켜 설득하기 위한 목적의 가장 유명한 예는 나이팅게일의 그래프이다 .나이팅게일은 아래 그래프를 통해 전쟁에서 사망하는 사람보다 보건이 후져서 사망하는 사람이 많다는 것을 보여주고 보건비 지원을 따냈다고 한다. 백의의 천사인 줄만 알았는데 통계와 숫자에도 능통했다는 것을 처음 알게 됐다.

그래프 안의 적색 부분이 전쟁 부상으로 인해 사망한 사람이고, 바깥의 푸른색이 병원 위생환경의 열악함으로 사망한 사람의 숫자라고 한다.

나이팅게일 데이터 시각화

 


숫자로 된 표를 보고 있으면 직관적이지 않다보니 한참 숫자들을 비교해 봐야 한다. 하지만 그래프를 그리면 분포와 아웃라이어들이 한 눈에 들어와 분석하기가 용이하다. 물론 그 전에 matplotlib로 연습을 많이 해봐야 되긴 할 것이다.

 


오늘은 이렇게 파이썬에서 그래프를 그리는 matplotlib에 대해서 알아보았다. 데이터 시각화 관련해서 유명한 사람 중에 한 분이 한스 로슬링 교수이다. 예전에 이 분의 그래프를 파이썬 코드로 짠 적이 있는데 없어져 버렸다. 물론 시각화 소프트웨어를 사용할 수도 있지만, 이런 소프트웨어를 무료로 사용하려면 데이터를 공개해야 한다.

파이썬은 프로그래밍 언어이기 때문에 단순히 그래프를 그리는 작업 이상의 것을 할 수 있다. 간단하게 애니메이션 같이 움직이는 그래프도 만들 수 있다. 이에 대한 자세한 내용은 다음에 다뤄보도록 하겠다.


matplotlib도 좋은 데이터 시각화 패키지이기는 하지만, 문법이 좀 아쉽다. 데이터 분석에 좀 더 적합한 데이터 시각화 패키지를 찾고 있다면, seaborn을 확인해보기 바란다. matplotlib보다 분석에 더 적합한 시각화 패키지이다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">