Make a new chart using a button for chart.js - Javascript Chart.js

Javascript examples for Chart.js:Chart Configuration

Description

Make a new chart using a button for chart.js

Demo Code

ResultView the demo in separate window

<html lang="en">
   <head> 
      <title>Chart.js Toggle Chart </title> 
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
      <style>
#barChart{//from   w  w  w.j av a2  s. c  o m
   background-color:rgba(255,255,255,0.1);
   border-radius: 6px;
}
.btn{
   color:black;
}


      </style> 
   </head> 
   <body translate="no"> 
      <div class="container"> 
         <br> 
         <div class="row"> 
            <div class="col-md-1"></div> 
            <div class="col-md-10"> 
               <canvas id="barChart"></canvas> 
            </div> 
            <div class="col-md-1"></div> 
         </div> 
         <br> 
         <div class="row"> 
            <div class="col-md-1"></div> 
            <div class="col-md-10">
               <button type="button" class="btn btn-success btn-md" onclick="toggleChart();">Toggle Chart </button>
            </div> 
            <div class="col-md-1"></div> 
         </div> 
      </div> 
      <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.2.1/Chart.min.js"></script> 
      <script>
      var canvas = document.getElementById("barChart");
var ctx = canvas.getContext('2d');

var chartType = 'bar';
var myBarChart;

Chart.defaults.global.defaultFontColor = 'grey';
Chart.defaults.global.defaultFontSize = 16;
var data = {
  labels: ["2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016"],
  datasets: [{
    label: "UFO Sightings",
    fill: true,
    lineTension: 0.1,
    backgroundColor: "rgba(0,255,0,0.4)",
    borderColor: "green", // The main line color
    borderCapStyle: 'square',
    pointBorderColor: "white",
    pointBackgroundColor: "green",
    pointBorderWidth: 1,
    pointHoverRadius: 8,
    pointHoverBackgroundColor: "yellow",
    pointHoverBorderColor: "green",
    pointHoverBorderWidth: 2,
    pointRadius: 4,
    pointHitRadius: 10,
    data: [10, 13, 17, 12, 30, 47, 60, 120, 230, 300, 310, 400],
    spanGaps: true,
  }]
};

var options = {
  scales: {
    yAxes: [{
      ticks: {
        beginAtZero: true
      }
    }]
  },
  title: {
    fontSize: 18,
    display: true,
    text: 'I want to believe !',
    position: 'bottom'
  }
};
init();
function init() {
  myBarChart = new Chart(ctx, {
    type: chartType,
    data: data,
    options: options
  });
}
function toggleChart() {
  myBarChart.destroy();
  this.chartType = (this.chartType == 'bar') ? 'line' : 'bar';
  init();
}
      </script>  
   </body>
</html>

Related Tutorials