echarts圖表數據信息動態獲取

最近開發項目用到echarts圖表展現數據信息,須要調用後臺接口,寫一篇博客來記錄一下實現過程,末尾附源碼javascript

 

首先準備一個json文件echarts.json(名字無所謂),用來模擬從後臺獲取數據 css

 

第二步上echarts官網下載,或直接引用生成圖表用到的js,這裏給出官網:https://www.echartsjs.com/index.htmlhtml

而後在頁面直接引用  java

這裏給出echarts.js的下載連接:https://echarts.baidu.com/dist/echarts.min.jsjson

 

第三步在body中準備一個容器,用來顯示圖表echarts

 

緊接着在js中初始化echarts對象,直接上代碼異步

<script type="text/javascript">
            var container = document.getElementById('container');
            // 初始化加載對象myContainer
            var myContainer = echarts.init(container);
            //未獲取數據前,顯示loading加載動畫
            myContainer.showLoading();

            function bindData() {
                //爲了效果明顯,咱們作了延遲讀取數據
                setTimeout(function() {
                    //異步加載數據,get請求咱們剛剛準備的json文件,正式開發中調用相應的接口
                    $.get('js/echarts.json', function(res) {
                        console.log(res)
                        //獲取數據後,隱藏loading動畫
                        myContainer.hideLoading();
                        myContainer.setOption(option = {
                            title: {
                                text: 'echartsLoading加載'
                            },
                            tooltip: {},
                            legend: {},
                            // xAxis表明x軸的數據
                            xAxis: {
                                data: res.name,
                                // 字段對應從json裏面的字段
                            },
                            // yAxis表明y軸的數據,不寫會自動適應數據
                            yAxis: {},
                            // series表明鼠標懸浮到圖標上時提示的對應信息
                            series: [{
                                name: '訪問量',
                                type: 'bar',
                                data: res.data,
                                // 字段對應從json裏面的字段
                            }]
                        });
                    })
                }, 2000)
            }
            bindData();
        </script>

看到這裏若是能生成一個柱狀圖,那麼恭喜你已經能夠從後臺獲取數據了ide

 

若是尚未的話就看所有代碼吧,加油哦post

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>echarts-異步加載數據</title>
        <link rel="stylesheet" href="11.scss">
        <script src="js/eacher.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="js/new_file.js" type="text/javascript" charset="utf-8"></script>
        <style>
            #container{
                width: 500px;
                height: 400px;
                border: 1px solid #ccc;
                /**/
            }
    </style>
    </head>
    <body>
        <div id="container"></div>
        <!--  -->
        <script type="text/javascript">
            var container = document.getElementById('container');
            // 初始化加載對象myContainer
            var myContainer = echarts.init(container);
            //未獲取數據前,顯示loading加載動畫
            myContainer.showLoading();

            function bindData() {
                //爲了效果明顯,咱們作了延遲讀取數據
                setTimeout(function() {
                    //異步加載數據,get請求咱們剛剛準備的json文件,正式開發中調用相應的接口
                    $.get('js/echarts.json', function(res) {
                        console.log(res)
                        //獲取數據後,隱藏loading動畫
                        myContainer.hideLoading();
                        myContainer.setOption(option = {
                            title: {
                                text: 'echartsLoading加載'
                            },
                            tooltip: {},
                            legend: {},
                            // xAxis表明x軸的數據
                            xAxis: {
                                data: res.name,
                                // 字段對應從json裏面的字段
                            },
                            // yAxis表明y軸的數據,不寫會自動適應數據
                            yAxis: {},
                            // series表明鼠標懸浮到圖標上時提示的對應信息
                            series: [{
                                name: '訪問量',
                                type: 'bar',
                                data: res.data,
                                // 字段對應從json裏面的字段
                            }]
                        });
                    })
                }, 2000)
            }
            bindData();
        </script>
    </body>
</html>

json文件動畫

{
    "name":["iso","english","china","ufo","seo"],
    "data":[400,200,300,100,11]
}

效果圖

轉載於:https://www.cnblogs.com/songzxblog/p/11383879.html

相關文章
相關標籤/搜索