javascript - 如何使用谷歌图表设置数组添加行
问题描述
我正在尝试从这些链接设置一个谷歌散点图页面......
https://developers.google.com/chart/interactive/docs/gallery/scatterchart 并在此处创建数据表... https://developers.google.com/chart/interactive/docs/drawing_charts#chart.draw
基本上我有基本的演示副本工作。现在我正在尝试用这样的时间和日期数据填充数据表......添加这样的行......
// Create the data table.
var data = new google.visualization.DataTable();
data.addColumn('number', 'Time');
data.addColumn('number', 'Date');
data.addRows([
// 这个原始文本有效 [22,5],[10,24],[9,5],[10,6],[10,7],[7,8]
// 但是我的 var - 数据库中的日期时间不起作用 //错误:给定的每一行都必须是 null 或数组。
约会时间 ]);
如果我手动输入:
[22,5],[10,24],[9,5],[10,6],[10,7],[7,8]
有用。
现在我正在尝试查询数据库 - 然后执行 .each 循环来获取数据......
//Query the database...
// query here..
datetime = "";
$.each(data, function(key, value) {
//note: each row comes in from the database like:
//thedate: "02/17/2018" thetime: "18:00:00"
//then I split to just get basic hour and day
t = value.thetime.split(":")
d = value.thedate.split("/")
//and create as numbers
tnum = parseInt(t[0]);
dnum = parseInt(d[1]);
//and add to the datetime var
datetime += "["+ dnum + ","+ tnum + "],"
// there was more code to eliminate last ","
// then the end result var datetime looks something like:
//[22,5],[10,24],[9,5],[10,6],[10,7],[7,8]
如果我手动将其粘贴到添加行区域 - 它可以工作,但是如果只是将日期时间变量粘贴到相同的添加行区域。错误说:
错误:给定的每一行必须为空或数组。
问:我确定我遗漏了一些基本的东西,例如图表需要可能显示为字符串的数字,或者我的数组错误或其他问题。为了让图表接受我的日期时间变量,有什么需要改变的吗?
解决方案
看起来您正在尝试从字符串创建一个数组,
而是使用一个实际的数组,它addRows
期望......
datetime = [];
$.each(data, function(key, value) {
t = value.thetime.split(":")
d = value.thedate.split("/")
tnum = parseInt(t[0]);
dnum = parseInt(d[1]);
datetime.push([dnum, tnum]);
});
data.addRows(datetime);
推荐阅读
- javascript - 为什么会这样?js计算
- php - 使用 Pusher 和 Vue.js 在 Laravel 聊天中出现错误 500 Axios POST 请求
- matlab - Matlab - 求解方程组时的 vpasolve 错误
- c++ - 在 .csv 文件的单独列中写入数据
- django - 如何按计算属性的总和对 Django 模型进行排序?
- python - 退格函数 print('\b') 不起作用
- jquery - 如何使用包含在它们之间有 html 空格的单词组
- html - Bootstrap Scrollspy 和视差
- javascript - 按长度过滤国家名称
- javascript - 邮递员和 angularjs 服务中的不同响应