[javascript] 앵귤러와 데이터 시각화(차트) 라이브러리 연동

이번에는 앵귤러(Angular)와 데이터 시각화를 위한 차트 라이브러리를 연동하는 방법에 대해 알아보겠습니다. 시각화된 데이터를 통해 사용자에게 직관적인 정보 전달이 가능하며, 많은 데이터를 간결하게 보여주는 기능을 제공합니다.

차트 라이브러리 선택

여러 가지 차트 라이브러리 중에서 자신에게 적합한 라이브러리를 선택해야 합니다. 앵귤러와 호환되는 라이브러리를 선택하는 것이 중요합니다. 몇 가지 인기있는 앵귤러 차트 라이브러리는 다음과 같습니다.

앵귤러에 차트 라이브러리 설치

선택한 차트 라이브러리를 앵귤러 프로젝트에 설치해야 합니다. 대부분의 라이브러리는 npm(Node Package Manager)을 통해 설치할 수 있습니다. 예를 들어, Chart.js를 설치하기 위해 다음의 명령을 실행합니다.

npm install chart.js --save

앵귤러 컴포넌트에서 차트 사용

설치가 완료되면, 앵귤러 컴포넌트에서 해당 차트 라이브러리를 사용할 수 있습니다. 먼저, 차트를 표시할 HTML 템플릿을 작성합니다. 예를 들어, Chart.js를 사용하는 경우 다음과 같은 코드를 작성할 수 있습니다.

<canvas id="myChart" width="400" height="400"></canvas>

다음으로, 앵귤러 컴포넌트 클래스에서 차트를 초기화하고 데이터를 설정합니다. Chart.js 예제에서는 다음과 같은 코드를 사용할 수 있습니다.

import { Component, AfterViewInit } from '@angular/core';
import * as Chart from 'chart.js';

@Component({
  selector: 'app-chart',
  templateUrl: './chart.component.html',
  styleUrls: ['./chart.component.css']
})
export class ChartComponent implements AfterViewInit {
  private chart: any;

  ngAfterViewInit() {
    const canvas: any = document.getElementById('myChart');
    const ctx = canvas.getContext('2d');

    this.chart = new Chart(ctx, {
      type: 'bar',
      data: {
        labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
        datasets: [{
          label: '# of Votes',
          data: [12, 19, 3, 5, 2, 3],
          backgroundColor: 'rgba(75, 192, 192, 0.2)',
          borderColor: 'rgba(75, 192, 192, 1)',
          borderWidth: 1
        }]
      },
      options: {
        scales: {
          yAxes: [{
            ticks: {
              beginAtZero: true
            }
          }]
        }
      }
    });
  }
}

위의 코드에서는 Chart.js를 사용하여 바 차트를 초기화하고 데이터를 설정하는 예제입니다.

차트 렌더링

앵귤러 컴포넌트에서 차트를 렌더링하기 위해 HTML 템플릿에 <canvas> 요소가 필요합니다. 차트를 그리기 위한 데이터와 설정은 컴포넌트 클래스에서 처리합니다. 렌더링은 ngAfterViewInit() 메서드 내에서 수행됩니다.

마치며

앵귤러와 데이터 시각화(차트) 라이브러리를 연동하는 방법을 알아보았습니다. 선택한 라이브러리를 앵귤러에 설치하고, 컴포넌트에서 사용하여 시각화된 데이터를 제공하는 것은 매우 간단하고 유용합니다. 데이터를 시각적으로 표현하고 사용자에게 직관적인 정보를 전달하는 데 차트 라이브러리는 매우 유용한 도구입니다.

참고 자료