Change Chart type from dropdown - CanvasJS JavaScript Charts

Change Chart type from dropdown - CanvasJS JavaScript Charts

by canvasjs

HTML

<script src="http://canvasjs.com/assets/script/canvasjs.min.js"></script>
<br/><!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="chartContainer" style="height: 360px; width: 100%;"></div>

<div>Chart Type:
  <select id="chartType" name="Chart Type">
    <option value="line">Line</option>
    <option value="column">Column</option>
    <option value="bar">Bar</option>
    <option value="stackedColumn">Stacked Column</option>
    <option value="stackedBar">Stacked Bar</option>
  </select>  
</div>

JavaScript

var chart = new CanvasJS.Chart("chartContainer", {        
      data: [
      {
        type: "line",
        dataPoints: [
        { x: 10, y: 71 },
        { x: 20, y: 55 },
        { x: 30, y: 50 },
        { x: 40, y: 65 },
        { x: 50, y: 95 },
        { x: 60, y: 68 },
        { x: 70, y: 28 },
        { x: 80, y: 34 },
        { x: 90, y: 14 }
        ]
      },
      {
        type: "line",
        dataPoints: [
        { x: 10, y: 171 },
        { x: 20, y: 155 },
        { x: 30, y: 150 },
        { x: 40, y: 165 },
        { x: 50, y: 195 },
        { x: 60, y: 168 },
        { x: 70, y: 128 },
        { x: 80, y: 134 },
        { x: 90, y: 114 }
        ]
      }
      ]
    });

 chart.render();

var chartType = document.getElementById('chartType');
chartType.addEventListener( "change",  function(){
		for(var i = 0; i < chart.options.data.length; i++){
  			chart.options.data[i].type = chartType.options[chartType.selectedIndex].value;
  	}
  	chart.render();
});