tomzi
tomzi

Reputation: 1235

How to remove button from Highcharts

I'm creating charts with the Highcharts library and I wonder how to remove the 2 little buttons on the right corner which one you can print and download graphs and I'd like to add a new one.

Maybe someone could help me?

Upvotes: 92

Views: 92365

Answers (8)

Debra Saunders
Debra Saunders

Reputation: 1

The best way to do this is to update the exporting.buttons.contextButton.menuItems array to only include the menu items you want. Below is an example that excludes the "Print Chart" and "View Full Screen" options.

exporting: {
    buttons: {
        contextButton: {
            menuItems: ["downloadPNG", "downloadJPEG", "downloadPDF", "downloadSVG"]
        }
    }
}

Highcharts Example

Upvotes: 0

Renat Gatin
Renat Gatin

Reputation: 6394

Other option is: you can just remove import of "node_modules/highcharts/modules/exporting.js" from the whole project if you don't need it at all.

That was a solution for me!

Upvotes: 0

Ivan Ruski
Ivan Ruski

Reputation: 1270

exporting: {
    buttons: {
        contextButton: {
            enabled: false
        }
    }
}

You have to disable only the contextButton.

Upvotes: 9

Christopher R.
Christopher R.

Reputation: 667

The best way to replace the hamburger icon is to disable the navigation buttonOptions, then create your own menu and customize the context one by one as stated in the documentation. From here you can use any icon you want with your own dropdown menu.

This disables the hamburger icon.

navigation: {
buttonOptions: {
  enabled: false
  }
 }

This is how you customize export options for your own list.

$('#print').click(function() {
chart.print();
});
$('#pdf').click(function() {
chart.exportChart({
  type: 'application/pdf',
  filename: 'my-pdf'
 });
});
$('#png').click(function() {
chart.exportChart({
  type: 'image/png',
  filename: 'my-png'
 });
});
$('#jpeg').click(function() {
chart.exportChart({
  type: 'image/jpeg',
  filename: 'my-jpeg'
 });
});
$('#svg').click(function() {
chart.exportChart({
  type: 'image/svg+xml',
  filename: 'my-svg'
 });
});

jsfiddle

Upvotes: 9

Dan Ross
Dan Ross

Reputation: 85

@dgw has the right idea to remove the export buttons, but I wasn't happy with the "and I'd like to add a new one" suggestions until I realized I should just make the buttons outside the graph. Unless your data is static, you don't really know if there's room to display your controls.

<div id="container" style="height: 400px; min-width: 600px"></div>
<button id="button" class="autocompare">new button</button>

Upvotes: 0

Sasikumar
Sasikumar

Reputation: 888

exporting:false,

Add the above code to disable export option.

Upvotes: 1

Andre Sampaio
Andre Sampaio

Reputation: 131

Check this to create new button:

Example: http://jsfiddle.net/fXHB5/3496/

exporting: {
    buttons: [
        {
            symbol: 'diamond',
            x: -62,
            symbolFill: '#B5C9DF',
            hoverSymbolFill: '#779ABF',
            _titleKey: 'printButtonTitle',
            onclick: function() {
                alert('click!')
            }
        }
    ]
}

Upvotes: 13

dgw
dgw

Reputation: 13646

Try adding exporting: { enabled: false } to your chart generation.

Upvotes: 225

Related Questions