刚刚做的是一个静态的曲线图,只要设置数据,就可以直接显示。下面来做一个根据时间间隔根据新数据一直变的曲线绘图示例。
同样,为了兼容不同浏览器,请一定要引入三个JS文件,否则不保证在IE下的运行。
首先来看一下效果!
刷新间隔的实现其实就是定时调用某个函数,这个函数将绘图对象里面的数据更新即可。
我们来看一下代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>Flot动态曲线</title> <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="excanvas.min.js"></script><![endif]--> <script language="javascript" type="text/javascript" src="jquery.js"></script> <script language="javascript" type="text/javascript" src="jquery.flot.js"></script> <script type="text/javascript"> $(function () { // 要绘制的数据和数据的数据点数 var data = [], totalPoints = 300; // 获得一些随机数据 function getRandomData() { if (data.length > 0) data = data.slice(1); while (data.length < totalPoints) { var prev = data.length > 0 ? data[data.length - 1] : 50; var y = prev + Math.random() * 10 - 5; if (y < 0) y = 0; if (y > 100) y = 100; data.push(y); } var res = []; for (var i = 0; i < data.length; ++i) res.push([i, data[i]]) return res; } var updateInterval = 30; // 刷新间隔 // 更改刷新间隔时间 $("#updateInterval").val(updateInterval).change(function () { var v = $(this).val(); if (v && !isNaN(+v)) { updateInterval = +v; if (updateInterval < 1) updateInterval = 1; if (updateInterval > 2000) updateInterval = 2000; $(this).val("" + updateInterval); } }); // 设置绘图参数 var options = { series: { shadowSize: 0 }, // 绘制线的阴影,不绘制设置 0 yaxis: { min: 0, max: 100 }, // Y 轴的最大值最小值 xaxis: { show: false } // 不显示 X 轴 }; // 绘图对象 参数为:绘制地点、数据、属性 var plot = $.plot($("#placeholder"), [ getRandomData() ], options); function update() { // 要实现动态绘图,只需重新设置其数据即可 plot.setData([ getRandomData() ]); // 设置数据 // 轴线不改变,不用调用 plot.setupGrid() plot.draw(); // 设置调用 setTimeout(update, updateInterval); } // 加载调用 update(); }); </script> </head> <body> <div id="placeholder" style="width:600px;height:300px;"></div> <br><br> 刷新时间间隔:<input id="updateInterval" type="text" value="" style="text-align: right; width:5em"> </body> </html>
输入不同的刷新间隔,绘图的速度会响应的调整。以上示例来自官方,少做修改并加以注释,希望对一些人有所帮助。
请您到ITEYE看我的原创:http://cuisuqiang.iteye.com
或支持我的个人博客,地址:http://www.javacui.com
相关推荐
本篇文章将深入探讨如何利用Flot库在网页中创建简单的曲线图。 首先,我们需要了解Flot的基本结构。Flot的绘图过程主要分为两个步骤:准备数据和配置选项。数据通常是以数组的形式存储,每个数组元素代表一个数据点...
JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,尤其在数据可视化领域,JS库如Flot起到了重要作用。Flot是一个基于jQuery的开源图表库,能够帮助开发者轻松地在网页上绘制出各种高质量...
**JS绘图Flot应用:动态曲线图** Flot是一个基于JavaScript的开源库,专门用于在Web页面上绘制高质量的图形。它利用HTML5的canvas元素进行绘图,提供了丰富的图表类型,包括线图、面积图、饼图等。在这个案例中,...
刚刚做的是一个静态的曲线图,只要设置数据,就可以直接显示。下面来做一个根据时间间隔根据新数据一直变的曲线绘图示例。 同样,为了兼容不同浏览器,请一定要引入三个JS文件,否则不保证在IE下的运行。 首先来看...
Flot 是一个基于 JavaScript 的开源库,专门用于在 Web 页面上绘制高质量的图表和曲线。它利用 HTML5 的 canvas 元素来绘制图形,对于那些不支持 canvas 的浏览器(如旧版的 Internet Explorer),Flot 还提供了一个...
刚刚做了可以动态去刷新的曲线图,下面再来实现一个可以选择显示那个显示值的曲线图。 首先看一下效果: 下面的多选框,选择以后会触发一个事件,等同与重新绘制了曲线图。 重点是需要的数据的格式,我们来看一下...
Flot 是一个基于 jQuery 的开源 JavaScript 图表库,它提供了丰富的功能来绘制各种类型的图表,如折线图、散点图和直方图。在本文中,我们将深入探讨 Flot 的核心特性,包括数据格式、绘图函数以及图表对象的属性。 ...
2. **JSChart**:JSChart是一款基于JavaScript的图表库,它提供了丰富的图表选项,如饼图、条形图、曲线图等。JSChart易于使用,支持动态更新和自定义样式,适合快速构建数据可视化应用。与OpenFlashChart相比,...
12. **Flotr**:基于Prototype的JavaScript绘图框架,提供直观的语法来绘制吸引人的图表。 13. **Yahoo! UI Library: Charts**:YUI Charts库提供了多种图表类型,如柱状图、双轴图、线图和饼图,以适应不同的数据...