echart.js 之 柱狀圖

今天一個(gè)星期的努力,終于對(duì)于echar.js圖表有了深刻的形象,哎,以前覺(jué)得做一個(gè)圖表有多難,現(xiàn)在發(fā)現(xiàn)不是做圖有多難,而是圖的數(shù)據(jù)都弄不懂,根本做不出來(lái)。。。廢話(huà)不多說(shuō)了開(kāi)始講解。
我們先來(lái)看下我們要做的效果:

Paste_Image.png

是不是覺(jué)得這張圖,不好做呀,接下來(lái)我們一步一步的講解;

在官網(wǎng),有一個(gè)最簡(jiǎn)單的案例,我們基于最簡(jiǎn)單的案例進(jìn)行開(kāi)發(fā);做成我們上圖樣子;

代碼:

<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <script type="text/javascript" src="https://cdn.bootcss.com/echarts/3.5.3/echarts.min.js"></script>
</head>
<body>
    <!-- 為 ECharts 準(zhǔn)備一個(gè)具備大?。▽捀撸┑?DOM -->
    <div id="main" style="width: 600px;height:400px;"></div>
</body>

這是我們需要寫(xiě)的html的基本代碼結(jié)構(gòu);接下來(lái)我們寫(xiě)js

//獲取頁(yè)面節(jié)點(diǎn),并進(jìn)行圖表初始化
 var myChart = echarts.init(document.getElementById('main'));
// 接受數(shù)據(jù)的變量
var info =[ 
                {
                    name: '農(nóng)村戶(hù)籍',
                    type: 'bar',//這個(gè)就是顯示,圖表是什么什么類(lèi)型的圖,‘bar'代表的就是柱狀圖
                    stack: '總量1', //這個(gè)是什么呢?如果上下兩個(gè)人名字一樣的柱狀圖就會(huì)重合起來(lái)。
                    data: []
                },
                {
                    name :'城鎮(zhèn)戶(hù)籍',
                    type :'bar',
                    stack: '總量1',//
                    data :[]
                }
            ];
//定義橫坐標(biāo)(x軸顯示什么東西)
var cityName=[];
//接下來(lái)是一個(gè)圖表參數(shù)的變量
var option = {
            color:['#5292CD','#9AD94C'], //定義柱狀圖的顏色
            backgroundColor:'gray',//定義圖的北京顏色
            title:{ //這個(gè)是控制標(biāo)題部分
                text:'各區(qū)縣老人數(shù)量分布', 這
                left: 'center'
            },
            tooltip: { //這個(gè)是用來(lái)控制鼠標(biāo)劃上去顯示什么內(nèi)容
                trigger: 'axis',
                axisPointer : {            // 坐標(biāo)軸指示器,坐標(biāo)軸觸發(fā)有效
                    type : 'shadow'        // 默認(rèn)為直線(xiàn),可選為:'line' | 'shadow'
                }
            },
            legend: { //這個(gè)翻譯是傳奇的意思,這個(gè)主要和series里面的對(duì)應(yīng)使用
                top:30,
                left: 10,
                data: ['農(nóng)村戶(hù)籍','城鎮(zhèn)戶(hù)籍']
            },
            xAxis:{//控制X軸
                type:'category',
                data:cityName,
                axisTick: {
                    alignWithLabel:true
                }
            },
            yAxis:{ //控制y軸
                type:'value',
                
            },
                        // 數(shù)據(jù)要想顯示全靠它了
            series:info
        };
          $.ajax({
            url: './data.json',
            success: function(success){
                var data = success.data;
                
                data.forEach(function(v,i){
                    if(v.registerStats == '農(nóng)村戶(hù)籍'){
                        info[0].data.push(v.sCount);
                        cityName.push(v.cityName);
                    }else {
                        info[1].data.push(v.sCount);
                    }
                })
                
                myChart.setOption(option);
            }
        })

最后我們通過(guò)一個(gè)ajax,獲取到數(shù)據(jù),然后把他們數(shù)據(jù)進(jìn)行解析,分別放到info,和cityName中;

接下來(lái)我要分析下數(shù)據(jù)data.js,

Paste_Image.png

由于這是公司的數(shù)據(jù),所以不能公開(kāi),所以只能讓大家看一下格式,然后得到數(shù)據(jù)后我們自己整理下數(shù)據(jù)就可以使用了

Paste_Image.png

整理方式如上圖;
這樣子我們就可以畫(huà)出圖了,具體的api還要參考官網(wǎng)文檔,我們就大概講解下其用法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容