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 设置标题的自动翻转
Oct 03 Javascript
JavaScript对内存分配及管理机制详细解析
Nov 11 Javascript
用js传递value默认值的示例代码
Sep 11 Javascript
浅谈JavaScript的事件
Feb 27 Javascript
js精美的幻灯片画集特效代码分享
Aug 29 Javascript
理解javascript异步编程
Jan 27 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
Feb 18 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
Aug 01 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
Dec 09 Javascript
使用Sonarqube扫描Javascript代码的示例
Dec 26 Javascript
巧妙运用v-model实现父子组件传值的方法示例
Apr 07 Javascript
vue 使用localstorage实现面包屑的操作
Nov 16 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登陆页的密码处理方式分享
2013/10/14 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
Php-Redis安装测试笔记
2015/03/05 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
2016/11/07 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
微信小程序实现手指触摸画板
2018/07/09 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
Tornado服务器中绑定域名、虚拟主机的方法
2014/08/22 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
详解python的数字类型变量与其方法
2016/11/20 Python
使用Python实现牛顿法求极值
2020/02/10 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
html5唤起app的方法
2017/11/30 HTML / CSS
世界上最大的售后摩托车零配件超市:J&P Cycles
2017/12/08 全球购物
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
会计自我鉴定范文
2013/10/06 职场文书
加拿大留学自荐信
2014/01/28 职场文书
公务员综合考察材料
2014/02/01 职场文书
党员公开承诺书
2014/03/25 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
退学证明范本3篇
2014/10/29 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
python之django路由和视图案例教程
2021/07/26 Python
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS