ElementStacks
HTML
<script src="http://highcharts.com/js/testing-exporting.js"></script>
<div id="container" style="height: 300px; margin-top: 1em"></div>
<button id="button">Hide Series 1</button>
JavaScript
// Override export buttons so that latest chart state (series visibility) is exported
function syncSeriesVisibility() {
var i = chart.options.series.length;
while (i--) {
var series = chart.options.series[i];
series.visible = chart.get(series.id).visible;
console.log("syncSeriesVisibility", series.id, series.visible);
}
}
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container'
},
credits: {
enabled: false
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [9.9, 171.5, 206.4, 29.2, 344.0, 76.0, 35.6, 8.5, 216.4, 74.1, 65.6, 254.4],
name: "Series title 1",
id: "series1"
},{
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],
name: "Series title 2",
id: "series2"
}],
exporting: {
buttons: {
exportButton: {
menuItems: $.map(['image/png', 'image/jpeg', 'application/pdf', 'image/svg+xml'],
function(filetype, index){
return {
onclick: function() {
syncSeriesVisibility();
this.exportChart({type: filetype})
}
}
})
}
}
}
});
$("#button").click(function(){
chart.get("series1").hide();
console.log(chart.get("series1").visible)
});