var legenddistanceAirline = {};
var legenddistanceAlliance = {};
legenddistanceAlliance['OneWorld'] = 0;
legenddistanceAlliance['Star Alliance'] = 0;
legenddistanceAlliance['SkyTeam'] = 0;
legenddistanceAlliance['No Alliance'] = 14979;
legenddistanceAirline['Garuda Indonesia'] = 1817;
legenddistanceAirline['Indonesia AirAsia'] = 4713;
legenddistanceAirline['Lion Air'] = 430;
legenddistanceAirline['Air Asia'] = 368;
legenddistanceAirline['Air Asia X'] = 6382;
legenddistanceAirline['Citilink'] = 840;
legenddistanceAirline['Pelita Air'] = 429;
legenddistanceAirline['OneWorld'] = 0;
legenddistanceAirline['Star Alliance'] = 0;
legenddistanceAirline['SkyTeam'] = 0;
legenddistanceAirline['No Alliance'] = 14979;
$(function () {
var chart;
$(document).ready(function() {
var colors = Highcharts.getOptions().colors,
categories = ['No Alliance'],
name = 'Carriers',
data = [{
y: 100,
color: colors[3],
drilldown: {
name: 'No Alliance (14979)',
categories: ['Garuda Indonesia','Indonesia AirAsia','Lion Air','Air Asia','Air Asia X','Citilink','Pelita Air'],
data: [12.1,31.5,2.9,2.5,42.6,5.6,2.9],
color: colors[3]
}
}
];
// Build the data arrays
var allianceData = [];
var carrierData = [];
for (var i = 0; i < data.length; i++) {
// add browser data
allianceData.push({
name: categories[i],
y: data[i].y,
color: data[i].color
});
// add version data
for (var j = 0; j < data[i].drilldown.data.length; j++) {
var brightness = 0.2 - (j / data[i].drilldown.data.length) / 5 ;
carrierData.push({
name: data[i].drilldown.categories[j],
y: data[i].drilldown.data[j],
color: Highcharts.Color(data[i].color).brighten(brightness).get()
});
}
}
// Create the chart
chart = new Highcharts.Chart({
chart: {
renderTo: 'airline_distance',
type: 'pie'
},
title: {
text: ''
},
yAxis: {
title: {
text: ''
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true
},
showInLegend: false
}
},
tooltip: {
valueSuffix: '%'
},
series: [{
name: 'proportion',
data: allianceData,
size: '80%',
dataLabels: {
formatter: function() {
return this.y > 5 ? this.point.name : null;
},
color: 'white',
distance: -75
}
}, {
name: 'proportion',
data: carrierData,
innerSize: '80%',
dataLabels: {
formatter: function() {
// display only if larger than 1
return this.y > 1 ? ''+ this.point.name +': '+ this.y +
'%' + getCountdistance(this.point.name) : null;
}
}
}]
});
});
});
function getCountdistance(airline)
{
if(legenddistanceAirline[airline])
{
return " (" + parseInt(legenddistanceAirline[airline]).toLocaleString() + ")";
}
else
{
return "";
}
}