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同意等待代码实现心得
Jan 01 Javascript
javascript 二进制运算技巧解析
Nov 27 Javascript
jquery text()方法取标签中的文本
Jul 25 Javascript
jQuery操作cookie方法实例教程
Nov 25 Javascript
jquery中attr和prop的区别分析
Mar 16 Javascript
JQuery中两个ul标签的li互相移动实现方法
May 18 Javascript
解析jquery easyui tree异步加载子节点问题
Mar 08 Javascript
JavaScript实现简单的树形菜单效果
Jun 23 Javascript
JS实现点击链接切换显示隐藏内容的方法
Oct 19 Javascript
微信小程序组件之srcoll-view的详解
Oct 19 Javascript
Vue使用json-server进行后端数据模拟功能
Apr 17 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
Jun 17 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
神族 PROTOSS 概述
2020/03/14 星际争霸
PHP 单引号与双引号的区别
2009/11/24 PHP
PHP+JS+rsa数据加密传输实现代码
2011/03/23 PHP
PHP服务器页面间跳转实现方法
2012/08/02 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php删除数组元素示例分享
2014/02/17 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
2017/05/24 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
Python入门必须知道的11个知识点
2018/03/21 Python
用python处理MS Word的实例讲解
2018/05/08 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
普宁寺导游词
2015/02/04 职场文书
2015年人民调解工作总结
2015/05/18 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
anaconda python3.8安装后降级
2021/06/11 Python