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"},
            ...