[javascript] Chartist에서 차트의 데이터 검색 및 필터링하기

Chartist는 JavaScript로 작성된 간단하고 유연한 차트 라이브러리입니다. 이 라이브러리를 사용하여 데이터를 시각화하고 인터랙티브한 차트를 만들 수 있습니다. 이번 글에서는 Chartist를 사용하여 차트에 데이터를 검색하고 필터링하는 방법에 대해 알아보겠습니다.

데이터 준비하기

Chartist를 사용하기 전에 데이터를 준비해야 합니다. 예를 들어, 다음과 같이 데이터를 배열로 정의할 수 있습니다.

var data = [
  {x: 1, y: 10},
  {x: 2, y: 20},
  {x: 3, y: 30},
  {x: 4, y: 40},
  {x: 5, y: 50}
];

위 예제에서 x는 x축의 값을, y는 y축의 값을 나타냅니다.

데이터 검색하기

Chartist에서 데이터를 검색하기 위해서는 filter 함수를 사용해야 합니다. filter 함수를 사용하면 특정 조건에 맞는 데이터만 선택할 수 있습니다. 예를 들어, 다음과 같이 y 값이 30보다 큰 데이터를 검색할 수 있습니다.

var filteredData = data.filter(function(item) {
  return item.y > 30;
});

위 예제에서 filteredData 변수에는 y 값이 30보다 큰 데이터만 포함되어 있습니다.

차트에 데이터 반영하기

검색한 데이터를 차트에 반영하기 위해서는 데이터를 Chartist에서 사용하는 형식으로 변환해야 합니다. Chartist에서는 데이터를 배열 형식 대신 labelsseries로 이루어진 객체 형태로 사용합니다. 예를 들어, 위에서 검색한 데이터를 Chartist에서 사용할 수 있도록 변환하면 아래와 같습니다.

var chartData = {
  labels: filteredData.map(function(item) {
    return item.x;
  }),
  series: [filteredData.map(function(item) {
    return item.y;
  })]
};

위 예제에서 labels에는 x축의 값을, series에는 y축의 값을 배열로 포함시킵니다.

차트로 데이터 표시하기

변환한 데이터를 사용하여 Chartist에서 차트를 생성하고 데이터를 표시할 수 있습니다. 아래는 Chartist를 사용하여 차트를 그리는 간단한 예제입니다.

new Chartist.Line('.chart', chartData);

위 예제에서 .chart는 차트를 그릴 HTML 요소의 클래스 이름을 나타냅니다. chartData는 위에서 변환한 데이터를 의미합니다.

결론

이제 Chartist를 사용하여 데이터를 검색하고 필터링하여 차트에 표시하는 방법을 알아보았습니다. Chartist는 유연하고 간단한 사용법으로 다양한 차트를 그릴 수 있습니다. 데이터를 시각화하고 인터랙티브한 차트를 만들고 싶다면 Chartist를 고려해보시기 바랍니다.

참고 자료