데이터 시각화는 데이터 분석 결과를 쉽게 이해할 수 있도록 도표라는 시각적 수단을 통해 정보를 효과적으로 전달하는 것을 말한다.
최근에 D3.js를 공부했는데, 생각보다 데이터 시각화 작업이 재미있어서 데이터 시각화 토이프로젝트를 진행했다. 그래프는 총 3가지 이다. (Bubble Map, Line Chart, Bar Chart) 틈틈히 시간날 때 새로운 종류의 그래프를 추가해나갈 예정이다. 대부분의 데이터는 kaggle에서 구했다.
데모는 여기에서 확인할 수 있다.
1. World Bubble Map
2. Multi Line Chart
3. Bar Chart
4. Scatter Plot
NaN
으로 나옴 -> Next.js는 SSR을 사용하기 때문에, document.documentElement.clientWidth
에서 width
이 undefined
이였다. 따라서 width
이 정의된 다음 pathGenerator에서 값을 받아왔다. (if(width)
)curveBasis
사용했는데 원인이 이거였다. curveMonotoneX
로 대체해서 해결했다.use-d3-transition
라이브러리를 사용하려고 했는데 cannot use import statement outside a module
에러가 떴다 -> 이유는 아직 못찾음React와 D3.js를 함께 사용할 때 조금 불편한 점이 있었다. 기존에 사용하던 대로 리액트 컴포넌트를 만들어서 그래프를 구성했는데, 이렇게 할 경우 d3.transition()
을 사용하기가 까다로웠다. DOM요소가 업데이트 될 때 d3와 리액트 모두 DOM을 컨트롤 하려고 하기 때문이였다. 일단 transition을 추가할 요소만 useEffect
를 통해서 DOM에 추가해서 transition을 사용했다.
alphabetize
정렬기능 추가
d3 레퍼런스 찾고있었는데 너무 좋은글이네요
잘보고 갑니다