`
cuisuqiang
  • 浏览: 3963014 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3672358
社区版块
存档分类
最新评论

JS绘图Flot应用-动态曲线图

    博客分类:
  • JS
阅读更多

刚刚做的是一个静态的曲线图,只要设置数据,就可以直接显示。下面来做一个根据时间间隔根据新数据一直变的曲线绘图示例。

同样,为了兼容不同浏览器,请一定要引入三个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

 

分享到:
评论

相关推荐

    JS绘图Flot应用-简单曲线图

    JavaScript(简称JS)是一种广泛用于前端开发的脚本语言,其强大的功能之一就是能够实现动态图形的绘制。在Web应用程序中,数据可视化是至关重要的,它可以帮助用户更好地理解和解析复杂的信息。Flot是一个基于...

    JS绘图Flot应用-可选显示曲线图

    JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,尤其在数据可视化领域,JS库如Flot起到了重要作用。Flot是一个基于jQuery的开源图表库,能够帮助开发者轻松地在网页上绘制出各种高质量...

    JS绘图Flot应用 动态曲线图

    **JS绘图Flot应用:动态曲线图** Flot是一个基于JavaScript的开源库,专门用于在Web页面上绘制高质量的图形。它利用HTML5的canvas元素进行绘图,提供了丰富的图表类型,包括线图、面积图、饼图等。在这个案例中,...

    flot-flot-0.8.0-26-g2347c9a.zip

    Flot是一个用JavaScript编写的开源图表库,主要用于在Web页面上创建动态、交互式的数据可视化图表。这个压缩包"flot-flot-0.8.0-26-g2347c9a.zip"包含了版本0.8.0-26-g2347c9a的源代码,是开发者们进行数据展示和...

    jquery绘图插件-flot

    **jQuery绘图插件Flot详解** Flot是一款强大的基于JavaScript的绘图库,它完全依赖于jQuery,为Web开发者提供了在网页上绘制各种图表的能力。由Ole Laursen精心设计和开发,Flot以其易用性、灵活性和丰富的可视化...

    Js 绘图 Flot 示例

    这个“Js 绘图 Flot 示例”是为初学者和开发者提供的学习资源,帮助他们掌握如何使用 Flot 来实现动态数据可视化。 1. **Flot 基本概念** - **Canvas**: Flot 利用 `&lt;canvas&gt;` 标签作为图形的画布,这是一个HTML5...

    flot-flot-v0.8.3-2-g958e5fd.zip

    2. **性能优异**:Flot 使用 SVG 或 VML(对于不支持 SVG 的旧版 IE 浏览器)进行绘图,这提供了良好的性能和高分辨率的图形。 3. **高度可定制**:Flot 提供了丰富的配置选项,允许开发者自定义颜色、线条样式、...

    jquery flot 时间曲线图

    本文将深入探讨jQuery Flot在绘制时间曲线图方面的应用及其相关知识点。 首先,jQuery Flot是一款基于jQuery的开源图表库,它通过简单的API接口,让开发者可以轻松地在网页上绘制各种类型的图表,包括线图、饼图、...

    flot-flot-v0.8.3-2-g958e5fd.zip_ flot

    Flot v0.8.3-2-g958e5fd是该库的一个版本,提供了强大的数据可视化能力,尤其适用于动态和交互式的Web应用。 1. **Flot基础概念** Flot的核心是使用HTML5的canvas元素来绘制图形,这使得它能够在现代浏览器中流畅...

    flot 插件 --- 鼠标点击和滑过标签的简单动画

    Flot的核心在于其强大的绘图API,它允许开发者通过数组或对象来定义数据系列,然后使用这些数据绘制出各种类型的图表,如线图、饼图、柱状图等。例如,创建一个简单的线图,我们可以这样做: ```javascript var ...

    flot-0.7.zip绘图实例

    2. **丰富的图表类型**:Flot可以绘制折线图、面积图、柱状图、饼图等多种图表,满足各种数据可视化需求。 3. **实时更新**:Flot支持实时数据流,这意味着你可以动态地向图表添加新数据,使图表随时间变化而更新,...

    JS绘图Flot如何实现动态可刷新曲线图

    刚刚做的是一个静态的曲线图,只要设置数据,就可以直接显示。下面来做一个根据时间间隔根据新数据一直变的曲线绘图示例。 同样,为了兼容不同浏览器,请一定要引入三个JS文件,否则不保证在IE下的运行。 首先来看...

    flot-0.8.3

    1. **灵活性**:Flot 支持多种图表类型,包括线图、面积图、饼图、散点图和条形图,可以灵活地适应不同的数据展示需求。 2. **性能优化**:考虑到实时数据更新的需求,Flot 设计得非常高效,即使处理大量数据也能...

    flot-7.zip_FlashVml_Flot

    Flot 是一个基于 JavaScript 的开源库,专门用于在 Web 页面上绘制高质量的图表和曲线。它利用 HTML5 的 canvas 元素来绘制图形,对于那些不支持 canvas 的浏览器(如旧版的 Internet Explorer),Flot 还提供了一个...

    angular-flot, angular.js 和Flot图表库之间的绑定.zip

    angular-flot, angular.js 和Flot图表库之间的绑定 角 flot 包装Flotcharts的一个 Angular 指令。安装这里库是作为 Bower 组件和NPM模块提供的:Bower: bower install angular-flotnpm install

    Algorithm-flot-downsample.zip

    Flot是一个基于jQuery的JavaScript库,用于在网页上绘制复杂的图形,包括折线图、柱状图、饼图等。它支持动态更新数据、自定义轴刻度、鼠标交互等功能,使得数据可视化的实现变得简单易行。然而,当面临大量数据时,...

    flot柱形图

    Flot是一款纯JavaScript的图表库,它允许你在网页上创建出高质量的数据可视化图表,包括柱状图、线图等。柱形图是数据可视化中常用的一种图表类型,它通过长条的高度来表示各类别的数量或者比例关系,适用于比较不同...

    JS绘图Flot应用图形绘制异常解决方案

    今天再次动手用Flot,但是今天用的时候出现一些问题 首次报错的是 网页错误详细信息 用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; QQDownload 721; InfoPath.2) 时间戳: Fri, 8 ...

    flot折线图

    下面我们将深入探讨Flot的基本使用方法、折线图类型、数据格式化、图表选项以及实际应用中的技巧。 1. **Flot基本使用** - 首先,你需要在项目中引入jQuery和Flot的JavaScript库。通常,这可以通过HTML的`&lt;script&gt;...

Global site tag (gtag.js) - Google Analytics