jquery.flot.js简单绘制折线图用法示例


Posted in Javascript onMarch 13, 2017

本文实例讲述了jquery.flot.js简单绘制折线图用法。分享给大家供大家参考,具体如下:

1、完整实例代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>
    <title>折线图</title>
    <!--[if lte IE 8]>
      <script language="javascript" type="text/javascript" src="js/excanvas.min.js"></script>
    <![endif]-->
    <script language="javascript" type="text/javascript" src="js/jquery.js"></script>
    <script language="javascript" type="text/javascript" src="js/jquery.flot.js"></script>
    <script type="text/javascript">
      $(function() {
        AlPriceQuery();
      });
      function AlPriceQuery(){
        var result = {
          AvgPrice : [14030, 13980, 14060, 14000, 13930, 14030, 13980, 14060, 14000, 13930],
          Date: ["11-1", "11-2", "11-3", "11-4", "11-5", "11-6", "11-7", "11-8", "11-9", "11-10"],
        }
        var DataArr = [];//y轴数据
        var TickArr = [];//x轴自定义刻度数据
        var PriceArr = [];//价格
        for(var i=0; i<result.Date.length; i++){
          DataArr.push([ i+1, result.AvgPrice[i] ]);
          TickArr.push([ i+1, result.Date[i] ]);
          PriceArr.push(result.AvgPrice[i]);
        }
        var MinPrice = PriceArr.sort(function(a, b){return a - b})[0];//获取最小的铝锭价
        if(MinPrice % 20 == 0){
          MinPrice = MinPrice - 20;
        }
        else{
          MinPrice = MinPrice - 30;
        }
        //数据源
        var DataSet = [{
          "label": "最近 " + result.Date.length + " 日铝锭价",
          "data": DataArr,//折线图数据
        }];
        //配置
        var Options = {
          xaxis: {
            ticks: TickArr,//x轴自定义刻度数据
          },
          yaxis: {
            min: MinPrice,//最小刻度
            tickSize: 20,//递增量
          },
          series: {
            lines: {
              show: true,//显示线段
              lineWidth: 1.5,
            },
            points: {
              show: true,//显示节点
              radius: 3,
            },
            color: "#7AC0DA",
          },
          grid: {
            hoverable: true,//鼠标移动到节点会有效果
            borderWidth: 1,//最外边的边框
            backgroundColor: { colors: ["#ffffff", "#EDF5FF"] },
          },
          legend: {
            noColumns: 0,
            labelBoxBorderColor: "#000000",
            position: "sw",
            backgroundOpacity: 0.1,
          },
          shadowSize: 0,//曲线阴影
        };
        //节点hover事件
        $.fn.UseTooltip = function () {
          var PrePoint = null, PreLabel = null;
          $(this).bind("plothover", function (event, pos, item) {
            if (item) {
              if ((PreLabel != item.series.label) || (PrePoint != item.dataIndex)) {
                PrePoint = item.dataIndex;
                PreLabel = item.series.label;
                $("#tooltip").remove();
                $(this).css({
                  "cursor": "pointer"
                })
                if (item.seriesIndex == 0) {
                  ShowTooltip(
                    item.pageX + 100,
                    item.pageY - 10,
                    "#f7d373",
                    result.Date[item.dataIndex] + " 铝锭价: " + item.series.data[item.dataIndex][1]);
                }
              }
            }
            else {
              PrePoint = null;
              PreLabel = null;
              $(this).css({
                "cursor": "auto"
              });
              $("#tooltip").remove();
            }
          });
        };
        if (PriceArr.length > 0) {
          $.plot($("#placeholder"), DataSet, Options);
          $("#placeholder").UseTooltip();
        }
      }
      //提示框
      function ShowTooltip(x, y, color, contents) {
        $('<div id="tooltip">' + contents + '</div>').css({
          position: 'absolute',
          display: 'none',
          top: y - 40,
          left: x - 120,
          border: '2px solid ' + color,
          padding: '3px',
          'font-size': '9px',
          'border-radius': '5px',
          'background-color': '#fff',
          'font-family': 'Verdana, Arial, Helvetica, Tahoma, sans-serif',
          opacity: 0.9
        }).appendTo("body").fadeIn(200);
      }
    </script>
  </head>
  <body>
    <div id="placeholder" style="width:400px;height:200px;"></div>
  </body>
</html>

2、运行效果图如下:

jquery.flot.js简单绘制折线图用法示例

Javascript 相关文章推荐
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
JavaScript自动设置IFrame高度的小例子
Jun 08 Javascript
给html超链接设置事件不使用href来完成跳
Apr 20 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
Jun 12 Javascript
JavaScript简单下拉菜单特效
Sep 13 Javascript
js实现图片360度旋转
Jan 22 Javascript
javascript 判断当前浏览器版本并判断ie版本
Feb 17 Javascript
详细分析jsonp的原理和实现方式
Nov 20 Javascript
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
Apr 02 Javascript
js prototype深入理解及应用实例分析
Nov 25 Javascript
React如何创建组件
Jun 27 Javascript
深入理解Node.js中的进程管理
Mar 13 #Javascript
jQuery简易时光轴实现方法示例
Mar 13 #Javascript
JavaScript评论点赞功能的实现方法
Mar 13 #Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
Mar 13 #Javascript
JS实现含有中文字符串的友好截取功能分析
Mar 13 #Javascript
JS实现直接运行html代码的方法
Mar 13 #Javascript
js从输入框读取内容,比较两个数字的大小方法
Mar 13 #Javascript
You might like
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
php简单截取字符串代码示例
2016/10/19 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
使用python分析git log日志示例
2014/02/27 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
python collections模块的使用
2020/10/16 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
秘书岗位职责
2013/11/18 职场文书
中英文自我评价语句
2013/12/20 职场文书
工作失职检讨书范文
2014/01/16 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
中职三好学生事迹材料
2014/08/24 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers