Custom export button in Highcharts - Javascript highcharts

Javascript examples for highcharts:Chart Configuration

Description

Custom export button in Highcharts

Demo Code

ResultView the demo in separate window

<html>
   <head> 
      <title>Highcharts Demo</title> 
      <meta name="viewport" content="width=device-width, initial-scale=1"> 
      <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.js"></script> 
      <script type="text/javascript">
$(function() {/*from  w ww  . j a v  a 2 s  . c o  m*/
  var smallCirclesSpacing = [0.65, 1, 1.35];
  Highcharts.Chart.prototype.callbacks.push(function(chart) {
    var exportElements = chart.exportSVGElements,
      exportButton = exportElements[0],
      cx = exportButton.width / 2,
      cy = exportButton.height / 2,
      r = cx,
      renderer = chart.renderer;
    exportElements.push(renderer.circle({
      cx: cx,
      cy: cy,
      r: r,
      fill: '#ADD8E6'
    }).add(exportButton));
    [0.65, 1, 1.35].forEach(scx => {
      exportElements.push(renderer.circle({
        cx: scx * cx,
        cy: cy,
        r: r * 0.12,
        fill: 'white'
      }).add(exportButton));
    });
  });
  Highcharts.chart('container', {
    credits: {
      enabled: false
    },
    xAxis: {
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },
    series: [{
      data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    }],
    exporting: {
      buttons: {
        contextButton: {
          symbol: null,
          height: 50,
          width: 50,
        }
      }
    },
  });
});

      </script> 
   </head> 
   <body> 
      <script src="https://code.highcharts.com/highcharts.js"></script> 
      <script src="https://code.highcharts.com/modules/exporting.js"></script> 
      <div id="container" style="height: 400px; margin-top: 1em"></div>  
   </body>
</html>

Related Tutorials