본문 바로가기
  • 하고 싶은 일을 하자
개발

[D3JS] 데이터 시각화란 무엇인가

by 박빵떡 2021. 9. 25.
반응형

회사에서 D3JS를 써먹어 보기 위해 강의를 듣기 시작했습니다.

https://youtu.be/2LhoCfjm8R4

이 강의를 들으며 정리를 해보려고 합니다!

 

이 강의는 양이 많고 자막이 없지만

d3js를 심도 있게 공부할 수 있고, 영어 리스닝 실력이 좋아지고(?), 무료이고,

무엇보다 Hooks를 이용한 React로 구현을 알려준다는 게 좋아서 이 강의를 선택했습니다.

강의를 해주시는 분은 Curran Kelleher이고 그의 유튜브 채널은 https://www.youtube.com/channel/UCSwd_9jyX4YtDYm9p9MxQqw 여기입니다.

Visualization Analysis & Design (Tamara Munzner)의 책을 바탕으로 만든 강의라고 합니다.

 

데이터 시각화는 시각적인 표현을 통해 사람들이 문제를 더 효율적으로 해결할 수 있도록 도움을 줍니다.

 

데이터 시각화는 사람 중심적(human-oriented)인 기술입니다. 요즘 많은 문제를 해결하고 있는 머신 러닝과 정반대의 분야인 것이죠. 물론 머신 러닝은 강력하지만 데이터 시각화가 필요할 때가 있습니다. 예를 들어 데이터 시각화를 사람이 보고 특정 Attribute에 비중을 더 줘야겠다고 판단하여 머신 러닝 모델을 만든다면 더 효율적으로 만들 수 있겠죠?

위는 어떤 국가의 어떤 종교를 가진 사람이 몇 명인지에 대한 자료입니다. 위의 표를 보고 숫자를 기억하거나 전체적인 통계를 파악하는 건 인지적으로 매우 힘든 일(Cognitive intensive activity)입니다. 

 

데이터 시각화는 이런 힘든 일을 시각적인 지각으로 쉬운 일로 바꿔줍니다. 눈으로 지각하는 것은 한 번에 많은 정보를 쉽게 파악할 수 있죠.

위의 그래프를 보면 어느 국가가 가장 많은 힌두교 교인이 있는지를 알기 위해서 "빨간색 사각형이 어디가 가장 큰 지"라는 쉬운 방법으로 알 수 있습니다. 이것을 정적인 시각화라고 합니다.

마우스를 힌두 위에 올리면 해당 부분만 보여주는 interaction을 만들 수도 있습니다.

그래프 바에 hover 했을 때 숫자를 보여주는 interaciton도 만들 수 있습니다.

 

React는 강의 중에 알려줘서 몰라도 된다고 합니당

1주일에 2~10시간 정도 투자하라고 하시네요.

React를 쓰면 좋은 이유는 컴포넌트로 활용할 수 있고, 상태 관리가 좋기 때문이라고 합니다.

Python, R, Tableau, Power BI이 아니라 D3JS로 데이터 시각화를 하는 이유로는

D3JS가 다른 언어 및 프레임워크들 보다 자유롭게 표현할 수 있고, 상호작용과 customization의 제한이 적기 때문이라고 합니다.

그리고 제 생각엔 js로 웹에서 표현할 수 있기 때문에 접근성도 더 좋을 것 같아요.

 

첫 번째 강의는 이것으로 끝입니다!

반응형

댓글