[ Tableau ] 지하철 혼잡도 시각화 ( feat. 태블로 )

2023. 1. 17. 21:38Tableau

728x90
반응형

태블로를 이용한 지하철 혼잡도 시각화를 해보도록 하겠습니다. 태블로는 데이터 분석 Tool로 세일즈 포스에서 제공을 하고 있습니다. 

강력한 시각화를 보여주고 데이터 전처리도 어느 정도 가능하여 사용하기에 따라서 매우 활용도가 높은 프로그램입니다.

무료인 태블로 퍼블릭으로도 사용할 수 있으니 관심 있으신 분들은 꼭 공부해 보시길 강력 추천 드립니다.

공공데이터포털에서 서울교통공사_지하철혼잡도 정보_20211231을 다운받아서 사용해 보도록 하겠습니다.

 

서울교통공사_지하철혼잡도정보_20211231

서울교통공사 1-8호선 30분 단위 평균 혼잡도로 30분간 지나는 열차들의 평균 혼잡도(정원대비 승차인원으로, 승차인과 좌석수가 일치할 경우를 혼잡도 34%로 산정) 입니다.(단위: %). 서울교통공사

www.data.go.kr

다음과 같이 데이터를 준비해 주도록 하겠습니다. 데이터를 살펴보면

  • 연번 : 순서
  • 조사일자 : 평일 / 휴일 구분
  • 호선 : 지하철 노선
  • 역번호 : 역고유번호
  • 역명 : 지하철명
  • 구분 : 상 / 하행선
  • 각 컬럼 : 시간대별 혼잡도
혼잡도 : 승차정원( 100% ) 기준 좌석수만큼 인원 탑승 시 혼잡도 34% ( 모두 앉아서 가는 조건입니다 )

태블로를 시작하고 위의 아이콘을 눌러준 후 연결에서 텍스트 파일을 선택해 줍니다. 해당 파일은 CSV 파일이기 때문에 텍스트 파일로 불러와야 인식이 가능합니다.

파일을 선택해 주면 아래와 같이 창이 나옵니다.

 

  1. 관계형 데이터 관리를 할 때 사용합니다. 2개 이상의 데이터를 연결할 때 사용합니다.
  2. 데이터 컬럼을 알려줍니다. ( 데이터 타입 등 )
  3. 데이터 세부 내용을 보여 줍니다.

 

데이터가 가로형으로 되어 있기 때문에 태블로 피벗 기능을 활용해서 세로형 데이터로 만드어 주겠습니다.

 

시간의 모든 데이터를 선택해 준 후 피벗을 눌러줍니다.

피벗 필드명 ( 컬럼명 ), 피벗 필드 값( 혼잡도 )가 생성이 되면서 세로형 데이터가 생성이 되었습니다.

피벗 필드명을 시간, 피벗 필드 값을 혼잡도로 변경해 주도록 하겠습니다. 이제 간단한 전처리가 완료되었으니 시트로 이동해 보도록 하겠습니다.

데이터 범주형 ( 파란색 ), 연속형 ( 연두색 )으로 나눠져 있는 것을 볼 수 있습니다.

연변, 호선은 모두 숫자이지만 범주형 데이터로 볼 수 있기 때문에 드래그를 하여 파란색 부분으로 이동해 주도록 하겠습니다.


시간별 지하철 혼잡도 분석

 

시간대별 지하철 혼잡도를 알아보도록 하겠습니다. 물론 출근 / 퇴근 / 회식에 따른 혼잡도가 다르게 나타나게 될 것으로 생각이 드는데 그 가정이 맞는지 알아보도록 하겠습니다.

시간을 열에 호선을 행으로 혼잡도를 마크에 넣으니 다음과 같은 리포트가 나왔습니다. 숫자로를 가독성이 떨어지기 때문에 혼잡도를 크기로 만들어 주면 좋을 것 같습니다.

혼잡도를 드래그 하여 크기로 가져가도 되고 그림과 같이 맨 앞의 T를 눌러서 크기를 선택해 줘도 같은 결과가 나오게 됩니다.

이제 시간대별 호선의 혼잡도가 살짝 보이는 거 같습니다. 여기에 조사시간 ( 평일, 일요일, 토요일 )을 넣어서 범례를 만들어 보도록 하겠습니다.

평일, 토요일, 일요일이 원으로 나타나는 것을 볼 수 있습니다. 지금은 호선으로 집계가 되어 있기 때문에 각 역의 상황이 어떤지 알아보기 위해서 역을 세부정도에 넣어 보도록 하겠습니다.

조사일자 순서를 드래그 하여 변경해 주고 각 크기를 보니 평일에 혼잡도가 높은 역명 및 혼잡도가 높은 호선의 시간을 대략적으로 파악이 가능한 거 같습니다.


호선별 역별 혼잡도 분석

호선별 역별 시간대별 혼잡도를 알아보도록 하겠습니다.

 

시간을 열로 역명을 행으로 혼잡도를 행으로 넣어주자 역별로 막대그래프가 만들어 짐을 볼 수 있습니다. 해당 혼잡도는 상 / 하행선, 조사일자가 모두 되어 있어 상 / 하행선과 조사일자를 필터로 넣어 선택해 주면서 봐야 올바른 결과를 확인이 가능할 것 같습니다.

구분과 조사일자를 필터로 넣어주고 필터 표시 하여 필터가 나오도록 변경해 줍니다.

여러 선택이 가능하지만 단일 값( 목록 )으로 선택하여 하나씩 선택해서 볼 수 있도록 만들어 줍니다. 우선 조사일자는 평일, 구분은 내선으로 선택후 진행해 보도록 하겠습니다.

처음 시작할 때 좌석이 가득 차 있을때가 34%의 혼잡도 이므로 해당 숫자를 기준으로 참조선을 만들어 주도록 하겠습니다.

 

축의 우클릭 후 참조선 추가를 눌러 값에 34 상수로 변경을 하여 선택을 하여 줍니다.

회색의 참조선이 생선된 것을 볼 수 있습니다. 이제 기준선을 넘어서는 항목만 봤으면 좋겠고 참조선을 넘어가는 곳만 색이 표시되면 좋을 것 같습니다.

측정된 계산값을 만들어 주도록 하겠습니다. 측정값 아래 우클릭 후 계산된 필드 만들기...를 선택해 주도록 하겠습니다.

우측과 같은 창이 나오는데 원하는 값을 만들어 주기 위한 수식을 입력해 주면 됩니다.

if문을 사용하여 기준이상일 때와 그 외 일때의 값을 나눠서 구해 보도록 하겠습니다.

다음과 같이 입력을 해주면 혼잡도의 합계가 34 이상이면 34 아니면 null값을 반환해 달라는 수식입니다.

계산값의 이름을 혼잡구간으로 변경해 보도록 하겠습니다.

혼잡구간을 생상으로 넣고 불연속성으로 변경 후 혼잡구간을 행으로 넣은 후 이중축을 만들어 주고 축 동기화를 하면 다음과 같은 그래프가 만들어집니다.

아래쪽 진한 초록색을 옆에 그래프의 색과 동일하게 만들어주면 위쪽의  색만 다르게 나타내는 것이 가능할 것 같습니다.

데이터 항목 선택의 2번째 항목의 색을 복사한 후 세 번째 항목에 붙여 넣어 줍니다.

혼잡도의 색도 변경해 주고 혼잡도의 레이블을 넣어 주니 역별로 혼잡도의 시간을 알아보는 것이 가능합니다.

신대방, 신도림 등 출근 시간에 혼잡도가 높은 역들이 많이 보이는 것 같습니다.

728x90
반응형