Search code examples
angulartypescriptchart.jspie-chart

Facing difficulty in opening a dialog from onClick event on a pie chart in angular 8 (using chart.js)


I am using chart.js pie chart to display some data and I want to open a dialog box when a pie slice is clicked.So far i have been successful in getting the required data in an alert on slice click, but am confused as to how can i get this data in a dialog box.

 'onClick': function(e) {
          var activePoints = this.getElementsAtEvent(e);
          var firstPoint = activePoints[0];
          console.log(firstPoint)
          var label = this.data.labels[firstPoint._index];
          var list = this.data.list;
          if (firstPoint!= undefined) {
            for (let i = 0; i< list.length; i++) {
              if (label === list[i].label) {
                console.log(list[i].value);
                alert(label + ":" + list[i].value);
                
<chart type="pie" [data]="data" [options]="options"></chart>


Solution

  •   var  chart =  new  CanvasJS.Chart("container",
    {
     .
     .
     data: [{
    
      click: function(e){
        alert(  e.dataSeries.type+ ", dataPoint { x:" + e.dataPoint.x + ", y: "+ e.dataPoint.y + " }" );
       },
    
      },
     ]
     .
     .
    });
    chart.render();