Hide zero values in FusionCharts using beforeDataUpdate event
HTML
<script src="http://static.fusioncharts.com/code/red/19835/FusionCharts.js"></script>
<div id="chartcontainer">Chart loads here!!</div>
JavaScript
FusionCharts.addEventListener("BeforeDataUpdate", function (ev, args) {
var definition = FusionCharts.transcodeData(args.data, 'XML', 'JSON'),
chartDef = definition && definition.chart,
dataset,
data,
i,
ii,
j,
jj;
if (!chartDef) {
return;
}
if (chartDef.hidezerovalues != 1 || chartDef.placevaluesinside != 1) {
return;
}
if (definition.data && definition.data.length) {
dataset = [{
data: definition.data
}];
}
else if (definition.dataset && definition.dataset.length) {
dataset = definition.dataset;
}
for (i = 0, ii = dataset && dataset.length || 0; i < ii; i++) {
data = dataset[i].data;
if (!(data && data.length)) {
continue;
}
for (j = 0, jj = data.length; j < jj; j++) {
if (data[j] && data[j].value == 0) {
data[j].value = "null";
}
}
}
args.data = FusionCharts.transcodeData(definition, "JSON", "XML");
});
var myChart = new FusionCharts({
type: "StackedColumn2D",
renderAt: "chartcontainer",
width: "650", height: "350",
dataFormat: FusionChartsDataFormats.JSON,
dataSource: {
caption: "Business Results 20012 vs 20013",
xaxisname: "Month",
yaxisname: "Revenue",
showvalues: "",
numberprefix: "$",
useroundedges: "1",
placevaluesinside: "1",
animation: "0",
hidezerovalues: "1",
categories: [{
category: [
{"label": "Jan"},
{"label": "Feb"},
{"label": "Mar"},
{"label": "Apr"},
{"label": "May"},
{"label": "Jun"},
{"label": "Jul"},
...