bind an onclick event and edit a point for line chart - Javascript Chart.js

Javascript examples for Chart.js:Line Chart

Description

bind an onclick event and edit a point for line chart

Demo Code

ResultView the demo in separate window

<html>
   <head> 
      <title>chart.js line 2.0</title> 
      <meta name="viewport" content="width=device-width, initial-scale=1"> 
      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.3/Chart.min.js"></script> 
   </head> 
   <body> 
      <canvas id="myChart" width="400" height="250"></canvas> 
      <script type="text/javascript">
var canvas = document.getElementById('myChart');
var data = {/*from   w  ww . j a  v  a2s.  c o m*/
    labels: ["January", "February", "March", "April", "May", "June", "July"],
    datasets: [
        {
            label: "My First dataset",
            fill: false,
            lineTension: 0.1,
            backgroundColor: "rgba(75,192,192,0.4)",
            borderColor: "rgba(75,192,192,1)",
            borderCapStyle: 'butt',
            borderDash: [],
            borderDashOffset: 0.0,
            borderJoinStyle: 'miter',
            pointBorderColor: "rgba(75,192,192,1)",
            pointBackgroundColor: "#fff",
            pointBorderWidth: 1,
            pointHoverRadius: 5,
            pointHoverBackgroundColor: "rgba(75,192,192,1)",
            pointHoverBorderColor: "rgba(220,220,220,1)",
            pointHoverBorderWidth: 2,
            pointRadius: 5,
            pointHitRadius: 10,
            data: [65, 59, 80, 0, 56, 55, 40],
        }
    ]
};
var option = {
   showLines: true,
  onClick: function(evt) {
    var element = myLineChart.getElementAtEvent(evt);
    if(element.length > 0)
    {
      var ind = element[0]._index;
      if(confirm('Do you want to remove this point?')){
        data.datasets[0].data.splice(ind, 1);
        data.labels.splice(ind, 1);
        myLineChart.update(data);
        }
      }
    }
};
var myLineChart = Chart.Line(canvas,{
   data:data,
  options:option
});
function adddata(){
   myLineChart.data.datasets[0].data[7] = 50;
  myLineChart.data.labels[7] = "test add";
  myLineChart.update();
}

      </script>  
   </body>
</html>

Related Tutorials