2015년 8월 6일 목요일

판다곰(pandas)의 심플하면서 특색있는 3가지 스타일의 플롯

분석 라이브러리 판다곰(pandas)과 내부적으로 연결된 시각화 라이브러리인 Matplotlib만 있으면,
다양한 종류의 데이터를 빠르게 수집, 분석해서 시각화 하는데 매우 흡족하다.
다만, 2% 부족한 플롯을 해소하고자, 과거 블로깅을 통해서 소개한 bokeh를 사용함에 있어,
새로운 문법과 친해지는 것이 녹녹하지 않았다.
불편은 질문을 낳고, 질문에는 답이 있었다.
인터렉티브(interactive)한 시각화를 제공하는 자바스크립트(Javascript) 라이브러리인 D3.js를 만나고,
Matplotlib의 그림판(figure)을 D3.js로 변환해 주는 라이브러리를 만났다.
불편을 한방에 해결해 준 고마운 mpld3 만난 기념으로, 판다곰에서 플롯하는 3가지 스타일을 소개한다.
참고
* mpld2 홈페이지 : http://mpld3.github.io/#

In [2]:
# 테스트 필요 라이브러리
import pandas as pd
import mpld3

준비 작업

In [3]:
# 간단한 선형 데이터프레임 만들기
C1 = [1,2,3,4]
C2 = [1,4,2,3]
df = pd.DataFrame({'c1':C1,'c2':C2})

# 샘플 플롯 만들기
def sample_plot(subject):
    df.plot(kind='line',marker='p',color=['blue','Red'],lw=3,ms=20,alpha=.7)
    title('TEST LINES - ' + subject)
    text(s='Blue Line',x=1,y=2,color='blue')
    text(s='Red Line',x=2.7,y=3,color='Red')

PYLAB 기본 플롯 보기

In [4]:
sample_plot('BASE')

필기 플롯 보기

In [5]:
with xkcd():
    sample_plot('xkcd')

D3.js 플롯 보기

In [6]:
mpld3.enable_notebook()
sample_plot('D3.js')

플로거 제약상 인터랙티브한 플롯을 사진으로 소개하지만,
실제로는 매우 깔끔하고, 미세한 데이터를 위한 확대 기능도 있으니,
mpld3 홈페이지를 통해서 꼭 확인 바랍니다.

0 개의 댓글:

댓글 쓰기