선그래프-3개
선그래프

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

 

 

1. matplotlib 설치

matplotlib를 설치하는 방법은 다른 파이썬 패키지를 설치하는 방법과 동일합니다. 가장 일반적으로 커맨드창에서 '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-선그래프
matplotlib-그래프-그리기

 

plt.xlabel("month")

 

matlplotlib-x라벨-추가
라벨-추가

 

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

 

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

 

matplotlib-선그래프-2개
한번에-2개-그래프-그리기

 

3. matplotlib외 다른 시각화 패키지

익숙해지면 그래프를 그리기 쉬운 툴이라고 생각합니다. 파이썬에는 matplotlib외에도 그래프를 그릴 수 있는 다양한 패키지가 있습니다. plotly 패키지를 이용하면 D3 기반의 대화형 시각화 그래프를 그릴 수 있습니다. 데이터 분석을 목적으로 할 때는 seaborn 패키지도 많이 사용합니다. 문법의 r의 ggplot과 비슷해서 사용하시기 쉽습니다. 

 

 

4. 데이터 시각화 사용하는 목적

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

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

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

 

나이팅게일-데이터-시각화-사례
나이팅게일-데이터-시각화

 

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

 

데이터분석-파이썬-AI코딩

 

파이썬에서 그래프를 그리는 matplotlib를 알아보았습니다. matplotlib도 좋은 데이터 시각화 패키지이기는 하지만, 문법이 좀 아쉽습니다. 데이터 분석에 좀 더 적합한 데이터 시각화 패키지를 찾고 있다면, seaborn을 확인해보세요. matplotlib보다 분석에 더 적합한 시각화 패키지입니다.

 

Recommendation 포스팅

 

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