Echarts实现单条折线可拖拽效果


Posted in Javascript onDecember 19, 2019

本文实例为大家分享了Echarts单条折线可拖拽的具体代码,供大家参考,具体内容如下

1、步骤:

    1)、封装Echarts折线图方法coinConsumeChart(),提取出公共的部分;
    2)、AJax获取后台数据传参至Echarts公共方法;
    3)、模拟后台获取的json数据;
    4)、给dayComment()方法值开始执行。

2、效果:

Echarts实现单条折线可拖拽效果

3、代码:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>ECharts单条折线可拖拽</title>
 <script src="http://code.jquery.com/jquery-1.4.1.min.js"></script>
 <!-- 引入 echarts.js -->
 <script src="http://echarts.baidu.com/examples/vendors/echarts/echarts.min.js?_v_=1526486305040"></script>
</head>
<body>
 <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
 <div id='consume_line' style="width:600px;height:400px;margin-left:20px;"> </div>
</body>
</html>
<script type="text/javascript">
 /**
 * @todo 加载echarts方法
 * @url:异步请求路径
 * @chartId:请求的echart的id
 * @titleText:标题名
 * @detailHref:跳转路径
 * @name:图例名
 */
 function dayComment(url,chartId,titleText,detailHref, name) {
 /*$.ajax({//Ajax请求你要展现的数据
 url :url,
 type : 'post',
 cache : false,
 dataType : 'json',
 async:false, //改为同步
 data : { }, //查看方式
 success : function(data) {
 detailHref = 'http://www.baidu.com';
 coinConsumeChart( chartId, titleText, detailHref, name, data.date, data.pv, data.fromTime, data.toTime);
 },
 error : function() {
 alert('服务器异常!')
 }
 });*/
 //假设已经获取到json数据
 var data = getStaticJsonData();
 coinConsumeChart( chartId, titleText, detailHref, name, data.date, data.pv, data.fromTime, data.toTime);
 }
 
 /**
 * @todo 可拖拽的折线图
 * @param chartId 插件的div的ID
 * @param titleText 标题名
 * @param sublink 副标题超链接的路径
 * @param name  图例名
 * @param xAxisData X轴数据
 * @param seriesData Y轴数据
 * @param fromTime 默认开始节点
 * @param toTime 默认结束节点
 * */
 function coinConsumeChart( chartId , titleText, detailUrl, name, xAxisData, seriesData , fromTime, toTime){
 // 指定图表的配置项和数据
 var myChart = echarts.init(document.getElementById( chartId ));
 var option = {
 title : {
  text: titleText,
  x:'center', //主标题居中
  subtext:'详情',
  sublink: detailUrl,//副标题超链接
  subtarget:'blank',//副标题超链接打开方式
  subtextStyle:{
  color:'#2299EE',
  fontSize: 15,
  }
  },
  
 color: ['#3398DB'],
 tooltip : {
   trigger: 'axis'
  },
  legend: {
   data:[name],
   top:30,
   left:55, //图示显示在左边
  },
  toolbox: {
   show : true,
   feature : {
    //mark : {show: true},
    //dataZoom : {show: true},
    //magicType : {show: true, type: ['line', 'bar', 'stack', 'tiled']},
   magicType : {show: true, type: ['line', 'bar']},
   dataView : {show: true},
    //restore : {show: true},
    //saveAsImage : {show: true}
   }
  },
  calculable : true,
  dataZoom : {
   show : true,
   realtime : true,
   // start : 20,
   // end : 80 //百分比
   startValue: fromTime, //拖拽条开始时间
   endValue: toTime //拖拽条结束时间
  },
  xAxis : [
   {
    type : 'category',
    boundaryGap : false,
    data : xAxisData
   }
  ],
  yAxis : [
   {
    type : 'value'
   }
  ],
  series : [
   {
    name: name,
    type:'line',
    data: seriesData,
   },
  ]
 };
      
 
 // 使用刚指定的配置项和数据显示图表。
 myChart.setOption( option );
 }
 
 //模拟AJax请求获取返回的json数据
 function getStaticJsonData(){
 var data = '{"date":["20180726","20180727","20180728","20180729","20180730","20180731","20180801","20180802","20180803","20180804","20180805","20180806","20180807","20180808","20180809","20180810","20180811","20180812","20180813","20180814"],"pv":[100,10,20,30,60,800,700,300,1000,100,100,360,900,180,120,150,600,140,1200,800],"fromTime":"20180808","toTime":"20180814"}';
 data = eval('(' + data + ')');
 return data;
 }
 
 dayComment( 'Ajax请求路径', 'consume_line', '用户消费','http://www.baidu.com', 'A消费'); //执行
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery操作下拉框(DropDownList)实现取值赋值
Aug 13 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 Javascript
jQuery异步验证用户名是否存在示例代码
May 21 Javascript
jquery操作select方法汇总
Feb 05 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
jQuery实现的仿select功能代码
Aug 19 Javascript
JavaScript中的继承之类继承
May 01 Javascript
从组件封装看Vue的作用域插槽的实现
Feb 12 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
Apr 11 Javascript
layui 实现自动选择radio单选框(checked)的方法
Sep 03 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
Nov 23 Javascript
vue项目中监听手机物理返回键的实现
Jan 18 Javascript
Webpack设置环境变量的一些误区详解
Dec 19 #Javascript
Echarts实现多条折线可拖拽效果
Dec 19 #Javascript
js判断一个对象是数组(函数)的方法实例
Dec 19 #Javascript
利用JS如何获取form表单数据
Dec 19 #Javascript
在Vue项目中使用Typescript的实现
Dec 19 #Javascript
JS数据类型STRING使用实例解析
Dec 18 #Javascript
JS精确判断数据类型代码实例
Dec 18 #Javascript
You might like
珊瑚虫IP库浅析
2007/02/15 PHP
php上传文件的增强函数
2010/07/21 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
php实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
PHP查看当前变量类型的方法
2015/07/31 PHP
jQuery 开天辟地入门篇一
2009/12/09 Javascript
JS学习之一个简易的日历控件
2010/03/24 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
jquery给图片添加鼠标经过时的边框效果
2013/11/12 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
Koa 中的错误处理解析
2019/04/09 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
浅析Python中yield关键词的作用与用法
2016/11/29 Python
python实现简单的文字识别
2018/11/27 Python
Python中字符串List按照长度排序
2019/07/01 Python
Django中ORM的基本使用教程
2020/12/22 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
HTML5中的新元素介绍
2008/10/17 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
英国领先的在线药房:Pharmacy First
2017/09/10 全球购物
个人函授自我鉴定
2014/03/25 职场文书
离婚协议书范文2014(夫妻感情破裂)
2014/12/14 职场文书
硕士学位论文评语
2014/12/31 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书
Java8中接口的新特性使用指南
2021/11/01 Java/Android