Javascript返回Flot图对象
可以吗?我在征求意见。我有返回javascript对象的函数Javascript返回Flot图对象,javascript,jquery,flot,Javascript,Jquery,Flot,可以吗?我在征求意见。我有返回javascript对象的函数 function get_temp(){ var datasets_temp = { "sens1": {data: [[1340803113,22.9],[1340803474,23],[1340803836,23],[1340804197,23.1]] }, "sens2": {data: [[1340846482,23],[1340846843,23],[134084720
function get_temp(){
var datasets_temp = {
"sens1": {data: [[1340803113,22.9],[1340803474,23],[1340803836,23],[1340804197,23.1]] },
"sens2": {data: [[1340846482,23],[1340846843,23],[1340847204,23],[1340847566,23]] },
"sens3": {data: [[1340868157,23.1],[1340868518,22],[1340868879,23.2],[1340869241,23.2]] }};
return datasets_temp;
}
绘制图形:
var plot = $.plot($("#temp_graph"), get_temp(), $.extend(true, {}, options, {
xaxis: {min: 0, max: 50}}));
我不知道问题出在哪里,为什么它不工作。您的思路是正确的,但是序列数据需要是序列对象的数组,而不仅仅是一个对象,每组数据都是它的属性 你应该有这样的东西:
var dataset_temp = [ //an array
{ //of series objects
label: 'sens1',
data: [[1340803113,22.9],[1340803474,23],[1340803836,23],[1340804197,23.1]]
},
{
label: 'sens2',
data: [[1340846482,23],[1340846843,23],[1340847204,23],[1340847566,23]]
},
{
label: 'sens3',
data: [[1340868157,23.1],[1340868518,22],[1340868879,23.2],[1340869241,23.2]]
}
];
您还有另一个问题,很明显,您正在将x轴绘制为时间,但您的时间戳(即,
1340846482
)不是javascript时间戳,而是“unix”时间戳。您需要做的是将每个时间戳乘以1000(即,1340846482000
是正确的),因为javascript以毫秒而不是秒为单位计算时间戳。有关其他注意事项,请参见中的文本。您希望它做什么?可以吗?我需要温度图。我尝试了JSFIDLE,但在返回变量(对象)时仍然存在问题。谢谢Ryley!你是对的。我根据你的建议修改了代码,现在可以工作了。