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 相关文章推荐
javascript 关闭IE6、IE7
Jun 01 Javascript
Javascript 作用域使用说明
Aug 13 Javascript
setTimeout与setInterval在不同浏览器下的差异
Jan 24 Javascript
jquery中的sortable排序之后的保存状态的解决方法
Jan 28 Javascript
jquery选择器(常用选择器说明)
Sep 28 Javascript
javascript克隆对象深度介绍
Nov 20 Javascript
Javascript 判断是否存在函数的方法
Jan 03 Javascript
使用原生的javascript来实现轮播图
Feb 24 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
Nov 05 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 Javascript
在微信小程序中使用mqtt服务的方法
Dec 13 Javascript
Angular短信模板校验代码
Sep 23 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
php empty()与isset()区别的详细介绍
2013/06/17 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
2014/05/10 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
js常用DOM方法详解
2017/02/04 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
vue配置接口域名方法总结
2019/05/12 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
python通过floor函数舍弃小数位的方法
2015/03/17 Python
python中正则的使用指南
2016/12/04 Python
WxPython实现无边框界面
2019/11/18 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
浅析python中的del用法
2020/09/02 Python
介绍一下linux的文件权限
2012/02/15 面试题
linux面试相关问题
2013/04/28 面试题
Java基础知识面试题
2014/03/25 面试题
学生实习推荐信范文
2013/11/26 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
写给父母的感谢信
2015/01/22 职场文书
教师节班会开场白
2015/06/01 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
基于Go语言构建RESTful API服务
2021/07/25 Golang
Python实现制作销售数据可视化看板详解
2021/11/27 Python