Google TableChart不能很好地与页面上的其他图表配合使用
Google TableChart does not play well with other charts on page
我需要在同一页面上有一个谷歌表格图表与另一个谷歌图表共存,但唉,这并没有发生。 我只使用演示代码位,我可以让任何其他谷歌图表在同一页面上共存,但不能使用表格图表。 有几个问题被问到和回答了其他图表类型,但不是表格图表。 这似乎是此图表的错误。我使用"当前"版本来谷歌图表,我相信截至 2016 年 7 月 15 日为 43 个。
错误将发生在该行代码块末尾的行上;"var table = new google.visualization.Table(document.getElementById('table_div'));"
例外情况是;"第 51 行第 13 栏未处理的异常 http://localhost:62064/test.html0x800a01bd - JavaScript 运行时错误:对象不支持此操作"
---代码开始,这是问题的完整示例网页---
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>My Test Google Charts Page</title>
<!--Include for chart support-->
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", { packages: ["corechart"] });
google.charts.setOnLoadCallback(drawChart);
google.charts.setOnLoadCallback(drawTable);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['ID', 'X', 'Y', 'Temperature'],
['', 80, 167, 120],
['', 79, 136, 130],
['', 78, 184, 50],
['', 72, 278, 230],
['', 81, 200, 210],
['', 72, 170, 100],
['', 68, 477, 80]
]);
var options = {
colorAxis: { colors: ['yellow', 'red'] }
};
var chart = new google.visualization.BubbleChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
function drawTable() {
var data = new google.visualization.DataTable();
//debugger;
data.addColumn('string', 'Name');
data.addColumn('number', 'Salary');
data.addColumn('boolean', 'Full Time Employee');
data.addRows([
['Mike', { v: 10000, f: '$10,000' }, true],
['Jim', { v: 8000, f: '$8,000' }, false],
['Alice', { v: 12500, f: '$12,500' }, true],
['Bob', { v: 7000, f: '$7,000' }, true]
]);
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(data, { showRowNumber: true, width: '100%' });
}
</script>
</head>
<body>
<!--Table and divs that hold the pie charts-->
<table class="columns">
<tr>
<td><div id="chart_div" style="width: 900px; height: 500px;"></div></td>
</tr>
<tr>
<td><div id="table_div" style="width: 900px; height: 500px;"></div></td>
</tr>
</table>
</body>
</html>
---代码结束——
不需要
每个图表setOnLoadCallback
,
无论如何,这应该每页只调用一次......
在这里,我在load
声明中包括callback
,
绘制两个图表...
请参阅以下工作片段...
google.charts.load('current', {
callback: function () {
var data = google.visualization.arrayToDataTable([
['ID', 'X', 'Y', 'Temperature'],
['', 80, 167, 120],
['', 79, 136, 130],
['', 78, 184, 50],
['', 72, 278, 230],
['', 81, 200, 210],
['', 72, 170, 100],
['', 68, 477, 80]
]);
var options = {
colorAxis: { colors: ['yellow', 'red'] }
};
var chart = new google.visualization.BubbleChart(document.getElementById('chart_div'));
chart.draw(data, options);
var data = new google.visualization.DataTable();
//debugger;
data.addColumn('string', 'Name');
data.addColumn('number', 'Salary');
data.addColumn('boolean', 'Full Time Employee');
data.addRows([
['Mike', { v: 10000, f: '$10,000' }, true],
['Jim', { v: 8000, f: '$8,000' }, false],
['Alice', { v: 12500, f: '$12,500' }, true],
['Bob', { v: 7000, f: '$7,000' }, true]
]);
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(data, { showRowNumber: true, width: '100%' });
},
packages: ['corechart', 'table']
});
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<table class="columns">
<tr>
<td><div id="chart_div" style="width: 900px; height: 500px;"></div></td>
</tr>
<tr>
<td><div id="table_div" style="width: 900px; height: 500px;"></div></td>
</tr>
</table>
相关文章:
- 我如何才能让CasperJS和PhantomJS在约塞米蒂玩得很好
- 在Javascript中使用全局变量作为缓存是很好的
- 我在下拉列表中尝试了下一个和前五年的html代码.接下来的5年我都过得很好.我怎样才能拿到之前的5年
- JavaScript中的OOP太令人困惑了,ES6很棒,但没有得到很好的支持,该怎么办
- "此网站似乎使用滚动链接定位效果.这可能不能很好地与异步平移一起工作;
- html5:一个很好的加载方法
- mootools 1.4.2和angular 1.3在ie8中配合得很好
- Javascript是一个很好的日期选择器和时间选择器库
- JQuery插件不适用于codepen,在其他地方也很好
- Meteor findOne查询在一个模板助手中返回未定义的结果.在其他模板助手中,同样的查询也能很好地工作
- 它本身很好,但当我把它放在我的其他形式时就会爆炸
- API不共享URL链接(其他数据很好)
- FabricJS没有给我movementX和movementY在IE中平移图像,但它在其他浏览器中工作得很好
- 引导导航,长链接在IE上走两行,在其他地方很好.如何修复
- setInterval在Chrome中工作一次,但在其他浏览器中很好
- Angular JS过滤UNIX时间,认为它是1970年,其他都很好
- jQuery应用程序锁定IE8完全|工作在其他一切都很好
- Javascript在索引页上加载得很好,但在其他页面上则不行
- 为什么它不适用于阶级".1〃;在数组中,并且可以很好地用于其他类
- Google TableChart不能很好地与页面上的其他图表配合使用