添加Google图表功能到对象
Adding Google Chart function to Objects
我正在尝试将Google Charts功能添加到对象中。我已经在NetBeans中测试了以下代码,它可以给它任意的数据数组:
google.setOnLoadCallback(costChart);
function costChart() {
var energyType = 'Monthly Cost';
var energySavings = [1,2,3,4,5,6,7,8,9,10,11,12]; //=this.costSavings
var month = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];
// Create the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Month');
data.addColumn('number', energyType + ' Saved');
data.addRows([
[month[0], energySavings[0]],
[month[1], energySavings[1]],
[month[2], energySavings[2]],
[month[3], energySavings[3]],
[month[4], energySavings[4]],
[month[5], energySavings[5]],
[month[6], energySavings[6]],
[month[7], energySavings[7]],
[month[8], energySavings[8]],
[month[9], energySavings[9]],
[month[10], energySavings[10]],
[month[11], energySavings[11]]
]);
// Set chart options
var options = {'title': 'Cost Savings',
'width':400,
'height':300,
'hAxis':{format: 'currency'}
};
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.BarChart(document.getElementById('cost_chart_div'));
chart.draw(data, options);
}
然而,我想把它放在一个对象中作为一个方法来使用,类似于this. costchart()。它将访问对象内的数据,而不是任意数据,就像注释掉的this。第三行代码中的costSavings。
当我将其设置为对象方法时,我得到错误:"Uncaught ReferenceError: google is not defined"
关于如何正确设置这个方法有什么想法吗?
追问:我添加了一行代码:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script>
function run(){
costChart();
}
但我仍然得到相同的"谷歌未定义"错误。我试过将脚本添加到部分,但它仍然没有。我已经尝试通过将对象作为参数传递给它来单独调用函数,但仍然是相同的错误。我有一种感觉,这可能是由于我应该包括的方式:
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(costChart);
,但我不太确定在哪里/如何在函数中包含这些。它们是在脚本的顶部,还是在调用costChart()的函数中,还是在costChart()函数本身中,等等?
你得到"google is not defined"因为你需要在你的代码的顶部:
<div id="cost_chart_div"> </div>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
一旦你有了这个地方,你应该没有麻烦做你想要的这个。costsavings .
相关文章:
- 正在加载具有相同功能的多个对象
- .on(“单击”,..)不处理使用相同的单击功能创建的对象
- 为什么这个功能打印“;未定义的未定义的“;作为联系人名称,添加“新对象”
- 如何在对象上实现类似拼接的功能
- 是否有将基于字符串的JSON转换为Mongoose Schema对象实例的本地功能
- 如何使用自定义功能覆盖时间轴对象.js时间轴对象的_repaintMinorText
- 从对象旋转对象.带有自定义动画功能的trix.setrotationfromleuler
- JavaScript清理“”中引用的(本地)对象;延迟的“;功能
- 日志记录功能/对象名称's在函数堆栈内的javascript中
- 使用 JavaScript 中的对象的哈希表功能
- 自动完成功能,用于按属性搜索 json 对象
- 这是一个功能声明、表达式和对象吗?
- Javascript - 更快的功能:线性列表搜索或获取对象值
- 向角度对象添加动态功能
- 是否有类似 .push 的功能可以动态地向对象添加值
- 如何根据茉莉花单元测试中的其他对象测试功能
- 允许向对象添加和删除功能的设计模式
- Javascript点击功能不起作用.在输出中显示错误 [对象对象]
- 如何在GWT(或Java AWT Swing)中使用相同的事件处理程序对相同类型的多个对象执行相同的功能
- 触发通过swfoject'嵌入的flash对象功能;s嵌入SWF