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 相关文章推荐
PJBlog插件 防刷新的在线播放器
Oct 25 Javascript
6个DIV 135或246间隔一秒轮番显示效果
Jul 24 Javascript
javascript异步编程的4种方法
Feb 19 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
Dec 08 Javascript
浅析Javascript中“==”与“===”的区别
Dec 23 Javascript
JavaScript中用字面量创建对象介绍
Dec 31 Javascript
vue之数据交互实例代码
Jun 20 Javascript
微信小程序 开发MAP(地图)实例详解
Jun 27 Javascript
vue.js轮播图组件使用方法详解
Jul 03 Javascript
在vue里使用codemirror遇到的问题
Nov 01 Javascript
vue项目前端埋点的实现
Mar 06 Javascript
在Vue项目中使用Typescript的实现
Dec 19 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 连接mysql连接被重置的解决方法
2011/02/15 PHP
关于php连接mssql:pdo odbc sql server
2011/07/20 PHP
php实现的css文件背景图片下载器代码
2014/11/11 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
为Yahoo! UI Extensions Grid增加内置的可编辑器
2007/03/10 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
python计算N天之后日期的方法
2015/03/31 Python
Python统计单词出现的次数
2018/04/04 Python
Python编写带选项的命令行程序方法
2019/08/13 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
html5 canvas 使用示例
2010/10/22 HTML / CSS
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
客户经理岗位职责
2013/12/08 职场文书
甜点店创业计划书
2014/01/27 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
论文诚信承诺书
2014/05/23 职场文书
药剂专业自荐书
2014/06/20 职场文书
第一批党的群众路线教育实践活动总结报告
2014/07/03 职场文书
院党委组织查摆问题对照检查材料思想汇报2014
2014/10/08 职场文书
入党政审材料范文
2014/12/24 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
推荐六本经典文学奖书籍:此生必读
2019/08/22 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers