gpt4 book ai didi

jquery - 使用flot jquery实时图表

转载 作者:行者123 更新时间:2023-12-03 22:30:35 24 4
gpt4 key购买 nike

我正在寻找一种使用 Flot (Jquery) 图表显示虚拟机当前 CPU 使用情况的方法。

从现在开始,我可以绘制简单的线条,但不知道如何在新数据进入时使图形向左移动。

<script type="text/javascript">
var d1 = [ [0,0] ];
options = {
lines: {
show: true
},
points: {
show: true
},
xaxis: {
tickDecimals: 0,
tickSize: 1
},
grid: {
backgroundColor: {
colors: ["#fff", "#eee"]
}
}
};

function init() {
$.plot($("#placeholder"), d1, options);
} /* init Function */

function update(){
for (var i = 0; i < 14; i += 0.5) {
d1.push([i, Math.floor(Math.random()*11)]);
}
$.plot($("#placeholder"), [ d1 ], options);
}
init();
$("input.dataUpdate").click(function () {
update();
});
</script>

有什么想法或者其他插件可以做到这一点吗?

编辑:

我需要翻译关联数组:

 [ [1, (random1)], [2, (random2), [3, (random2) ]

 [ [2, (random2)], [3, (random3), [4, (random4) ] (new element 4)

不知道如何实现这一目标。

最佳答案

我正在查看他们的 API,他们有一个“setData”函数,看起来可以让您更新现有的图表数据。

http://flot.googlecode.com/svn/trunk/API.txt

[更新]在其他浏览器中查看上面的示例后,从头开始重建绘图时的刷新率有点慢。我注意到更新之间出现了不良的闪烁。这是一个更好的解决方案:

var xVal = 0;
var data = [[],[]];
var plot = $.plot( $("#chart4"), data);

function getData(){
// This could be an ajax call back.
var yVal1 = Math.floor(Math.random()*11);
var yVal2 = Math.floor(Math.random()*11);
var datum1 = [xVal, yVal1];
var datum2 = [xVal, yVal2];
data[0].push(datum1);
data[1].push(datum2);
if(data[0].length>10){
// only allow ten points
data[0] = data[0].splice(1);
data[1] = data[1].splice(1);
}
xVal++;
plot.setData(data);
plot.setupGrid();
plot.draw();
}

setInterval(getData, 1000);

我还整理了一篇关于 flot 的博客文章,更详细地描述了这一点:

http://blog.bobcravens.com/2011/01/web-charts-using-jquery-flot/

鲍勃

关于jquery - 使用flot jquery实时图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4758602/

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