Handling empty data
HTML
<script src="http://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="http://www.amcharts.com/lib/3/serial.js"></script>
<div id="chartdiv"></div>
CSS
#chartdiv {
width : 100%;
height : 500px;
}
JavaScript
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"dataProvider": [],
"valueAxes": [{
"title": "Income in millions, USD"
}],
"graphs": [{
"balloonText": "Income in [[category]]:[[value]]",
"fillAlphas": 1,
"lineAlpha": 0.2,
"title": "Income",
"type": "column",
"valueField": "income",
"labelText": "[[value]]",
"labelPosition": "middle"
}],
"depth3D": 20,
"angle": 30,
"rotate": true,
"categoryField": "year",
"categoryAxis": {
"gridPosition": "start",
"fillAlpha": 0.05,
"position": "left"
},
"exportConfig":{
"menuTop":"20px",
"menuRight":"20px",
"menuItems": [{
"icon": 'http://www.amcharts.com/lib/3/images/export.png',
"format": 'png'
}]
}
});
AmCharts.checkEmptyData = function (chart) {
if ( 0 == chart.dataProvider.length ) {
// set min/max on the value axis
chart.valueAxes[0].minimum = 0;
chart.valueAxes[0].maximum = 100;
// add dummy data point
var dataPoint = {
dummyValue: 0
};
dataPoint[chart.categoryField] = '';
chart.dataProvider = [dataPoint];
// set opacity of the chart div
chart.chartDiv.style.opacity = 0.5;
// redraw it
}
}
AmCharts.checkEmptyData(chart);