Shadow/3D Effect in Line Charts - CanvasJS JavaScript Charts

Shadow/3D Effect in Line Charts - CanvasJS JavaScript Charts

by canvasjs

HTML

<script src="https://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>

JavaScript

var chart = new CanvasJS.Chart("chartContainer", {
	title: {
   	text: "Adding Shadow in Line Chart"
  },     
	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 }
		]
	}  
	]
});

chartRender(chart);

function chartRender(chart){
  chart.render();
  chart.ctx.shadowBlur = 8;
  chart.ctx.shadowOffsetX = 4;
  chart.ctx.shadowColor = "black";

  for (var i = 0; i < chart.plotInfo.plotTypes.length; i++) {
        var plotType = chart.plotInfo.plotTypes[i];
        for (var j = 0; j < plotType.plotUnits.length; j++) {
          var plotUnit = plotType.plotUnits[j];
          //For Line Chart
          if (plotUnit.type === "line"){
            chart.renderLine(plotUnit);
          }
          //For Spline Chart
          else if (plotUnit.type === "spline"){
            chart.renderSpline(plotUnit);
          }
          //For Stepline Chart
          else if (plotUnit.type === "stepLine"){
            chart.renderStepLine(plotUnit);
          }
        }
  }
  chart.ctx.shadowBlur = 0;
  chart.ctx.shadowOffsetX = 0;
  chart.ctx.shadowColor = "transparent";
}