gpt4 book ai didi

graph - 简单的浮图不更新

转载 作者:行者123 更新时间:2023-12-02 02:18:42 25 4
gpt4 key购买 nike

我正在尝试创建一个简单的 flot 线图并在计时器上更新它,我只想显示最后 10 个数据点。但我只看到轴而不是图表。此外,我看到 x 轴随着额外数据而变化,但 y 轴保持不变并且不对应于额外数据。我的代码如下:

var dataSet = [];
var PlotData;
var x = 0;
var y = 0;
var plot = null;

function EveryOneSec()
{
if (dataSet.length == 10)
{
dataSet.shift();
}
x++;
y += 2;
dataSet("[" + x + ", " + y + "]");

PlotData = { label: "line 1", data: [ dataSet ], color: "green" };

if (plot == null)
{
plot = $.plot($("#placeholder"), [ PlotData ], { lines: {show: true}, points: {show: true}});
}
else
{
plot.setData([ PlotData ]);
plot.setupGrid();
plot.draw();
}
setTimeout(EveryOneSec, 1000);
}

我试过调用和不调用 setupGrid() 但这对轴显示或图表没有影响。当我绘制 0 到 9 的刻度时,x 轴停止变化,即使 x 递增超过它,y 轴保持静止。我相信上面的代码在传递数据数组方面是正确的,那么为什么图表没有出现?

最佳答案

好的,这里有两个问题。

首先,您没有正确地附加到您的dataSet。我不确定你得到的语法是做什么的,但是你在数组的每个槽中需要的是 [x,y],你可以用 Array.push 来实现

这个:

dataSet("[" + x + ", " + y + "]");

应该是这样的:

dataSet.push([x , y]);

当您创建系列对象 PlotData 时,您不需要将数据存储在另一个数组中,所以不要这样:

PlotData = { label: "line 1", data: [ dataSet ], color: "green" };

你需要这个:

PlotData = { label: "line 1", data:  dataSet , color: "green" };

在这里查看它的工作情况:http://jsfiddle.net/ryleyb/qJEXH/

关于graph - 简单的浮图不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9276788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com