2

事前情報: (私がどこから来たのか疑問に思っている場合に備えて)

最初の質問: JS 変数を n 秒ごとに JSON 配列に設定する方法。

おかげですべてがうまくいきました:)

次に、配列の合計量を制限することに取り組み、10に設定しようとしましたが、毎回7で停止します..ここの助けを借りて、これがうまく機能しました.

2 番目の質問: ネイティブ JSON 配列を 10 桁に制限する方法。

再び完璧に動作..


質問:

今、JSON配列のフォーマットを希望する正確なコンテキストに合わせた段階で立ち往生しています。例: [["0", "7"], ["0", "7"], ["0", "7"]] そして、これをJquery Flot Graphにプロットすることを目指しています。変数を手動で設定すると、次のようになります。

var PlotData= [["0", "7"], ["0", "7"], ["0", "7"]]

Jquery Flotはこれを完全にプロットしますが、null で始まる増分値として空白のグラフを追加し、更新しません。私のコードは次のとおりです。

var numbers = [];
var jsonString = "";
var PlotData;

function EveryOneSec() {
  if (numbers.length == 10) {
      numbers.shift();
  }
  numbers.push(['0", "' Math.random()]);
  jsonString = JSON.stringify({'numbers': numbers});
  PlotData = numbers; //set to numbers for now rather than the JSON just for testing.
  $.plot($("#PlaceHolder"), [{ data: PlotData, points: { show: true}}]);
  setTimeout(EveryOneSec, 1000);
}

これで、関数は毎秒実行されます。ただし、プロットは更新されません。Jquery Flot Graphを動的に更新できるようにするために何が欠けているのか、何をしなければならないのか誰かが知っていますか?

4

2 に答える 2

3

Reigel が示唆するように、新しいプロットを作成することは適切ではありません。それが書かれたのは 2010 年だったのかもしれません。

最近ではsetData()redraw()、場合によっては を使用する必要がありsetupGrid()ます。

var oldData = [[0,0],[1,1]],
    newData = [[1,1],[2,2]],
    graph = $.plot($("#plot"), oldData, options);

graph.setData(newData);  // Replace oldData with newData
graph.setupGrid();       // Adjust axes to match new values
graph.draw();            // Update actual plot
于 2013-04-05T15:17:16.303 に答える
0

このようなことを試してください...

$.plot($("#PlaceHolder"), PlotData, {points: { show: true}});

また、ここに対になっていない引用符があると思います

numbers.push(['0", "' Math.random()]); // typo? should it be like ["0", Math.random()]
于 2010-07-05T05:33:49.513 に答える