빅데이터 부트캠프/데이터 시각화 메소드

빅데이터 부트캠프 16일차

Mecodata 2022. 7. 25. 09:23

plotly

- 인터랙티브 그래프 생성
- dict 형식으로 명령어 작성 (matplotlib,seaborn은 DataFrame 이용)
- JSON 데이터 형식으로 저장
- 다양한 방식으로 Export 가능

 

※ plotly 기본 세팅

- import plotly.io as pio (Plotly input output)
- import plotly.express as px (빠르게 그리는 방법) - px를 주로 사용
- import plotly.graph_objects as go (디테일한 설정)
- import plotly.figure_factory as ff (템플릿 불러오기)
- from plotly.subplots import make_subplots (subplot 만들기)
- from plotly.validators.scatter.marker import SymbolValidator (Symbol 꾸미기에 사용됨)

- import numpy as np
- import pandas as pd
- from urllib.request import urlopen
- import json

px()에서 ()안에서 설정할 수 있는 기본적인 것들

-  x = x축 데이터, y = y축 데이터, color = 색깔 구분 기준이 될 column 지정

- label = {'x축 데이터 column명' : 'A', 'y축 데이터 column명':'B'}

-> 기본적으로 label 미설정 시에는 각 축의 데이터의 column명이 각 축의 제목으로 출력되지만 이렇게 딕셔너리로 label을 설정하면 x축 제목 = A, y축 제목 = B로 설정됨 

- title = 그래프 제목, width = 너비, height = 높이

 

- 데이터의 범위 차이가 너무 클 경우 데이터 타입을 로그(log)로 변환하면 깔끔하게 나타남

- trendline = 추세선(보통 'ols'로 입력), trendline_color_override = 추세선 색깔

- hover_name = 그래프에 마우스 커서를 갔다댔을때 뜨는 팝업창의 제목이 될 column 지정

- hover_data = 팝업창에 추가로 출력될 데이터 설정 (미설정시 기본으로 x,y,color로 설정한 데이터만 출력)

- colorscale = 오른쪽 그림의 색깔별 값을 나타내는 막대의 색깔 패턴 설정 (showscale=True를 입력해야 저 막대가 출력 아닐 경우에는 데이터에 따라 색깔이 변화)

- color_discrete_sequence=px.colors.qualitative.패턴명 = 각 데이터별 구별 색깔 패턴 설정

 패턴 종류 참고 =  https://plotly.com/python/discrete-color/

 

Discrete

Over 13 examples of Discrete Colors including changing color, size, log axes, and more in Python.

plotly.com

https://colab.research.google.com/drive/1DPSY7mak-xcRi3s_18MsdIPGHjPzaLsN#scrollTo=kuBCicm_BOIy

go를 통한 그래프 설정 (팀프로젝트 후 추가)

- go는 그래프 요소 하나하나를 따로 설정해야함

- go.Bar(x,y,name)

- go.Scatter(x,y,name)

 

※ px는 line과 scatter를 분리해서 사용하지만 go는 go.Scatter 하나로 scatter와 line 모두 사용 가능

ex) go.Scatter(x,y,name,line=dict())로 line 출력 (dict()안에 color와 width같은 꾸밈요소 설정 가능)

 

- secondary_y = True : 오른쪽에 또 다른 y축 설정

 

- go.Layout() = 레이아웃 설정

width, height, title,

plot_bgcolor(그래프 배경색), paper_bgcolor(그래프 바깥 배경색)

font = 딕셔너리 형태로 폰트 설정

- go.Figure(data, layout) = figure 설정