无效数据 table 格式:google 条形图上必须至少有 2 列
Invalid data table format: must have at least 2 columns on google bar chart
此图表显示来自数据库的信息。如果没有从数据库中检索到结果,如何显示更加用户友好的消息或根本不绘制图表?我已经尝试在长度检查中放置用于绘制图表的代码行,但仍然显示错误消息。
google.charts.load('current', {'packages':['bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
$.getJSON('includes/get_info_bar_chart.php', function(jsonData){
var gglData = [];
if(jsonData.length > 0) {
// load column headings
var colHead = [];
Object.keys(jsonData[0]).forEach(function (key) {
colHead.push(key);
});
gglData.push(colHead);
// load data rows
jsonData.forEach(function (row) {
var gglRow = [];
Object.keys(row).forEach(function (key) {
gglRow.push(row[key]);
});
gglData.push(gglRow);
});
}
var data = google.visualization.arrayToDataTable(gglData);
var chart = new google.charts.Bar(document.getElementById('d_bar'));
chart.draw(data);
});
}
您可以在绘制图表之前检查数据中的行数table。
如果没有数据,则在图表的容器中显示一条消息。
var container = document.getElementById('d_bar');
var data = google.visualization.arrayToDataTable(gglData);
if (data.getNumberOfRows() > 0) {
var chart = new google.charts.Bar(container);
chart.draw(data);
} else {
container.innerHTML = 'No data found, nothing to see here...';
}
此图表显示来自数据库的信息。如果没有从数据库中检索到结果,如何显示更加用户友好的消息或根本不绘制图表?我已经尝试在长度检查中放置用于绘制图表的代码行,但仍然显示错误消息。
google.charts.load('current', {'packages':['bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
$.getJSON('includes/get_info_bar_chart.php', function(jsonData){
var gglData = [];
if(jsonData.length > 0) {
// load column headings
var colHead = [];
Object.keys(jsonData[0]).forEach(function (key) {
colHead.push(key);
});
gglData.push(colHead);
// load data rows
jsonData.forEach(function (row) {
var gglRow = [];
Object.keys(row).forEach(function (key) {
gglRow.push(row[key]);
});
gglData.push(gglRow);
});
}
var data = google.visualization.arrayToDataTable(gglData);
var chart = new google.charts.Bar(document.getElementById('d_bar'));
chart.draw(data);
});
}
您可以在绘制图表之前检查数据中的行数table。
如果没有数据,则在图表的容器中显示一条消息。
var container = document.getElementById('d_bar');
var data = google.visualization.arrayToDataTable(gglData);
if (data.getNumberOfRows() > 0) {
var chart = new google.charts.Bar(container);
chart.draw(data);
} else {
container.innerHTML = 'No data found, nothing to see here...';
}