강력한 분석시각화 프레임워크! Plotly - Dash 소개

2022.04.02 20:12 10,408 Views

데이터에 관심 있는 누구나 소규모 팀원들 앞에서 또는 많은 청중 앞에서 물 흐르듯

나만 알고 있는 데이터 인사이트를 직관적으로 설명하고 싶은 욕심이 있습니다.

이에 걸맞게 분석된 시각화 결과물을 자신의 PC 또는 웹에 게시할 수 있는 프레임워크입니다.

Plotly Dash or React.js + Plotly.js? A side by side comparison | by Antoine  Hue | Towards Data Science

(이에 대응되는 진영에는 R이라는 언어에는 Shiny라는 프레임워크가 있습니다.)

시작은 간단합니다.

1.구축

Python installation (docs):
pip install dash

Jupyter installation (docs):
pip install jupyter-dash

Build your Dash app in a few lines of Python code

2.코드를 붙여 넣으세요. (Dash for Python Stock Ticker Sample App)

import dash
	from dash.dependencies import Input, Output
	import dash_core_components as dcc 
	import dash_html_components as html
	

	from pandas_datareader import data as web 
	from datetime import datetime as dt
	

	app = dash.Dash('Hello World',
	                external_stylesheets=['https://codepen.io/chriddyp/pen/bWLwgP.css'])
	

	app.layout = html.Div([
	    dcc.Dropdown(
	        id='my-dropdown',
	        options=[
	            {'label': 'Coke', 'value': 'COKE'},
	            {'label': 'Tesla', 'value': 'TSLA'},
	            {'label': 'Apple', 'value': 'AAPL'}
	        ],  
	        value='COKE'
	    ),  
	    dcc.Graph(id='my-graph')
	], style={'width': '500'})
	

	@app.callback(Output('my-graph', 'figure'), [Input('my-dropdown', 'value')])
	def update_graph(selected_dropdown_value):
	    df = web.DataReader(
	        selected_dropdown_value,
	        'yahoo',
	        dt(2017, 1, 1), 
	        dt.now()
	    )   
	    return {
	        'data': [{
	            'x': df.index,
	            'y': df.Close
	        }], 
	        'layout': {'margin': {'l': 40, 'r': 0, 't': 20, 'b': 30}}
	    }   
	

	if __name__ == '__main__':
	    app.run_server()



plotly  분석 시각화 라이브러리 와 React.js 기반 위에서 만든 Dash 프레임워크는 유저 맞춤형 인터페이스로 애플리케이션 형태로 구축과 배포가 가능합니다.

아래의 앱은 단지 160라인의 코드로 구성되어 있습니다. 
출처 : 깃허브 chriddyp/dash_crossfilter_example.py


데이터에 관심 있는 누구나 아래 처럼 역동적이면서 아름다운 GEO MAP을 그려 보는 상상을 해봤을 수 있습니다.

View the source.


공개 서버로 구축하지 않는다면 오픈소스 형태로 로컬서버에 사용해 보시면 좋겠습니다.


Dash 설치 방법은 아래와 같습니다.

> pip install dash    #대시를 설치하면 plotly 도 동시에 설치가 됩니다.

> pip install  jupyter-dash #쥬피터 노트북에도 설치가 됩니다. dash version 2.1.0.


인터렉티브한 쥬피터 노트북 화면입니다. (Plotly 제공)

대시만 있으면 누구나 분석 시각화에 달인이 될 수 있습니다.!

이런 형태로 보입니다. Jupyter Notebook, Jupyter Lab, Visual Studio Code notebook, PyCharm notebook 모두 가능 하다고 합니다.



즐롯 하세요.!!


로그인이 필요합니다
0 / 1000
이대권
2022.04.02 20:38

크기가 잘리는 것을 보니, iframe 이 사이즈가 정해져 있나보네요. 

이대권
2022.06.25 15:33

https://plotly.com 에 가면 더 많은 정보가 있습니다.