溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Echarts如何實現(xiàn)單條折線可拖拽效果

發(fā)布時間:2021-05-28 14:33:25 來源:億速云 閱讀:510 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細講解有關(guān)Echarts如何實現(xiàn)單條折線可拖拽效果,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

本文實例為大家分享了Echarts單條折線可拖拽的具體代碼,供大家參考,具體內(nèi)容如下

1、步驟:

    1)、封裝Echarts折線圖方法coinConsumeChart(),提取出公共的部分;
    2)、AJax獲取后臺數(shù)據(jù)傳參至Echarts公共方法;
    3)、模擬后臺獲取的json數(shù)據(jù);
    4)、給dayComment()方法值開始執(zhí)行。

2、效果:

Echarts如何實現(xiàn)單條折線可拖拽效果

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準備一個具備大?。▽捀撸┑腄om -->
 <div id='consume_line' > </div>
</body>
</html>
<script type="text/javascript">
 /**
 * @todo 加載echarts方法
 * @url:異步請求路徑
 * @chartId:請求的echart的id
 * @titleText:標題名
 * @detailHref:跳轉(zhuǎn)路徑
 * @name:圖例名
 */
 function dayComment(url,chartId,titleText,detailHref, name) {
 /*$.ajax({//Ajax請求你要展現(xiàn)的數(shù)據(jù)
 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('服務(wù)器異常!')
 }
 });*/
 //假設(shè)已經(jīng)獲取到j(luò)son數(shù)據(jù)
 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軸數(shù)據(jù)
 * @param seriesData Y軸數(shù)據(jù)
 * @param fromTime 默認開始節(jié)點
 * @param toTime 默認結(jié)束節(jié)點
 * */
 function coinConsumeChart( chartId , titleText, detailUrl, name, xAxisData, seriesData , fromTime, toTime){
 // 指定圖表的配置項和數(shù)據(jù)
 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 //拖拽條結(jié)束時間
  },
  xAxis : [
   {
    type : 'category',
    boundaryGap : false,
    data : xAxisData
   }
  ],
  yAxis : [
   {
    type : 'value'
   }
  ],
  series : [
   {
    name: name,
    type:'line',
    data: seriesData,
   },
  ]
 };
      
 
 // 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
 myChart.setOption( option );
 }
 
 //模擬AJax請求獲取返回的json數(shù)據(jù)
 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消費'); //執(zhí)行
</script>

關(guān)于“Echarts如何實現(xiàn)單條折線可拖拽效果”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI