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 相关文章推荐
用javascript动态调整iframe高度的代码
Apr 10 Javascript
jquery中change()用法实例分析
Feb 06 Javascript
jQuery EasyUI Tab 选项卡问题小结
Aug 16 Javascript
JavaScript 计算笛卡尔积实例详解
Dec 02 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
js+html5生成自动排列对话框实例
Oct 09 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
Aug 19 Javascript
TypeScript中的方法重载详解
Apr 12 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
Jul 31 Javascript
基于layui table返回的值的多级嵌套的解决方法
Sep 19 Javascript
详解小程序如何改变onLoad的执行时机
Nov 01 Javascript
微信小程序实现通讯录列表展开收起
Nov 18 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
substr()函数中文版
2006/10/09 PHP
PHP 验证码的实现代码
2011/07/17 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
2011/12/01 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
PHP实现简单的计算器
2020/08/28 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
2020/02/27 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
Python基础知识点 初识Python.md
2019/05/14 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
早餐连锁店计划书
2014/01/08 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
创建学习型党组织实施方案
2014/03/29 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
小鞋子观后感
2015/06/05 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
windows系统搭建WEB服务器详细教程
2022/08/05 Servers