모아데이터 기업 과제 첫 날
나는 주어진 걸음수 json 데이터
를 이용해서 막대 그래프
를 그리는 부분을 맡았다.
저번 매드업 과제에서 차트를 다뤄봤지만, 막대 그래프는 해본 적이 없어 경험해보고자 이 부분을 담당했다.
차트는 victory.js
를 이용하기로 했다.
npm i --save victory
로 설치를 한다.VictoryChart
VictoryCharts
는 차트의 레이아웃을 제어한다.VictoryAxis
VictoryAxis
은 단독으로 사용하거나 VictoryChart
와 함께 구성할 수 있는 단일 축을 렌더링한다.dependentAxis
dependentAxis={false}
VictoryBar
VictoryChart
와 결합하여 bar chart를 만들 수 있다.이 코드들을 바탕으로 진행하기 전, json 데이터를 출력하기 위해 어떻게 진행할 지 결정해야 한다.
우선 날짜가 버튼 선택으로 하루, 일주일, 한 달 단위로 선택할 수 있으므로 startDate
와 endDate
를 받고, 여러 조건에 따라 데이터를 출력하면 된다.
1.
startDate
와endDate
가 같은 경우 (=오늘, 혹은 datepicker로 선택한 날)
- 같은 경우는 날짜가 같으므로 시간에 따라 그래프를 출력하면 된다.
2.
startDate
와endDate
가 다른 경우
- 다른 경우는 날짜에 따라 그래프를 출력하면 된다.
- 날짜의 경우, 하루의 총 걸음 수 데이터를 가져와야 하는데, 각 날짜의 마지막 데이터의 steps가 총 걸음 수이다.
startDate
와endDate
를 반복문으로 돌리면서 데이터가 없는 날짜는 새로 추가한다.
위의 조건을 바탕으로 내가 구현한 코드 설명은 아래와 같다.
그러면 아래와 같이 차트가 완성된다.
전체
일주일
하루
startDate와 endDate만 바꾸면 차트가 실시간으로 바뀐다.
내일은 차트 스타일 적용과 개인과제를 진행해야겠다.