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 相关文章推荐
jQuery入门知识简介
Mar 04 Javascript
基于javascript实现窗口抖动效果
Jan 03 Javascript
深入浅析JavaScript中的scrollTop
Jul 11 Javascript
AngularJS 入门教程之HTML DOM实例详解
Jul 28 Javascript
使用vue编写一个点击数字计时小游戏
Aug 31 Javascript
D3.js实现直方图的方法详解
Sep 25 Javascript
jQuery的Read()方法代替原生JS详解
Nov 08 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
Nov 30 Javascript
概述jQuery中的ajax方法
Dec 16 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
Feb 05 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
Sep 11 Javascript
JS Ajax请求会话过期处理问题解决方法分析
Nov 16 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连接Oracle for NT 远程数据库
2006/10/09 PHP
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
mac下多个php版本快速切换的方法
2016/10/09 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
python中threading超线程用法实例分析
2015/05/16 Python
Python中的下划线详解
2015/06/24 Python
Python循环语句之break与continue的用法
2015/10/14 Python
基于Python实现文件大小输出
2016/01/11 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
数据库的约束含义
2012/09/09 面试题
自我鉴定注意事项
2014/01/19 职场文书
党员个人自我评价
2015/03/03 职场文书
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis