Data Visualization

Interactive Visualization

& Other Visualization Methods


1. Interactive를 사용하는 이유

1.1. 정적 시각화의 단점

  • 정형 데이터가 feature가 너무 많은 경우에 공간적 낭비가 너무 크다.
  • 각각의 사용자마다 원하는 인사이트가 다를 수 있는데 정적 시각화는 모든 사람들에게 동일한 시각화 자료만 제시할 수 있다.
    • 동적 시각화를 하면 필요한 인터렉션을 통해 원하는 정보를 얻을 수 있다.
    • 물론 설득을 위해서 원하는 메세지를 압축해서 담는 것은 정적 시각화의 장점이기도 하다.

1.2. 인터랙티브 종류

  • 이론적으로는 다음과 같은 종류가 있다.
    • Select
    • Explore
    • Reconfigure
    • Encode
    • Abstract
    • Filter
    • Connect
  • 동적 시각화의 대표 라이브러리는 크게 3가지가 있다.
    • Plotly
    • Bokeh
    • Altair
    • 문법과 제공하는 방법들이 차이가 있다.->원하는 라이브러리 선택!

2. Interactive Library

2.1. Matplotlib

  • Matplotlib도 인터랙티브를 제공한다.
  • 단, 주피터 노트북 환경 또는 local에서만 실행할 수 있다.
    • 다른 라이브러리의 경우 웹에 deploy가 가능하다
    • mpld3를 사용하면 웹에서 D3-based Viewer 제공

2.2. Plotly

  • 인터랙티브 시각화에 가장 많이 사용되는 라이브러리
    • Python뿐만 아니라 R, JS에서도 제공
  • 예시 + 문서화가 잘되어 있음
  • 통계 시각화 외에도 지리 시각화 + 3D 시각화 + 금융 시각화 등 다양한 시각화 기능 제공
  • JS 시각화 라이브러리 D3js를 기반으로 만들어져 웹에서 사용 가능
  • 형광 Color가 인상적

2.3. Plotly Express

  • Plotly를 seaborn과 유사하게 만들어 쉬운 문법
  • 커스텀 부분이 부족하지만 다양한 함수를 제공함

2.4. Bokeh

  • 문법은 matplotlib과 더 유사한 부분이 있음
  • 기본 theme이 plotly에 비해 깔끔
  • 비교적 부족한 문서화..

2.5. Altair

  • Vega 라이브러리를 사용하여 만든 인터랙티브
  • 시각화 + 연산 등으로 배치하는 것이 특징
  • 문법이 Pythonic하지 않음(오히려 js스러움?이 있음)
  • 데이터 크기에 5000개 제한
  • Bar, Line, Scatter, Histogram에 특화

3. 실습

  • 실습내용
    • Interactive visualization
    • Custom Matplotlib Theme
    • Image & Text Visualization
  • 깃허브 코드:

4. 회고

4.1. 회고

인터랙티브 시각화를 알고나서, '내가 너무 적은 도구를 가지고 시각화를 하고 있었구나'라는 생각을 했다. 또 내가 잘 아는 것들만 계속 쓰다보니 내가 쓰는 도구가 한정되었던 것 같다.

도구를 많이 알수록 내가 표현하고자 하는 것을 더 많이 표현할 수 있다.
배운 게 너무 많아서 다 받아들일 수 있을지 모르겠지만,
분석해볼 데이터 후보를 정하고 그 데이터를 분석하고 시각화 하면서 익혀나가야겠다.

특히 시간이 걸리더라도 처음 배운 것들 위주로 써보려는 연습을 해야게싿.

4.2. 해볼 것

  • 데이콘 경진대회 데이터 분석
  • 부캠 이미지 분류대회 데이터 분석
profile
유쾌하게, 열정적으로, 진심을 다해

0개의 댓글

Powered by GraphCDN, the GraphQL CDN