[javascript] D3.js를 사용하여 어떻게 자원 및 재활용 데이터를 시각화하는가?

D3.js는 데이터 시각화를 위한 강력한 JavaScript 라이브러리입니다. 이를 사용하여 자원 및 재활용 데이터를 시각화하는 방법을 알아보겠습니다.

1. 필요한 데이터 준비하기

먼저 시각화할 자원 및 재활용 데이터를 준비해야 합니다. 이는 CSV 파일, JSON 객체 또는 API에서 가져온 데이터 등 다양한 형식으로 제공될 수 있습니다.

2. D3.js 라이브러리 추가하기

D3.js를 사용하기 위해 HTML 문서에 D3.js 라이브러리를 추가해야 합니다. <script> 태그를 사용하여 D3.js의 CDN 링크를 추가하거나, 웹 서버에서 직접 D3.js 파일을 로드할 수 있습니다.

<script src="https://d3js.org/d3.v7.min.js"></script>

3. SVG 요소 생성하기

D3.js는 SVG(Scaleable Vector Graphics)를 사용하여 시각화를 위한 그래픽 요소를 생성합니다. SVG 요소를 생성하기 위해 HTML 문서에 <svg> 태그를 추가합니다. 이 때, 넓이와 높이 값 등 필요한 속성을 설정할 수 있습니다.

<svg id="chart" width="500" height="300"></svg>

4. 데이터 불러오기

D3.js는 데이터를 불러오기 위해 d3.csv(), d3.json(), d3.tsv() 등 다양한 메서드를 제공합니다. 예를 들어, CSV 파일에서 데이터를 불러오는 코드는 다음과 같습니다.

d3.csv("data.csv").then(function(data) {
  // 데이터 처리 및 시각화 로직 작성
});

5. 데이터 시각화하기

데이터를 불러온 후에는 D3.js를 사용하여 시각화를 수행합니다. 이를 위해 D3.js에서 제공하는 다양한 메서드와 함수를 활용할 수 있습니다. 예를 들어, 막대 그래프를 생성하는 코드는 다음과 같습니다.

var svg = d3.select("#chart");

svg.selectAll("rect")
  .data(data)
  .enter()
  .append("rect")
  .attr("x", function(d, i) {
    return i * 50;
  })
  .attr("y", function(d) {
    return svg.attr("height") - d.value;
  })
  .attr("width", 40)
  .attr("height", function(d) {
    return d.value;
  });

6. 그래프 스타일링하기

생성된 그래프의 스타일을 지정하여 보다 시각적으로 표현할 수 있습니다. D3.js에서는 .attr(), .style() 등의 메서드를 사용하여 그래프 요소의 속성 및 스타일을 조작할 수 있습니다.

svg.selectAll("rect")
  .attr("fill", "steelblue")
  .attr("stroke", "black")
  .style("opacity", 0.7);

7. 결과 확인하기

HTML 문서를 웹 브라우저에서 실행하여 자원 및 재활용 데이터가 시각화된 그래프를 확인할 수 있습니다. 필요에 따라 그래프를 추가 수정하여 자신만의 시각화를 구현할 수 있습니다.

참고 자료