본문 바로가기

카테고리 없음

파이썬 시각화 라이브러리 Plotly 소개, Jupyter Notebook에서 사용하기

Plotly는 파이썬에 수많은 데이터 시각화 라이브러리 중 예쁜 걸로 손에 꼽을만한 라이브러리입니다. 또한 인터렉티브한 시각화가 가능하다는 게 큰 장점입니다. 오늘은 이 라이브러리를 주피터 노트북에서 사용하는 방법에 대해서 알아보겠습니다.

 

Plotly에서 제공하는 온라인 호스팅 기능을 이용하지 않고 로컬로 활용하는 방법을 다룹니다. (plotly.offline 사용)

 

Plotly 라이브러리 설치 및 업그레이드 

Plotly 라이브러리를 처음 사용한다면 설치가 필요합니다. 주피터 노트북을 열고 다음 코드를 입력하면 됩니다.

 

!pip install plotly

 

이전에 설치한 적이 있다면 업그레이드를 하겠습니다. 

 

!pip install plotly --upgrade

 

 

Plotly를 주피터 노트북에서 사용하기 

간단한 샘플 데이터를 만들고 이를 활용해서 그래프를 그려보겠습니다.

 

import numpy as np
import pandas as pd
# plotly 라이브러리 불러오기
import plotly.offline as pyo

# 샘플 데이터 생성
df = pd.DataFrame(np.random.randn(50,2), columns=['A', 'B'])

# 그래프 그리기
pyo.iplot([{'x':df.index, 'y':df['A'], 'name': 'A'}, {'x':df.index, 'y':df['B'], 'name': 'B'}])

 

 

샘플 그래프를 그려보았습니다. matplotlib 등 다른 라이브러리에 비해 조금 더 보기 좋은 것 같습니다. 

 

iplot 

외부 서버에 연결하지 않고 주피터 노트북 내부에 plotly 그래프를 그려줍니다. 노트북 내부에 그래프를 그리면 데이터 분석 과정을 한 곳에 유지할 수 있다는 장점이 있습니다. 표시된 그래프 위에 마우스를 놓으면 각각의 값을 확인하고 그래프를 확대하는 등의 인터렉티브 동작을 할 수 있습니다. 

 

그래프를 그리는 코드에서 무슨 일이 있었나 

위의 샘플 그래프는 딱 한 줄의 코드로 만들었습니다. 하지만 사실 이 코드는 자세히 뜯어보면 다음과 같은 과정이 함축된 것입니다. ①첫 번째 선 그래프 한 줄의 데이터를 변수에 저장합니다. ②두 번째 선 그래프 한 줄의 데이터를 변수에 저장합니다. ③모든 그래프의 데이터를 하나의 리스트에 저장합니다. ④이 데이터를 사용해서 완성된 그래프를 그립니다.

 

import numpy as np
import pandas as pd

# 라이브러리 불러오기
import plotly.offline as pyo
import plotly.graph_objs as go

df = pd.DataFrame(np.random.randn(50,2), columns=['A', 'B'])

# 라인 그래프 A, 라인 그래프 B의 데이터를 각각 할당합니다.
trace1 = go.Scatter(x = df.index, y = df['A'], name = 'A')
trace2 = go.Scatter(x = df.index, y = df['B'], name = 'B')

# 라인 그래프 A, B를 하나의 리스트에 담습니다.
# 최종적으로 그래프를 그리는데 사용될 데이터입니다.
data = [trace1, trace2]

# 이 데이터를 사용해서 그래프를 그립니다.
pyo.iplot(data)

 

 

 

- 이 글은 아나콘다(Anaconda3)가 설치된  주피터 노트북에서 작성되었습니다.