Customizing Zoom and Pan button- CanvasJS JavaScript Charts

Customizing Zoom and Pan button- 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>

CSS

.canvasjs-chart-toolbar {
  border: none !important;
}

.myButton {
	background-color: #599bb3 !important;
  width: auto !important;
	-moz-border-radius: 28px;
	-webkit-border-radius: 28px;
	border-radius: 28px;
	border: 1px solid #000 !important;
	cursor: pointer;
	color: #ffffff !important;
	font-family: Arial;
	font-size: 17px;
  margin-left: 3px !important;
	text-decoration: none !important;
	text-shadow: 0px 1px 0px #2f6627;
}

.myButton:hover {
	background-color: #476e9e !important;
}

.canvasjs-chart-toolbar .myButton img {
	display: none;
}

JavaScript

var dataPoints = [];
var y = 0;
for (var i = 0; i < 100; i += 1) {
  y += (Math.random() * 10 - 5);
  dataPoints.push({
    x: i - 100 / 2,
    y: y                
  });
}

var chart = new CanvasJS.Chart("chartContainer",
                               {
  title: {
    text: "Customized Zoom and Pan Buttons"
  },
  zoomEnabled:true,
  data: [
    {
      type: "spline",
      dataPoints: dataPoints
    }
  ]
});
chart.render();

$('.canvasjs-chart-toolbar button:eq(0)').append('<span>Pan</span>');
$('.canvasjs-chart-toolbar button:eq(1)').append('<span>Restore</span>');

$('.canvasjs-chart-toolbar button:eq(0)').addClass('myButton').click(function() {
  if($(this).hasClass('clicked')) {
    $(this).append('<span>Pan</span>').removeClass('clicked');
  } else {
    $(this).append('<span>Zoom</span>').addClass('clicked');
  }	
});

$('.canvasjs-chart-toolbar button:eq(1)').addClass('myButton').click(function() {
  if($('.canvasjs-chart-toolbar button:eq(0)').children('span').length != 0)
    $('.canvasjs-chart-toolbar button:eq(0)').removeClass('clicked').children('span').text('Pan');
  else 
    $('.canvasjs-chart-toolbar button:eq(0)').append('<span>Pan</span>').removeClass('clicked');
});