데이터 분석 - 동적 시각화 Plotly vs Streamlit

hisungmi·2024년 9월 2일
0

KT Aivle

목록 보기
23/23
post-thumbnail

동적 시각화

  • 동적 시각화는 유저와 시각화 결과의 상호작용으로 다양한 정보를 즉각적으로 전달하는 것이 특징

    기존에는 x, y축에 의존한 2D, 3D형 그래프로 정보를 제한적으로 전달 받음. 동적 시각화를 통해, 정보를 더 많이 하나의 평면 혹은 공간에 담을 수 있음

동적 시각화의 예제

대시보드

  • 하나의 화면에 여러 정보를 연동하여 다양한 정보를 제공한다.
    • 여러 그래프가 하나의 화면에 존재, 하나의 주제에 대해 다양한 중요한 정보를 전달
    • 회사 - 핵심 성과 징표인 KPI나 다른 매트릭을 연결하여, 꾸준히 모니터링, 의사결정을 도움
  • 상호작용시 사용자 대화형 특성을 제공
    • 유저가 원할때 깊은 정보를 얻을 수 있음
  • 업무에 필요한 데이터를 실시간으로 함축하여 정보전달하여 의사결정에 도움을 줌

동적 시각화 라이브러리

Plotly

express(px)graph_objects(go)의 패키지 존재

express(px)graph_object(g0)
설명고수준 API저수준 API
장점쉽고 빠르게 기능 구현
하나의 커맨드로 그래프 구현
섬세하게 시각화 가능
유연하게 원하는 기능 구현 가능
단점Seaborn에 비해 상대적으로 부족한 정적 시각화 기능
go에 비해 유연성이 떨어짐
하나의 커맨드로 원하는 기능 구현 어려움

-원하는 기능 구현에 용이한 graph_objects 사용

graph_obejects

  • ploty의 인기있는 데이터 시각화 모듈, 3D형태의 그래프를 포함한 다양한 그래프를 그릴 수 있다.

    go 라는 별칭으로 호출
    import plotly.graph_objects as go

go 그래프 그리기

fig = go.Figure() # figure 객체 생성
fig.add_traces(그래프) # add_traces로 원하는 유형의 그래프 추가
fig.update_layout(옵션) # 레이아웃 설정 - title, yaxis_title 등

Streamlit

  • Data Science를 위한 맞춤형 웹 애플리케이션 라이브러리

    데이터 분석 결과를 손쉽게 공유할 수 있는 라이브러리
    간결하고 명확한 API를 제공, 다른 프레임워크 대비 상대적으로 진입장볍이 낮음

Streamlit UI 구성 요소

  • 텍스트 - 타이틀, 헤더, 마크다운, 코드블럭
    • LaTex도 지원하여 쉽게 수식 작성 가능
  • 인풋 위젯 - 버튼, 체크박스, 라디오, 셀렉트 박스, 슬라이더
    • html에서 제공되는 input 위젯 제공
  • 그 외 이미지 & 상태 바
    • 비디오 오디오 추가 가능


      → 이러한 요소들을 이용하여 대시보드를 원하는 요소들만 구성되도록 만들 수 있음
profile
난 성미다.

0개의 댓글