我正在使用谷歌字符来绘制来自数据库的数据的饼图和条形图。我正在使用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。 由于它是DB中的饼图,因此它正在通过IF条件。如果我在谷歌浏览器中打开,它可以正常工作(它不会给出错误消息)。
如果我将图表设置为数据库中的条形图,则它在IE 9中有效。当它是条形图时,它会通过下面的javascript代码中的ELSE。
有没有人知道为什么当它通过IF(饼图)时,它会在IE 9中显示错误信息?