1. 程式人生 > >echart異步刷新圖表,詳細配置註釋

echart異步刷新圖表,詳細配置註釋

doc fun als 否則 初始化 ott 組件 異步 order

效果預覽:

技術分享

直接上代碼:(用之前務必要引入echart.js插件)

<body>
    <!-- 數據選擇 -->
    <ul class="tab_menu clearfix">
        <li id="week_data" class="active">7天</li>
        <li id="month_data" >30天</li>
        <li id="time_sec" class="time_box"><input class="form-control"
value="選擇時間"></li> </ul> <!-- 數據展示 --> <div class="chart_show"> <ul class="chart_menu clearfix"> <li class="active">轉化與用戶</li> <li>登錄與購買</li> </ul> <ul class="chart_list"> <
li class="active"> <div class="chart_box clearfix"> <div class="col-xs-6"> <div id="chart_box" style="width: 100%;height:400px;margin:0 auto;"></div> </div> <div class="col-xs-6"
></div> </div> </li> <li> 22222 </li> </ul> </div> </div> <script src="js/user.js"></script> <script> $(function(){ //頁面初始化時加載圖表 mychart1(week); $("#week_data").on(click,function(){ //alert(‘請求7天數據‘); myChart1.clear(); //清空原來的圖表 mychart1(week); //重新加載圖表,之前必須要清空原來的,否則沒有動畫效果 }); $("#month_data").on(click,function(){ //alert(‘請求30天數據‘); myChart1.clear(); //清空原來的圖表 mychart1(month); //重新加載圖表,之前必須要清空原來的,否則沒有動畫效果 }); $("#time_sec").on(click,function(){ //alert(‘請求時間段的數據‘); myChart1.clear(); //清空原來的圖表 mychart1(time_sec); //重新加載圖表,之前必須要清空原來的,否則沒有動畫效果 }); }) </script> </body>

js函數:

// 基於準備好的dom,初始化echarts實例
var myChart1 = echarts.init(document.getElementById(‘chart_box‘));


function mychart1(time){
    if(time==‘week‘){
        //請求周數據
        //模周擬數據
        var renShu = [20, 49, 70];
        var zhuanHuaLv = [26, 59, 20];
    }else if(time==‘month‘){
        //請求月數據
        //模擬月數據
        var renShu = [10, 29, 10];
        var zhuanHuaLv = [6, 29, 35];
    }else{
        //請求時間段數據
        //模擬時間段數據
        alert(time);
        var renShu = [50, 89, 40];
        var zhuanHuaLv = [60, 39, 75];

    };
        //配置及數據
        optionWeek = {
            title: {
                text: ‘用戶轉換率‘,//圖表標題
                subtext: ‘人數‘//數據標題
            },
            tooltip: {
                trigger: ‘axis‘,    //提示觸發類型      ‘item‘:數據項圖形觸發,主要在散點圖,餅圖等無類目軸的圖表中使用。
                                                //‘axis‘:坐標軸觸發,主要在柱狀圖,折線圖等會使用類目軸的圖表中使用。
                                                //‘none‘:什麽都不觸發。
                show:true,     //是否顯示提示框組件 默認為true
                axisPointer: {
                    type: ‘cross‘,
                    crossStyle: {
                        color: ‘#999‘
                    }
                }
            },
            toolbox: {
                feature: {  //各工具配置項。
                    dataView: {show: true, readOnly: false},
                    magicType: {show: true, type: [‘line‘, ‘bar‘]},
                    restore: {show: true},
                    saveAsImage: {show: true}
                }
            },
            legend: {
                data:[‘人數‘,‘轉化率‘]
            },
            xAxis: [
                {
                    type: ‘category‘,
                    data: [‘訪客人數‘,‘下單人數‘,‘支付人數‘],
                    axisPointer: {
                        type: ‘shadow‘
                    }
                }
            ],
            yAxis: [
                {
                    type: ‘value‘,
                    name: ‘人數‘,
                    min: 0,
                    //max: 250,
                    interval: 50,
                    axisLabel: {
                        formatter: ‘{value} 人‘
                    }
                },
                {
                    type: ‘value‘,
                    name: ‘轉化率‘,
                    min: 0,
                    max: 100,
                    interval: 25,   //縱坐標間隔
                    axisLabel: {
                        formatter: ‘{value} %‘
                    }
                }
            ],
            series: [
                {
                    name:‘人數‘,
                    type:‘bar‘,         //bar表示柱狀圖
                    data:renShu,//數據
                    itemStyle: {    //更多柱狀圖樣式搜索API:series-bar.itemStyle
                  normal: {
                        color: ‘#FF7400‘,//改變柱狀的顏色
                        borderColor:‘red‘, //描邊的顏色:默認#000
                                        borderWidth:0,  //描邊的寬度     默認:0
                                        borderType:‘solid‘,  //描邊的類型:‘dashed‘, ‘dotted‘,‘solid‘(默認)
                                        /*
                                        更多樣式:
                                        barBorderRadius:柱狀的圓角
                                        shadowBlur:圖形陰影的模糊大小。該屬性配合 shadowColor,shadowOffsetX, shadowOffsetY 一起設置圖形的陰影效果。
                                        shadowColor,shadowOffsetX, shadowOffsetY :圖形陰影效果
                                        */
                      }
                    },
                },
                {
                    name:‘轉化率‘,
                    type:‘line‘,        //line表示折線圖
                    data:zhuanHuaLv,
                    itemStyle: {    //更多折線圖線條樣式搜索API:series-line.itemStyle
                  normal: {
                    color: ‘#009999‘,//改變折線點的顏色
                    lineStyle: {    //改變折線樣式
                      color: ‘#009999‘, //改變折線顏色
                                        width:3,    //改變線條的粗細
                    },
                                    
                                    
                  }
                },
                }
            ]
        };
        // 使用剛指定的配置項和數據顯示圖表。
        myChart1.setOption(optionWeek);
}        

echart異步刷新圖表,詳細配置註釋