我正在使用 google chars 使用来自数据库的数据绘制饼图和条形图。我正在使用 PHP 和 JavaScript。
我有以下代码:
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart'], callback: function(){
// check what chart to draw (pie or bar chart)
if(tipoghs[0] == 'PICH')
{
// Create our data table out of JSON data loaded from server.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Ventas');
data.addColumn('number', titles[0]);
for(var i = 0;i < size;i++)
{
data.addRows([[dfilas[i], parseFloat(dcolumnas[i])]]);
}
// Set chart options
var options =
{
'title' : 'Cantidad Total de Entradas',
'width' : 400,
'height': 300,
backgroundColor: 'transparent',
chartArea:
{
left: "3%",
top: "10%",
height: "100%",
width: "70%"
}
};
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.PieChart(document.getElementById('ficContainer'));
chart.draw(data, options);
}
// check what chart to draw (pie or bar chart)
else if(tipoghs[0] == 'COCH')
{
// Create our data table out of JSON data loaded from server.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Ventas');
data.addColumn('number', titles[0]);
for(var i = 0;i < size;i++)
{
data.addRows([[dfilas[i], parseFloat(dcolumnas[i])]]);
}
// Set chart options
var options =
{
title: titles[0],
hAxis:
{
viewWindow:
{
min: [7, 30],
max: [17, 30]
}
},
vAxist:
{
title: "Meses"
}
};
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.ColumnChart(document.getElementById('ficContainer'));
chart.draw(data, options);
}
}
我正在执行 AJAX 调用以从服务器获取数据。来自数据库的数据点之一是如果我想绘制饼图或条形图(您可以在 javascript 代码中找到一个条件)。
出于某种原因,当我在 IE 9 上打开网站并将数据库中的数据点设置为饼图时,它给了我错误:给定大小不同于 0 的行。由于它是数据库中的饼图,它正在通过 IF 条件。如果我在 Google Chrome 中打开,它可以工作(它不会给出错误消息)。
如果我在数据库中将图表设置为条形图,它可以在 IE 9 中运行。当它是条形图时,它会通过下面的 javascript 代码中的 ELSE。
有谁知道为什么当它通过 IF(饼图)时,它会在 IE 9 中给出错误消息?