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作用域链的八点总结
Dec 06 Javascript
搭建pomelo 开发环境
Jun 24 Javascript
JavaScript中的类(Class)详细介绍
Dec 30 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
Dec 02 Javascript
Node.js批量给图片加水印的方法
Nov 15 Javascript
移动端脚本框架Hammer.js
Dec 15 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
May 12 Javascript
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
vue前后分离调起微信支付
Jul 29 Javascript
vue抽出组件并传值实例
Jul 31 Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
Vue如何实现变量表达式选择器
Feb 18 Vue.js
深入理解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中array_slice函数用法实例详解
2014/11/25 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
PHP多维数组排序array详解
2017/11/21 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
通过原生vue添加滚动加载更多功能
2019/11/21 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
python模块restful使用方法实例
2013/12/10 Python
Python素数检测实例分析
2015/06/15 Python
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
django中的setting最佳配置小结
2017/11/21 Python
详解Python字符串切片
2019/05/20 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
猫咪家具:CatsPlay
2018/11/03 全球购物
送给程序员的20个Java集合面试问题
2014/08/06 面试题
计算机专业毕业生推荐信
2013/11/25 职场文书
外语系大学生自荐信范文
2014/03/01 职场文书
初三学生个人自我评定
2014/04/06 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
nginx之内存池的实现
2022/06/28 Servers