我在我的控制器中用c#创建一个数组,如下所示:
[["test", "atest", "btest", "ctest"],["1","2","3","4"]...]
所以它是一个数组数组。然后我将它传递给名为 ViewBag.TabComplet 的ViewBag中的View。 现在,我需要将该数据数组传递给谷歌图表vizualisation,如下所示:
google.load("visualization", "1", { packages: ["corechart"], callback: drawVisualization() });
function drawVisualization() {
var data = google.visualization.arrayToDataTable(@ViewBag.TabComplet);
var options = {
title: "Nombres d'incidents ouverts en Hotline en 2013",
vAxis: { title: "Cups" },
hAxis: { title: "Month" },
seriesType: "bars",
series: { 2: { type: "line"} },
colors: ["blue", "#01A9DB", "red"]
};
var chart = new google.visualization.ComboChart(document.getElementById("chart_div"));
chart.draw(data, options);
}
但不幸的是,它显示了一个错误说:意外令牌] 有人有解决方案吗?
答案 0 :(得分:0)
我找到了解决方案。对于那些感兴趣的人,javascript函数 arrayToDataTable 分析每列中的数据类型,如果要显示的数据不是int,则会显示错误并显示数据类型不正确。如果您想避免使用该功能,可以使用不同的功能 addRow , addColumn ,..来构建正确的数据数组。 根据这个,我在我的控制器中创建了一个函数,由ajax调用调用,它返回一个看起来像这样的JSON数组:
[["Mois","Nombre incidents","Nombre incidents pris en direct"],["Jan",15,2],["Fév",9,5],["Mar",14,3],["Avr",19,9],["Mai",9,8],["Juin",12,6],["Juil",13,5],["Aoû",4,3],["Sept",11,0],["Oct",0,0],["Nov",0,0],["Dec",0,0]]
如您所见,它是一个数组数组,其中第一个数组是每个后续数据的标签,然后每个数组的第一个值是一个字符串,它将是每个数据数组的Xaxis的标签。 / p>
您可以直接传递JSON作为图表的来源。您无需将其解析为javascript数组。