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

本文实例为大家分享了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,name,data.date,data.pv,data.fromTime,data.toTime);
 },error : function() {
 alert('服务器异常!')
 }
 });*/
 //假设已经获取到json数据
 var data = getStaticJsonData();
 coinConsumeChart( chartId,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,detailUrl,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,'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,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>

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)