[javascript] ApexCharts에서 차트에 클릭 링크 추가하기

ApexCharts는 JavaScript로 작성된 오픈 소스 차트 라이브러리입니다. 이 라이브러리를 사용하면 다양한 종류의 인터랙티브 차트를 만들 수 있습니다. 이번에는 ApexCharts를 사용하여 차트에 클릭 링크를 추가하는 방법에 대해 알아보겠습니다.

1. 클릭 이벤트 리스너 설정하기

먼저, ApexCharts 차트에 클릭 이벤트를 감지하기 위해 chart.events.click 이벤트 리스너를 설정해야 합니다. 아래의 예제 코드를 참고하여 클릭 이벤트를 처리하는 함수를 작성해보세요.

var options = {
  chart: {
    events: {
      click: function(event, chartContext, config) {
        // 클릭 이벤트 처리 코드를 작성하세요
        // event 객체와 chartContext를 사용하여 클릭한 위치 등의 정보를 얻을 수 있습니다
        // config는 클릭한 차트 요소의 구성 정보를 포함합니다
      }
    }
  },
  // 차트 구성 옵션들을 지정하세요
};

var chart = new ApexCharts(document.querySelector("#chart-container"), options);
chart.render();

위의 코드에서 chart.events.click 이벤트 리스너에서 클릭 이벤트를 처리하는 함수를 작성하면 됩니다. 여기서 event, chartContext, config 파라미터를 사용하여 클릭한 위치 등의 정보를 얻을 수 있습니다.

2. 클릭된 링크로 이동하기

차트에 클릭 링크를 추가하기 위해서는 클릭한 차트 요소에 해당하는 링크로 이동해야 합니다. 이를 위해서는 window.location.href 속성을 사용하여 클릭한 위치에 맞는 링크로 페이지를 이동하면 됩니다. 아래의 예제 코드를 참고하세요.

var options = {
  chart: {
    events: {
      click: function(event, chartContext, config) {
        var clickedElement = config.dataPointIndex; // 클릭한 차트 요소의 인덱스를 가져옵니다
        var link = ""; // 클릭한 차트 요소에 맞는 링크를 설정하세요
        
        switch (clickedElement) { 
          case 0:
            link = "/page1";
            break;
          case 1:
            link = "/page2";
            break;
          case 2:
            link = "/page3";
            break;
          // 클릭한 차트 요소에 따라 링크를 설정하세요
        }
        
        // 클릭한 링크로 페이지를 이동합니다
        window.location.href = link;
      }
    }
  },
  // 차트 구성 옵션들을 지정하세요
};

var chart = new ApexCharts(document.querySelector("#chart-container"), options);
chart.render();

위의 코드에서 clickedElement 변수에 클릭한 차트 요소의 인덱스를 할당하고, switch 문을 사용하여 해당하는 링크를 설정합니다. 그리고 window.location.href 속성을 사용하여 클릭한 링크로 페이지를 이동합니다.

이제 위의 예제 코드를 참고하여 ApexCharts에 클릭 링크를 추가해보세요. 차트를 클릭하면 설정한 링크로 페이지가 이동될 것입니다.

참고 자료