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 装载iframe子页面,自适应高度
Mar 20 Javascript
20个非常有用的PHP类库 加速php开发
Jan 15 Javascript
javascript 内存回收机制理解
Jan 17 Javascript
js写一个字符串转成驼峰的实例
Jun 21 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
Nov 19 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
May 12 Javascript
ashx文件获取$.ajax()方法发送的数据
May 26 Javascript
Angular.js实现注册系统的实例详解
Dec 18 Javascript
Bootstrap和Java分页实例第一篇
Dec 23 Javascript
vue过渡和animate.css结合使用详解
Jun 14 Javascript
JS基于递归实现网页版计算器的方法分析
Dec 20 Javascript
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
Apr 30 Vue.js
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 curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
Laravel 5框架学习之向视图传送数据
2015/04/08 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
javascript 四则运算精度修正函数代码
2010/05/31 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
大专应届生个人简历的自我评价
2013/10/15 职场文书
小饰品店的创业计划书范文
2013/12/28 职场文书
教育技术学专业职业规划书
2014/03/03 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
2015年七一建党节慰问信
2015/03/23 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
Django使用echarts进行可视化展示的实践
2021/06/10 Python