0

我可以征求意见吗。我有应该返回 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],[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}}));

我不知道问题出在哪里,为什么它不起作用。

4

1 回答 1

1

您走在正确的轨道上,但系列数据需要是一系列系列对象,而不仅仅是一个对象,每组数据都是它的属性。

你应该拥有的是这样的:

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 以毫秒为单位计算它们,而不是秒。有关其他注意事项,请参阅本示例中的文本。

于 2012-06-28T15:22:59.803 回答