echart.js 之 柱狀圖

今天一個星期的努力,終于對于echar.js圖表有了深刻的形象,哎,以前覺得做一個圖表有多難,現在發現不是做圖有多難,而是圖的數據都弄不懂,根本做不出來。。。廢話不多說了開始講解。
我們先來看下我們要做的效果:

Paste_Image.png

是不是覺得這張圖,不好做呀,接下來我們一步一步的講解;

在官網,有一個最簡單的案例,我們基于最簡單的案例進行開發;做成我們上圖樣子;

代碼:

<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 準備一個具備大小(寬高)的 DOM -->
    <div id="main" style="width: 600px;height:400px;"></div>
</body>

這是我們需要寫的html的基本代碼結構;接下來我們寫js

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

最后我們通過一個ajax,獲取到數據,然后把他們數據進行解析,分別放到info,和cityName中;

接下來我要分析下數據data.js,

Paste_Image.png

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

Paste_Image.png

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容