반응형

파이썬 Matplotlib을 이용한 데이터 시각화 프로그래밍1 - Matplotlib 시작하기



요즘 IT업계에서 유행하는 용어가 '빅데이터' 입니다.

빅데이터는 말그대로 용량이 매우 큰 데이터라는 말인데, 좀 더 세밀하게 정의하면 이 의미 의외에 몇가지가 더 있습니다.




아무튼 데이터든 빅데이터든 이들을 분석해서 의미있는 자료로 가공하는 것이 중요한 일이고, 가공된 데이터는 사람이 알아보기 쉽게 시각화(비주얼라이제이션; Visualization) 해주는 것이 중요합니다.


빅데이터 분석을 위한 강좌를 하기 전에 먼저 데이터를 시각화 하는 방법에 대해 살펴보도록 하겠습니다.


먼저 환경은 윈도우 10, 파이썬 3.5.2 입니다. 파이썬 2.7.x 버전을 사용하시는 분들은 일부 코드가 호환되지 않을 수 있으니 참고하세요.


파이썬 라이브러리 Matplotlib은 데이터 분석 결과를 시각화 하는데 필요한 막대 그래프, 선 그래프, 파이 차트, 바 차트 등 다양한 그래프와 차트를 생성하는 함수들을 제공합니다. 일단 Matplotlib을 설치해야 겠네요. 윈도 커맨드창에서 PIP를 이용해 다음과 같이 Matplotlib을 설치하면 필요한 모듈을 모두 알아서 설치해줍니다.


pip install matplotlib


만약 PIP로 matplotlib이 제대로 설치되지 않으면 여기로 가서 차근차근 읽어보고 matplotlib을 설치해보기 바랍니다.


Matplotlib이 제대로 설치되었는지 윈도 명령 프롬프트창에서 파이썬을 실행하고 matplotlib을 import 해봅니다.


>>> import matplotlib


아무 오류없이 import가 되면 성공적으로 설치가 된 것입니다.


자, 그러면 파이썬을 실행하거나 에디터를 이용해 다음과 같이 간단한 코드를 한번 작성해봅니다.


>>> import matplotlib.pyplot as plt

>>> xs = [x for x in range(10)]

>>> ys = [y*y for y in range(10)]

>>> plt.plot(xs, ys)

>>> plt.show()


이 코드는 matplotlib.pyplot을 import 하는데 이 녀석의 별명을 plt로 정의합니다.


plt.plot(xs, ys)는 리스트인 xs와 ys를 이용해 그려야 할 좌표를 정의하고 이 좌표들을 선으로 연결합니다.

xs와 ys는 수가 멤버인 크기가 동일한 리스트여야 합니다.


plt.show()는 결과를 화면에 그려줍니다.


이 코드를 실행하면 아래와 같이 matplotlib 윈도우가 생성되고 결과를 화면에 그려줍니다.




matplotlib 윈도우 아랫부분에는 결과를 다양하게 탐색할 수 있는 버튼들이 있습니다. 마치 인터넷 브라우저의 버튼과 비슷해 보입니다. 맨 왼쪽 집모양은 홈버튼입니다. 결과를 확대하고 축소하고 옮겨다니다가 맨 처음 모양으로 되돌리는 버튼입니다.


화살표 모양의 버튼은 뒤로 가기와 앞으로 가기 버튼입니다. 결과들을 이리저리 보다가 인터넷 브라우저 처럼 이전의 결과를 보고 싶으면 왼쪽 화살표 버튼을, 이후의 결과를 보고 싶으면 오른쪽 화살표 버튼을 이용합니다.


십자가 모양의 화살표는 결과를 이리저리 옮길 수 있다는 것을 표시해주는 아이콘입니다. 결과 화면에 마우스 왼쪽  버튼을 누른 채로 이동하면 결과를 아래 위나 왼쪽 오른쪽으로 이동할 수 있습니다.




결과 화면에 마우스 오른쪽 버튼을 누른채로 움직이면 결과를 확대하거나 축소할 수 있습니다. 아래 그림은 결과를 임의로 축소해본 것입니다.




다섯번째 아이콘을 클릭하면 결과 화면의 특정 부분을 사각형 영역으로 지정하여 확대해 볼 수 있습니다. 아래 그림은 사각형 영역으로 지정한 후 확대한 것입니다.




여섯번째 아이콘을 클릭하면 아래 그림과 같이 그림판의 여백을 조절할 수 있는 게이지가 나타납니다.



아래 그림은 right 여백을 조정한 결과입니다. 게이지 조정에 따른 결과 화면입니다.




이번 포스팅에서는 matplotlib의 기본적인 사항에 대해 가볍게 살펴보았습니다.


참고로 데이터 시각화 프로그래밍2에서는 데이터 분석을 위한 프로그래밍 도구로 많이 활용되는 Jupyter Notebook을 이용할 예정입니다. Jupyter Notebook에 대한 자세한 내용은 아래의 링크를 참조하세요.


Jupyter Notebook 개요 및 설치 


반응형

+ Recent posts