将数据库数组传递给 flot
passing database array to flot
我有一个 php 文件,其中 returns 一个 json 编码的数组数组,格式如下:
[["2005","93"],["2006","98"],["2007","104"],["2008","120"],["2009","88"],["2010","104"],["2011","78"],["2012","96"],["2013","89"],["2014","100"],["2015","20"]]
我想在浮点图中使用这些数据,但什么也没有发生。这是我的 jquery 浮动代码(带有浮动轴标签)。 #byYear 是我的 html 中的 div 图表所在的位置:
$.post('php/get_peoplebyyear.php',
function(output){
$(function () {
var options = {
xaxis: {
axisLabel: 'year',
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 20,
axisLabelFontFamily: 'Arial'
},
yaxis: {
axisLabel: 'number',
axisLabelUseCanvas: true
}
};
console.log(output);
$.plot($("#byYear"),
[output],
options
);
});
});
当我使用这段代码时,我的图表上没有出现任何点。这可能是我的一个小错误,但是请告诉我我做错了什么?
数据格式正确,但您的回调函数有误。删除
$(function () {
开始和一个
});
在函数结束时。
这就是我解决它的方法 - 基本上,flot 没有将我的数据库查询的输出解释为数组的数组,即使我将我的数据库查询的输出复制并粘贴到 flot 代码中,浮图有效。
所以我所做的是创建两个数组,数据和坐标。然后我 json 解析数据库输出并输入坐标,一次一对输入坐标,然后将每个坐标推送到数据中:
$.post('php/get_myprogram.php',
function(output){
var obj = jQuery.parseJSON( output );
var data = [];
var coordinate = [];
for (var i = 0; i< obj.length; i++) {
coordinate.push(obj[i][0]);
coordinate.push(obj[i][1]);
data.push(coordinate);
coordinate = [];
}
var options = {
xaxis: {
axisLabel: 'year',
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 20,
axisLabelFontFamily: 'Arial'
},
yaxis: {
axisLabel: 'number',
axisLabelUseCanvas: true
}
};
$.plot($("#byYear"),
[data],
options
);
});
我有一个 php 文件,其中 returns 一个 json 编码的数组数组,格式如下:
[["2005","93"],["2006","98"],["2007","104"],["2008","120"],["2009","88"],["2010","104"],["2011","78"],["2012","96"],["2013","89"],["2014","100"],["2015","20"]]
我想在浮点图中使用这些数据,但什么也没有发生。这是我的 jquery 浮动代码(带有浮动轴标签)。 #byYear 是我的 html 中的 div 图表所在的位置:
$.post('php/get_peoplebyyear.php',
function(output){
$(function () {
var options = {
xaxis: {
axisLabel: 'year',
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 20,
axisLabelFontFamily: 'Arial'
},
yaxis: {
axisLabel: 'number',
axisLabelUseCanvas: true
}
};
console.log(output);
$.plot($("#byYear"),
[output],
options
);
});
});
当我使用这段代码时,我的图表上没有出现任何点。这可能是我的一个小错误,但是请告诉我我做错了什么?
数据格式正确,但您的回调函数有误。删除
$(function () {
开始和一个
});
在函数结束时。
这就是我解决它的方法 - 基本上,flot 没有将我的数据库查询的输出解释为数组的数组,即使我将我的数据库查询的输出复制并粘贴到 flot 代码中,浮图有效。
所以我所做的是创建两个数组,数据和坐标。然后我 json 解析数据库输出并输入坐标,一次一对输入坐标,然后将每个坐标推送到数据中:
$.post('php/get_myprogram.php',
function(output){
var obj = jQuery.parseJSON( output );
var data = [];
var coordinate = [];
for (var i = 0; i< obj.length; i++) {
coordinate.push(obj[i][0]);
coordinate.push(obj[i][1]);
data.push(coordinate);
coordinate = [];
}
var options = {
xaxis: {
axisLabel: 'year',
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 20,
axisLabelFontFamily: 'Arial'
},
yaxis: {
axisLabel: 'number',
axisLabelUseCanvas: true
}
};
$.plot($("#byYear"),
[data],
options
);
});