Echarts一個頁面加載多個圖表及圖表自適應


Echarts一個頁面加載多個圖表及圖表自適應

模塊化加載

//入口
require.config({
    paths: {
        echarts: 'http://echarts.baidu.com/build/dist'
    }
});
//按需加載=====================================================
require([
        'echarts','echarts/chart/bar',
        'echarts/chart/line'
    ],
    drawEcharts // 加載一個圖表函數的集合
);

//需要加載封裝好的圖表函數
function drawEcharts(ec){
  MaterialReserves(ec);
    VectorIntelligent(ec);
}

//定義一個數組,作為圖表只適應存儲
var echarts = [];

加載兩個圖表

/*物資儲備情況圖表 ==========================================================================================*/

function MaterialReserves(ec) {
    var MaterialReservesEcharts = ec.init(document.getElementById('material-reserves'));
    var option = {
        title : {
            text: '某地區蒸發量和降水量',
            subtext: '純屬虛構'
        },
        tooltip : {
            trigger: 'axis'
        },
        legend: {
            data:['蒸發量','降水量']
        },
        toolbox: {
            show : true,
            feature : {
                mark : {show: true},
                dataView : {show: true, readOnly: false},
                magicType : {show: true, type: ['line', 'bar']},
                restore : {show: true},
                saveAsImage : {show: true}
            }
        },
        calculable : true,
        xAxis : [
            {
                type : 'category',
                data : ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']
            }
        ],
        yAxis : [
            {
                type : 'value'
            }
        ],
        series : [
            {
                name:'蒸發量',
                type:'bar',
                data:[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
                markPoint : {
                    data : [
                        {type : 'max', name: '最大值'},
                        {type : 'min', name: '最小值'}
                    ]
                },
                markLine : {
                    data : [
                        {type : 'average', name: '平均值'}
                    ]
                }
            },
            {
                name:'降水量',
                type:'bar',
                data:[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],
                markPoint : {
                    data : [
                        {name : '年最高', value : 182.2, xAxis: 7, yAxis: 183, symbolSize:18},
                        {name : '年最低', value : 2.3, xAxis: 11, yAxis: 3}
                    ]
                },
                markLine : {
                    data : [
                        {type : 'average', name : '平均值'}
                    ]
                }
            }
        ]
    };
        MaterialReservesEcharts.setOption(option);
        echarts.push(MaterialReservesEcharts);
    };

/*火災熱點統計=======================================================================*/

function VectorIntelligent(ec){
    var VectorIntelligentEcharts = ec.init(document.getElementById('vector-intelligent'));
    var option = {
        title : {
            text: '未來一周氣溫變化',
            subtext: '純屬虛構'
        },
        tooltip : {
            trigger: 'axis'
        },
        legend: {
            data:['最高氣溫','最低氣溫']
        },
        toolbox: {
            show : true,
            feature : {
                mark : {show: true},
                dataView : {show: true, readOnly: false},
                magicType : {show: true, type: ['line', 'bar']},
                restore : {show: true},
                saveAsImage : {show: true}
            }
        },
        calculable : true,
        xAxis : [
            {
                type : 'category',
                boundaryGap : false,
                data : ['周一','周二','周三','周四','周五','周六','周日']
            }
        ],
        yAxis : [
            {
                type : 'value',
                axisLabel : {
                    formatter: '{value} °C'
                }
            }
        ],
        series : [
            {
                name:'最高氣溫',
                type:'line',
                data:[11, 11, 15, 13, 12, 13, 10],
                markPoint : {
                    data : [
                        {type : 'max', name: '最大值'},
                        {type : 'min', name: '最小值'}
                    ]
                },
                markLine : {
                    data : [
                        {type : 'average', name: '平均值'}
                    ]
                }
            },
            {
                name:'最低氣溫',
                type:'line',
                data:[1, -2, 2, 5, 3, 2, 0],
                markPoint : {
                    data : [
                        {name : '周最低', value : -2, xAxis: 1, yAxis: -1.5}
                    ]
                },
                markLine : {
                    data : [
                        {type : 'average', name : '平均值'}
                    ]
                }
            }
        ]
    };
                    
    
    VectorIntelligentEcharts.setOption(option); 
    echarts.push(VectorIntelligentEcharts);
}

圖表加載點擊事件

ChongQingMapEcharts.on('click',function(param){ //ChongQingMapEcharts 是獲取圖表容器所賦值的一個變量
  console.log(param);
});

瀏覽器縮放圖表自適應

window.onresize=function(){
        for(var i = 0;i<echarts.length;i++){
            echarts[i].resize();
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM