Javascript 如何从本机JSON动态更新jQuery Flot

Javascript 如何从本机JSON动态更新jQuery Flot,javascript,jquery,jquery-plugins,flot,Javascript,Jquery,Jquery Plugins,Flot,先前信息:(以防你想知道我来自哪里) 多亏了帮助,一切顺利:) 然后我开始限制数组中的总量,试图将其设置为10,但每次都会在7停止。。在这里的帮助下,这一切顺利进行 又一次完美地工作了 问题: var numbers = []; var jsonString = ""; var PlotData; function EveryOneSec() { if (numbers.length == 10) { numbers.shift(); } numbers.push

先前信息:(以防你想知道我来自哪里)

多亏了帮助,一切顺利:)

然后我开始限制数组中的总量,试图将其设置为10,但每次都会在7停止。。在这里的帮助下,这一切顺利进行

又一次完美地工作了


问题:

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);
}
现在我陷入了一个阶段,我已经将我的JSON数组格式设置到了我想要的确切上下文中。e、 g:[“0”,“7”],[“0”,“7”],[“0”,“7”] 我的目标是将其绘制成一个Jquery-Flot图。现在,如果我手动将变量设置为:

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图吗?

试试这样的方法

$.plot($("#PlaceHolder"), PlotData, {points: { show: true}});
我还认为,你这里有未配对的报价

numbers.push(['0", "' Math.random()]); // typo? should it be like ["0", Math.random()]

按照Reigel的建议,创造一个新的情节并不是一个好办法——它可能是在2010年写的

现在,您应该使用
setData()
redraw()
以及可能的
setupGrid()


事实上,我现在明白了一点:)。谢谢你仍然没有很好地工作,但它的绘图。没有,因为JSON stringify将添加第一个和最后一个。