JavaScript
Highcharts.chart('container', {
chart: {
type: 'waterfall'
},
title: {
text: 'Stacked bar chart'
},
xAxis: {
categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
},
yAxis: {
min: 0,
title: {
text: 'Total fruit consumption'
}
},
legend: {
reversed: true
},
plotOptions: {
series: {
stacking: 'normal'
}
},
series: [{
upColor: Highcharts.getOptions().colors[2],
color: Highcharts.getOptions().colors[3],
data: [{
name: 'Start',
y: 120000
}, {
name: 'Product Revenue',
y: 569000
}, {
name: 'Service Revenue',
y: 231000
}, {
name: 'Positive Balance',
isIntermediateSum: true,
color: Highcharts.getOptions().colors[1]
}, {
name: 'Fixed Costs',
y: -342000
}, {
name: 'Variable Costs',
y: -233000
}, {
name: 'Balance',
isSum: true,
color: Highcharts.getOptions().colors[1]
}],
dataLabels: {
enabled: true,
formatter: function() {
return Highcharts.numberFormat(this.y / 1000, 0, ',') + 'k';
},
style: {
fontWeight: 'bold'
}
},
pointPadding: 0
}, {
upColor: "rgba(333,2,343,0.5)",
color: "rgba(33,2,33,0.5)",
data: [{
name: 'Start',
y: 14000
}, {
name: 'Product Revenue',
y: 369000
}, {
name: 'Service Revenue',
y: 121000
}, {
name: 'Positive Balance',
isIntermediateSum: true,
color: "rgba(0,0,3,0.5)"
}, {
name: 'Fixed Costs',
y: -242000
}, {
name: 'Variable Costs',
y: -133000
}, {
name: 'Balance',
isSum: true,
color: "rgba(0,0,3,0.5)"
}],
dataLabels: {
enabled: true,
formatter: function() {
return Highcharts.numberFormat(this.y / 1000, 0, ',') + 'k';
},
style: {
...