Showing No Data Found Message - CanvasJS JavaScript Charts
Showing No Data Found Message when all y values are zero or null or no data present- CanvasJS JavaScript Charts
by canvasjs
HTML
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<br/>
<!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="chartContainer" style="height: 360px; width: 100%;"></div>
JavaScript
var chart = new CanvasJS.Chart("chartContainer", {
theme: "theme2",
title: {
text: "Gaming Consoles Sold in 2012"
},
data: [{
type: "pie",
showInLegend: true,
toolTipContent: "{y} – #percent %",
yValueFormatString: "#,##0,,.## Million",
legendText: "{indexLabel}",
dataPoints: [
{ y: 0, indexLabel: "PlayStation 3" },
{ y: 0, indexLabel: "Wii" },
{ y: 0, indexLabel: "Xbox 360" },
{ y: 0, indexLabel: "Nintendo DS"},
{ y: 0, indexLabel: "PSP" },
{ y: 0, indexLabel: "Nintendo 3DS"},
{ y: 0, indexLabel: "PS Vita"}
]
}]
});
showDefaultText(chart, "No Data Found!");
chart.render();
function showDefaultText(chart, text){
var dataPoints = chart.options.data[0].dataPoints;
var isEmpty = !(dataPoints && dataPoints.length > 0);
if(!isEmpty){
for(var i = 0; i < dataPoints.length; i++){
isEmpty = !dataPoints[i].y;
if(!isEmpty)
break;
}
}
if(!chart.options.subtitles)
chart.options.subtitles = [];
if(isEmpty)
chart.options.subtitles.push({
text : text,
verticalAlign : 'center',
});
else
chart.options.subtitles = [];
}