디자인

데이터 시각화 스터디 #3 - 시간의 시각화

lanace 2021. 5. 5. 16:37

데이터를 시각화했을때 가장 많이 등장하는 데이터는 시간인것같다.

매우 많은 차트들이 시간 변화에 따른 추이를 보여주는 차트들이다.

그래서 이번엔 시간을 시각화 하는 방법들에 대해서 스터디하였다.

 

우선 시간을 시각화 하는 방법에는 7가지 유형이 있었다.

  1. 기간의 처음 시점과 비교해 오늘의 추이
  2. 데이터에 순환적인 패턴 유무
  3. 2개의 시간 디멘전 간에 걸친 추세를 어떻게 찾는가?
  4. 장기에 걸친, 수치가 아닌 순위는 어떻게 관찰?
  5. 동시에 발생하지 않은 값들은 어떻게 비교?
  6. 각기 다른 시기에 발생한 사건의 성장세는 어떻게 비교?
  7. 프로세스의 병목에 어떻게 집중?

 

 

시간을 얼마나 길고 다양하게 보아야 하는가?

과거 특정 시점부터 현재까지 전체 변화량을 보여줄 수 있다.

하지만 그런 과정중에 요일별 변화량이나 월별 변화량 등 반복되는 특징들을 찾기는 생각보다 쉽지 않다.

이러한 질문에 쉽게 대답해줄 수 있는것이 시간을 그룹핑하여 표현한 차트들이다.

 

요일로 시간을 묶는다던가, 월별로 묶어서 변화량을 보여준다면 쉽게 차이를 비교분석 할 수 있다.

 

 

하지만 단점으로 시간 사이에 노이즈나 데이터가 뭉개지는 현상이 보일 수 있어 조심해야한다.

 

데이터에 순환적인 패턴이 있는가?

 

데이터에 일정한 순환 패턴이 있을 수 있다.

아래 차트는 시간대별 평균 대여 건수를 바 차트를 통해 표현한 것이다.

 

보면 0~5시까지 대여가 적다가 8시, 17시에 고점을 찍는다.

이렇드시 평균을 통해 각 시간대별 추이를 확인할 수 있다.

 

하지만 이 차트를 통해 알 수 없는것은 평균으로 데이터가 뭉개졌기 때문에 요일별 추이나 월별 추이는 확인할 수 없다.

아래 차트를 보자

 

이 차트에선 같은 데이터를 막대 그래프의 막대를 선으로 표현하여 각 요일별 변화량을 나타낸다.

보면 양 끝은 주말이다. 

하나의 선 묶음은 일-토 요일까지의 변화량인데, U자 형과 n 자 형으로 나뉜다.

주말엔 주로 낮시간에는 U자 형이, 출근시간엔 n자 형이 나오는걸 볼 수 있다.

 

이렇게 표현하고 싶은 정보를 어떻게 보여줄지 끊임없이 고민해야 하지않나 싶다.

 

그치만 위 그래프가 이해하기 편한가?

개인적으로 표에 익숙하지 않으면 글세... 잘 모르겠다.

 

 

2개의 시간 디멘전 간에 걸친 추세를 어떻게 찾는가?

 

위에서도 2개의 시간 디멘전을 보여주었다. 아래는 다른 방법으로 2개의 시간 디멘전을 표현하였는데, 

하나는 월간, 다른 하나는 일간이다.

 

히트맵으로 보여주는건 전체적인 추세 보여줄때 좋은것같다.

 

위 그래프를 보고 7~9월 출생자가 높다는것을 한눈에 알아볼 수 있다.

하지만 2월 14일이 유난히 출생률이 높은것을 볼 수 있는데, 이를 바로 알아보기란 어려웠다. (적어도 나한테는...)

즉, 자잘한 디테일보단 전체적인 추세를 볼때 유용한것같다. 

 

개발자한테 조금 익숙한 차트인데, 깃허브에서도 커밋한 량을 위와같은 히트맵으로 보여준다.

 

가로축과 세로축에 따른 변화량을 보기 좋다. 요일별로 얼마나 커밋하는지, 또는 월별로 얼마나 커밋하는지 추이를 보기 편하다.

 

월별? 연도별? 요일별로 관찰이 용이함

  • 테이블 형태로 값을 같이 보여주는것도 방법인듯함...

⇒ 이렇게 보니까 걍 하라이트표인데...?

 

축은 0에서 시작해야 하는가?

목적에 따라 다르다. 상대적인 값을 비교하기 위해서 0부터 시작하지 않을 수도 있음

 

 

장기간에 걸친 수치가 아닌 순위 관찰

 

시간에 따른 순위 변화를 시각화하는데 범프차트를 활용한다.

아래와 같은 차트인데, 순위의 변화량을 보여준다.

 

하지만 순위는 잘 보여주지만 실제 값을 숨기느 효과가 있다.

⇒ 등수가 중요하거나 실제 값이 불편할떄 가릴 수 있을듯 싶다.

 

하이라이팅 같은 기법으로 색을 바꾸어 좀더 강조할 수 있음. 

마우스를 올려두거나 강조하고 싶은 선의 색상을 바꾸어 표현하면 좋을것같다.

 

실제 값을 보여주기 위해서 아무리 값을 넣어둔다고 해도 상대값 비교가 어렵기때문에 단점이 해결되진 않을듯 하다.

 

 

각기 다른 시기에 발생한 사건의 성장세 비교

 

비교를 위해 축의 기준을 바꾸는 선택

충분히 예상 가능하긴 하다.

근데 이게 각 상황이 다르기 때문에 그런걸 좀 인지시키고 싶은데, 그게 그렇게 쉬운것만은 아닌것같다.

 

 

프로젝트나 이벤트 기간을 어떻게 보여주는가?

간트차트

약간 WBS같은 차트네

 

 

프로세스의 병목에 어떻게 집중할 수 있는가?

점프 플롯

이벤트 시퀀스를 분석해 그 안의 병목과 이상치를 확인하기 위해 디자인된 차트 유형

데이터를 절충하고, 분포뷰로도 확장 가능

이벤트가 옵션일 수 있는 이벤트 시퀀스를 시각화함

약간 워크플로우...? 각 단계별 진행 단계랑 각 단계별 걸리는 시간 통계내주는것도 좋을듯?

개인적으론 단계를 뛰어넘으면 그닥 좋아보이진 않는다.

복잡하고 알아보기 힘듬

이거 말고 그 흐름 나타내는 차트가 있는데, 그게 더 나을지도?

 

 

결론

목적에 따라 분류하고, 기준을 정하고 차트를 결정하는게 좋다.

시간을 표현하는 방법에는 여러가지가 있고, 이를 상황에 맞춰서 나누어 표현하면 효과적이다.

 

목적에 맞는 차트를 선택할때 가장먼저 어떤 이유로 차트를 만들었는지 정해야한다.

그 이유에 답을 줄 수 있는 방법을 고민해보자.