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中delegate和on的用法与区别详细解析
Jan 26 Javascript
jQuery 如何给Carousel插件添加新的功能
Apr 18 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
May 28 Javascript
DIV+CSS+jQ实现省市联动可扩展
Jun 22 Javascript
利用Javascript实现简单的转盘抽奖
Feb 13 Javascript
JS实现unicode和UTF-8之间的互相转换互转
Jul 05 Javascript
详解vue.js移动端导航navigationbar的封装
Jul 05 Javascript
Angular整合zTree的示例代码
Jan 24 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
May 21 Javascript
vue全局自定义指令-元素拖拽的实现代码
Apr 14 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
Jul 06 Javascript
html中创建并调用vue组件的几种方法汇总
Nov 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
PHP 时间日期操作实战
2011/08/26 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
javascript实用方法总结
2015/02/06 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
Python中的一些陷阱与技巧小结
2015/07/10 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
python turtle工具绘制四叶草的实例分享
2020/02/14 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
公司门卫的岗位职责
2014/02/19 职场文书
文秘个人求职信范文
2014/04/22 职场文书
北京奥运会主题口号
2014/06/13 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
2014年小学教研工作总结
2014/12/06 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python