HighCharts - Pie Chart
by anikettiwari
HTML
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<div id="container" style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto"></div>
JavaScript
$(function () {
$('#container').highcharts({
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
type: 'pie'
},
title: {
text: 'Test all the things'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
borderWidth: 0,
//innerSize: 80,
innerSize: 0,
dataLabels: {
enabled: false
},
showInLegend: true,
slicedOffset: 20,
//depth: 45
point: {
events: {
legendItemClick: function (event) {
var seriesIndex = this.index;
var series = this.series.data;
var seriesList = this.series.data.map(function(element) {
return element.visible;
});
seriesList.splice(seriesIndex, 1);
debugger;
if ((this.visible) && (this.series.chart.restIsHidden != true)){
for (var i = 0; i < series.length; i++) {
if (series[i].index != seriesIndex) {
series[i].visible = false;
debugger;
}
}
series[seriesIndex].visible = true;
this.visible = true;
this.series.chart.restIsHidden = true;
debugger;
}
else if ((this.visible) && (seriesList.indexOf(true) !== -1)){
for (var i = 0; i < series.length; i++) {
if (this.series.data[i].index != seriesIndex) {
this.series.data[i].visible == true ? this.series.data[i].visible = true : this.series.data[i].visible = false;
}
}
this.visible = false;
if (series.map(function(element){ return element.visible } ).indexOf(false) !== -1) {
this.series.chart.restIsHidden = true;
}
else{
this.series.chart.restIsHidden = false;
}
}
else if((this.visible) &&...