为什么';t flot是否使用(x,y)值数组?Javascript对象与数组?
我正在使用一些php脚本创建一个flot图。php生成数据,并使用为什么';t flot是否使用(x,y)值数组?Javascript对象与数组?,javascript,jquery,flot,Javascript,Jquery,Flot,我正在使用一些php脚本创建一个flot图。php生成数据,并使用json\u encode将该数据传递给一些javascript flot代码,我使用jQuery.parseJson进行解析 我使用的是填充了(x,y)值的数据-数组。策划这个似乎不起作用。如果我将数组封装在一个对象中,flot就可以毫无问题地绘制它。为什么第一种方法不起作用?我在下面添加了一个jsFiddle var data = '[["201518","1"],["201519","3"],["201520","6"]]'
json\u encode
将该数据传递给一些javascript flot代码,我使用jQuery.parseJson
进行解析
我使用的是填充了(x,y)值的数据-数组。策划这个似乎不起作用。如果我将数组封装在一个对象中,flot就可以毫无问题地绘制它。为什么第一种方法不起作用?我在下面添加了一个jsFiddle
var data = '[["201518","1"],["201519","3"],["201520","6"]]',
data2 = '{"data":[["201518","1"],["201519","3"],["201520","6"]]}';
var set = jQuery.parseJSON(data),
set2 = jQuery.parseJSON(data2);
var placeholder = $('#placeholder');
$.plot(placeholder, [set2.data]);
//$.plot(placeholder, set); <= not working? Why?
var数据='[“201518”、“1”]、[“201519”、“3”]、[“201520”、“6”],
数据2=“{”数据“:[“201518”,“1”],[“201519”,“3”],[“201520”,“6”]}”;
var set=jQuery.parseJSON(数据),
set2=jQuery.parseJSON(data2);
变量占位符=$(“#占位符”);
$.plot(占位符[set2.data]);
//$.plot(占位符,集合) 您需要传递一个数组:
$.plot(placeholder, [set])
// instead of `$.plot(placeholder, set)`
两个问题。首先,当作为数组传递时,需要的是数字,而不是字符串(请参见其中的说明)
注意,为了简化Flot中的内部逻辑,x和y
值必须是数字(即使指定了时间序列,有关详细信息,请参见下文)
这是一个常见的问题,因为您可能会检索
将数据库中的数据直接序列化为JSON,而无需
注意到错误的类型。如果你有神秘的错误,加倍
检查您输入的是数字而不是字符串
其次(正如另一个答案中所指出的),您需要[array]环绕集合。以下工作:
$(document).ready(function () {
var data = '[[201518,1], [201519,3], [201520,6]]',
data2 = '{"data":[["201518","1"],["201519","3"],["201520","6"]]}';
var set = jQuery.parseJSON(data),
set2 = jQuery.parseJSON(data2);
var placeholder = $('#placeholder');
//$.plot(placeholder, [set2.data]);
$.plot(placeholder, [set]);
});
请参阅-在数组格式中,它们必须是数字而不是字符串。但是,这似乎并不能解决问题。