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 相关文章推荐
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
JS的location.href跳出框架打开新页面的方法
Sep 04 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
Sep 10 Javascript
谈谈javascript中使用连等赋值操作带来的问题
Nov 26 Javascript
JS获取年月日时分秒的方法分析
Nov 28 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
Mar 06 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
Jun 22 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
Jan 08 Javascript
如何使用 vue + d3 画一棵树
Dec 03 Javascript
layui table去掉右侧滑动条的实现方法
Sep 05 Javascript
如何使用 vue-cli 创建模板项目
Nov 19 Vue.js
Vue+Element UI实现概要小弹窗的全过程
May 30 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中的phpinfo()函数
2013/06/06 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
深入php内核之php in array
2015/11/10 PHP
Yii2 assets清除缓存的方法
2016/05/16 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
10个实用的脚本代码工具
2010/05/04 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
VUE v-for循环中每个item节点动态绑定不同函数的实例
2018/09/26 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
django rest framework使用django-filter用法
2020/07/15 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
全球领先的美容用品专卖店:Beauty Plus Salon
2018/09/04 全球购物
俄罗斯品牌服装和鞋子的在线商店:KUPIVIP
2019/10/27 全球购物
中专自我鉴定
2014/02/05 职场文书
健康家庭事迹材料
2014/05/02 职场文书
毕业生面试求职信
2014/06/23 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
网络销售员岗位职责
2015/04/11 职场文书
第一节英语课开场白
2015/06/01 职场文书
python代码实现备忘录案例讲解
2021/07/26 Python