我正在使用谷歌可视化,我正试图解决一些问题。这对我来说似乎很简单,但我似乎无法找到适合Javascript的文档,也无法在Google文档中找到能够让我清楚知道如何执行此操作的文档。
现在我的js文件中有一个函数,如下所示:
function drawChart(raw,columns,options,chart) {
var data = new google.visualization.arrayToDataTable(JSON.parse(raw));
var view = new google.visualization.DataView(data);
view.setColumns(columns);
chart.draw(view, options);
}
除了构造函数的一个令人讨厌的问题之外,它看起来很好和很好
看看函数的示例调用:
drawChart(grabarray("?warid="+warid+"&type=0"),[0, 1,{ calc: "stringify", sourceColumn: 1,type: "string",role: "annotation" },2],
{
title: "Attempted actions by player",
},new google.visualization.BarChart(destination);
(注意AJAX正在正常完成,但我将其剪切以使示例更有意义)
正如您在上面所见,我被迫在javascript中直接使用以下行:
new google.visualization.BarChart(destination)
当我想在我的AJAX回归中包含值“BarChart”时,我可以做这样的事情
new google.visualization("BarChart",destination)
这使我能够使用相同的drawChart函数调用create all google visualization。
TL:DR,如何动态调用构造函数来实现此目的:
new google.visualization("BarChart",destination)
new google.visualization("PieChart",destination)
new google.visualization("LineGraph",destination)
答案 0 :(得分:0)
尝试这样......
new google.visualization["BarChart"](destination)