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

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

    博客分类:
  • JS
阅读更多

首先对Flot做简单介绍:

flot 是一个基于jquery的开源javascript库,是一个纯粹的 jQuery JavaScript 绘图库,可以在客户端即时生成图形,使用非常简单,支持放大缩小以及鼠标追踪等交互功能。该插件支持 IE6/7/8/9, Firefox 2.x+, Safari 3.0+, Opera 9.5+ 以及 Konqueror 4.x+。使用的是 Safari 最先引入的 Canvas 对象(html5中新增的对象),目前所有主流浏览器都支持该对象, IE8以下等不支持的浏览器, 使用 JavaScript 进行模拟。

由于浏览器的支持问题,我们在做页面时一共需要三个页面,JQuery库、Flot库、excanvas.js这三个文件。

做出后效果如下,这个例子是对官方例子的简单修改而成的,增加了一些注释

 

我们来看一下代码:

<!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 sin = [], cos = [];
	// 初始化数据
    for (var i = 0; i < 14; i += 0.5) {
        sin.push([i, Math.sin(i)]);
        cos.push([i, Math.cos(i)]);
    }
    var plot = $.plot(
		$("#placeholder"),
        [ { data: sin, label: "sin函数"}, { data: cos, label: "cos函数" } ], // 数据和右上角含义的提示
		{
		   series: {
			   lines: { show: true }, // 点之间是否连线
			   points: { show: true } // 是否显示点
		   },
		   grid: { hoverable: true, clickable: true }, // 是否可以悬浮,是否可以点击
		   yaxis: { min: -1.2, max: 1.2 }, // Y 轴 的最大值和最小值
		   xaxis: { min: 0, max: 15 }      // X 轴 的最大值和最小值
		 });	
    var previousPoint = null;
	// 邦定事件
    $("#placeholder").bind("plothover", function (event, pos, item) {
        if ($("#enableTooltip:checked").length > 0) { // 如果允许提示
            if (item) {
                if (previousPoint != item.dataIndex) {
                    previousPoint = item.dataIndex;                    
                    $("#tooltip").remove();
                    var x = item.datapoint[0].toFixed(2),
                        y = item.datapoint[1].toFixed(2);                    
                    showTooltip(item.pageX, item.pageY,
					"X:" + x + " Y:" + y);
                    //item.series.label + " of " + x + " = " + y); // 悬浮点时提示的内容
                }
            }else {
                $("#tooltip").remove();
                previousPoint = null;
            }
        }
    });
	// 悬浮点时进行提示
    function showTooltip(x, y, contents) {
        $('<div id="tooltip">' + contents + '</div>').css( {
            position: 'absolute',
            display: 'none',
            top: y + 5,
            left: x + 5,
            border: '1px solid #fdd',
            padding: '2px',
            'background-color': '#fee',
            opacity: 0.80
        }).appendTo("body").fadeIn(200);
    }
});
</script>
</head>
<body>
    <div id="placeholder" style="width:600px;height:300px"></div>
    <p><input id="enableTooltip" type="checkbox">Enable tooltip</p>
</body>
</html>

 

以上我们初始化一些数据, 然后进行设置,其中可以设置是否能够提示!

示例简单,希望能够帮助一些人吧,最后示例需要的文件和示例页面如下。

 

请您到ITEYE看我的原创:http://cuisuqiang.iteye.com

或支持我的个人博客,地址:http://www.javacui.com

 

分享到:
评论

相关推荐

    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的插件生态系统丰富,例如`jquery.flot.time.js`用于处理时间轴,`jquery.flot.selection.js`实现选区功能,`jquery.flot.stack.js`用于绘制堆叠图表等。通过这些插件,可以进一步增强图表的功能和表现力。 6....

    jquery绘图插件-flot

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

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

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

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

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

    jquery flot 时间曲线图

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

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

    《Flot:JavaScript图表库详解》 Flot是一款基于JavaScript的开源图表绘制库,它以其高效、灵活且功能丰富的特性,在Web开发领域中受到了广泛欢迎。Flot v0.8.3-2-g958e5fd是该库的一个版本,提供了强大的数据可视...

    Js 绘图 Flot 示例

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

    flot-0.7.zip绘图实例

    Flot是一个基于jQuery的JavaScript库,专门用于在网页上创建高质量的、互动的图表。它以其灵活性、可定制性和高效性而受到开发者的欢迎。在"flot-0.7.zip"这个压缩包中,你将找到使用Flot库进行绘图的各种实例,这些...

    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支持简单折线图、带点的折线图、阴影区域的折线图等。通过设置`series`选项,可以改变线条样式、颜色、宽度以及是否显示点等。 - 比如,`series: { lines: { show: true }, points: { show: true } }`会显示...

    flot+JS生成图表

    本教程将深入探讨如何利用Flot库和JavaScript技术来创建各种类型的图表,包括线状图、柱状图和饼图。 首先,Flot库的优势在于其灵活性和性能。它允许开发者用纯JavaScript代码生成图表,无需依赖其他重量级的库,如...

Global site tag (gtag.js) - Google Analytics