Plotly 와 파이썬을 이용해서 모던한 차트 만들기
퀘벡주 몬트리올에 본사가 있는 온라인 분석 및 데이터 시각화 도구입니다. Plotly는 Python, R, MATLAB, Perl, Julia, Arduino 및 REST 용 과학 그래프 라이브러리뿐만 아니라 개인 및 공동 작업을위한 온라인 그래프, 분석 및 통계 도구를 제공합니다.
역사
Plotly는 Alex Johnson, Jack Parmer, Chris Parmer 및 Matthew Sundquist가 설립했습니다. 창업자들은 과학, 에너지 및 데이터 분석 및 시각화에 전문성이 있었구요. 초기 직원으로는 캐나다의 소프트웨어 엔지니어 인 Christophe Viau와 캐나다의 지구 물리학자인 Ben Postlethwaite가 있습니다. Plotly는 캐나다 혁신 거래소 (Canadian Innovation Exchange)에서 캐나다에서 가장 인기있는 20 대 혁신 기업 중 하나로 선정되었습니다.
제품
Plotly는 6 개의 주요 제품을 제공합니다.
Plot.ly
데이터를 그리드로 가져오고 분석하고 통계 도구를 사용하기위한 그래픽 사용자 인터페이스가 있습니다. 그래프를 삽입하거나 다운로드 할 수 있습니다. 주로 그래프를 빠르고 효율적으로 만드는 데 사용됩니다.
API libraries (<-- 우리가 실습해 볼것임)
Python, R, MATLAB, Node.js, Julia 및 Arduino와 REST API에 대한 API 라이브러리. Plotly는 IPython으로 인터랙티브한 그래프를 스타일화하는 데에도 사용할 수 있습니다.
Figure Converters
matplotlib, [15] ggplot2, [16] 및 IGOR Pro [17] 그래프를 대화 형 온라인 그래프로 변환합니다.
Plotly Apps
Google 크롬을위한
Plotly.js
그래프 및 대시 보드를 만들기위한 오픈 소스 [19] 자바 스크립트 라이브러리입니다. [20]
Plotly Enterprise
Plotly의 온 프레미스 설치입니다.
기술
Plotly는 Python과 Django 프레임워크를 사용하여 제작되었으며 프론트 엔드는 JavaScript와 시각화 라이브러리 D3.js, HTML 및 CSS를 사용합니다. 파일은 Amazon S3에서 호스팅됩니다.
자 여기까지 위키의 내용이고, 이제 본격적으로 실습 시작합니다.
Plotly 파이썬 라이브러리
->Plotly online 시작하기
참고로 저는 2.7.x 로 설치하였습니다. 좀 더 자세한 내용은 -> 윈도우에 아나콘다 설치하기
패스(PATH)는 자동으로 잡히더군요. 아나콘다 설치하면 Python 및 아주 다양한 패키지들이 함께 설치됩니다.
2. 쥬피터 노트북 설치 (커맨드 창에서 실행하세요)
$ pip install jupyter
3. 쥬피터 노트북 실행
$ jupyter notebook
위와 같이 브라우저를 통해 실행되며, 브라우저를 통해서 코드를 작성할 수 있습니다.
* 엔씨소프트에서 작성한 쥬피터노트북에 대한 찬사를 보시려면 요기 => 주피터노트북 장점
Plotly 파이썬 실습
1. plotly 설치합니다. ( 우리 차트 만드는게 목적이죠? 이제서야 설치합니다)
$ pip install plotly
$ pip install plotly --upgrade
2. 실습할 폴더/파일을 쥬피터 노트북에 만들자.
위와 같이 폴더 하나 만드시고, 그 폴더에서 Python 2 로 파일 하나를 만드세요.
3. 코드 작성 (버전 확인)
버전이 적어도 1.9.4 이상이어야 합니다.
4. 첫번째 실습 (라인 차트)
import plotly
from plotly.graph_objs import Scatter, Layout
print plotly.__version__
plotly.offline.plot({
"data": [Scatter(x=[1, 2, 3, 4], y=[4, 3, 2, 1])],
"layout": Layout(title="hello world")
})
를 입력하고 shift+ 엔터를 치면 실행되고 디렉토리에 temp-plot.html 이 생성됩니다.
html 파일을 브라우저에서 실행하면 아래와 같습니다.
5. 두번째 실습 (스캐터 차트)
import plotly
import plotly.plotly as py
import plotly.graph_objs as go
# Create random data with numpy
import numpy as np
N = 1000
random_x = np.random.randn(N)
random_y = np.random.randn(N)
# Create a trace
trace = go.Scatter(
x = random_x,
y = random_y,
mode = 'markers'
)
data = [trace]
# Plot and embed in ipython notebook!
plotly.offline.plot(data)
결과)
import plotly
print plotly.__version__
그래프 그리기
import plotly
from plotly.graph_objs import Scatter, Layout
print plotly.__version__
plotly.offline.plot({
"data": [Scatter(x=[1, 2, 3, 4], y=[4, 3, 2, 1])],
"layout": Layout(title="hello world")
})
다음 코드를 작성하고 실행해 하세요.
자동으로 HTML 파일로 EXPORT 됨.
temp-plot.html 파일이 만들어겼네요.
브라우저를 통한 확인
브라우저에 이렇게 깔쌈한 차트가 그려졌습니다. 간단하죠? ^^
더 많은 예들 바로가기