使用Echarts幾分鐘制作出折線(xiàn)圖、餅圖、柱狀圖等

ECharts,縮寫(xiě)來(lái)自Enterprise Charts。 ECharts,不僅是國(guó)內(nèi)關(guān)注度最高的開(kāi)源項(xiàng)目,還是中國(guó)第一個(gè)也是目前唯一一個(gè)入選了Github Explorer Data Visualization板塊的開(kāi)源項(xiàng)目。
這里咱們結(jié)合上篇提到的Bootstrap簡(jiǎn)單柵格框架,來(lái)做一個(gè)小小的布局。學(xué)以致用嘛。從來(lái)不喜歡贅述,直接上代碼,一切的解釋?zhuān)?qǐng)看代碼注釋?zhuān)?/p>

成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供北戴河網(wǎng)站建設(shè)、北戴河做網(wǎng)站、北戴河網(wǎng)站設(shè)計(jì)、北戴河網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、北戴河企業(yè)網(wǎng)站模板建站服務(wù),十年北戴河做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

<script type="text/javascript" src="js/jquery.min.js" ></script>
<script type="text/javascript" src="js/echarts.js" ></script>
<script type="text/javascript" src="js/vintage.js" ></script><!--Echarts主題-->
<script type="text/javascript" src="js/bootstrap.js" ></script><!--Bootstrap框架 -->
<link rel="stylesheet" href="css/bootstrap.css" />
<body>
      <div class="container">
        <div class="row">
            <div id="pie_photo_id" class="col-md-4" ><!--餅圖-->
            </div>
            <div id="line_photo_id" class="col-md-4" ><!-- 折線(xiàn)圖-->
            </div>
            <div id="bar_photo_id" class="col-md-4" ><!-- 柱狀圖-->
            </div>
        </div>
    </div>
</body>
<script>
    $(document).ready(function(){
        /**餅圖*/
        var myChart = echarts.init(document.getElementById('pie_photo_id'), 'vintage');
        /*myChart:為Echart對(duì)象
          pie_photo_id:顯示位置
          vintage:圖表的主題*/
        option = {//Echarts的參數(shù)配置
            title : {//標(biāo)題
                text: '餅圖的標(biāo)題',//主標(biāo)題
                subtext: '形容詞',//fubiaoti 
                x:'center'
            },
            tooltip : {//提示
                trigger: 'item',//觸發(fā)提示的類(lèi)型:數(shù)據(jù)項(xiàng)圖形觸發(fā),主要在散點(diǎn)圖,餅圖等無(wú)類(lèi)目軸的圖表中使用。
                formatter: "{a} <br/> : {c} (fxp5sfx%)"http://提示框浮層內(nèi)容格式器,支持字符串模板和回調(diào)函數(shù)兩種形式。
            },
            legend: {//圖例組件。
                orient: 'vertical',//圖例列表的布局朝向。
                left: 'left',//圖例組件離容器左側(cè)的距離。
                data: ['類(lèi)型1','類(lèi)型2','類(lèi)型3','類(lèi)型4','類(lèi)型5']
                /**
                 * 圖例的數(shù)據(jù)數(shù)組。數(shù)組項(xiàng)通常為一個(gè)字符串,每一項(xiàng)代表一個(gè)系列的 name
                 * (如果是餅圖,也可以是餅圖單個(gè)數(shù)據(jù)的 name)。圖例組件會(huì)自動(dòng)根據(jù)對(duì)
                 * 應(yīng)系列的圖形標(biāo)記(symbol)來(lái)繪制自己的顏色和標(biāo)記,特殊字符串 ''
                 * (空字符串)或者 '\n'(換行字符串)用于圖例的換行。
                    如果 data 沒(méi)有被指定,會(huì)自動(dòng)從當(dāng)前系列中獲取。
                    多數(shù)系列會(huì)取自 series.name 或者 series.encode 的 seriesName 所指定的維度。
                    如 餅圖 and 漏斗圖 等會(huì)取自 series.data 中的 name。
                    如果要設(shè)置單獨(dú)一項(xiàng)的樣式,也可以把該項(xiàng)寫(xiě)成配置項(xiàng)對(duì)象。
                    此時(shí)必須使用 name 屬性對(duì)應(yīng)表示系列的 name。
                 */
            },
            series : [ //系列列表。每個(gè)系列通過(guò) type 決定自己的圖表類(lèi)型
                {
                    name: '提示信息',
                    type: 'pie',
                    /**
                     * 餅圖主要用于表現(xiàn)不同類(lèi)目的數(shù)據(jù)在總和中的占比。
                     * 每個(gè)的弧度表示數(shù)據(jù)數(shù)量的比例。
                     */
                    radius : '55%',
                    center: ['50%', '60%'],
                    data:[
                        {value:335, name:'類(lèi)型1'},
                        {value:310, name:'類(lèi)型2'},
                        {value:234, name:'類(lèi)型3'},
                        {value:135, name:'類(lèi)型4'},
                        {value:1548, name:'類(lèi)型5'}
                    ],
                    itemStyle: {//圖形樣式。
                        emphasis: {
                            shadowBlur: 10,//圖形陰影的模糊大小。
                            shadowOffsetX: 0,//陰影水平方向上的偏移距離。
                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                            /**
                             * 顏色可以使用 RGB 表示,比如 'rgb(128, 128, 128)',
                             * 如果想要加上 alpha 通道表示不透明度,可以使用 RGBA,
                             * 比如 'rgba(128, 128, 128, 0.5)',
                             * 也可以使用十六進(jìn)制格式,比如 '#ccc'。
                             * 除了純色之外顏色也支持漸變色和紋理填充
                             */
                        }
                    }
                }
            ]
        };
        myChart.setOption(option);
    })
    /**折線(xiàn)圖*/
    var lineChart = echarts.init(document.getElementById('line_photo_id'), 'vintage');
        option = {
        title: {
            text: '某某消費(fèi)情況分布',
            subtext: '副標(biāo)題'
        },
        tooltip: {
            trigger: 'axis',//坐標(biāo)軸觸發(fā),主要在柱狀圖,折線(xiàn)圖等會(huì)使用類(lèi)目軸的圖表中使用。
            axisPointer: {//坐標(biāo)軸指示器配置項(xiàng)。
                type: 'cross'
            }
        },
        toolbox: {//工具欄。內(nèi)置有導(dǎo)出圖片,數(shù)據(jù)視圖,動(dòng)態(tài)類(lèi)型切換,數(shù)據(jù)區(qū)域縮放,重置五個(gè)工具。
            show: true,//是否顯示工具欄
            feature: {
                saveAsImage: {}//保存為圖片
            }
        },
        xAxis:  {
            /**直角坐標(biāo)系 grid 中的 x 軸,一般情況下單個(gè) grid 組件最多只能放上下兩個(gè) x 軸,
             * 多于兩個(gè) x 軸需要通過(guò)配置 offset 屬性防止同個(gè)位置多個(gè) x 軸的重疊。
             */
            type: 'category',// 類(lèi)目軸,適用于離散的類(lèi)目數(shù)據(jù),為該類(lèi)型時(shí)必須通過(guò) data 設(shè)置類(lèi)目數(shù)據(jù)。
            boundaryGap: false,//坐標(biāo)軸兩邊留白策略,類(lèi)目軸和非類(lèi)目軸的設(shè)置和表現(xiàn)不一樣。
            data: ['00:00', '01:15', '02:30', '03:45', '05:00', '06:15', '07:30', 
                    '08:45', '10:00', '11:15', '12:30', '13:45', '15:00', '16:15', 
                    '17:30', '18:45', '20:00', '21:15', '22:30', '23:45']
            /**類(lèi)目數(shù)據(jù),在類(lèi)目軸(type: 'category')中有效。
             */
        },
        yAxis: {
            /**直角坐標(biāo)系 grid 中的 y 軸,一般情況下單個(gè) grid 
             * 組件最多只能放左右兩個(gè) y 軸,多于兩個(gè) y 軸
             * 需要通過(guò)配置 offset 屬性防止同個(gè)位置多個(gè) Y 軸的重疊。
             */
            type: 'value',//坐標(biāo)軸類(lèi)型。數(shù)值軸,適用于連續(xù)數(shù)據(jù)。
            axisLabel: {//坐標(biāo)軸刻度標(biāo)簽的相關(guān)設(shè)置。
                formatter: '{value} W'//刻度標(biāo)簽的內(nèi)容格式器,支持字符串模板和回調(diào)函數(shù)兩種形式。
            },
            axisPointer: {//折疊詳情
                snap: true//坐標(biāo)軸指示器是否自動(dòng)吸附到點(diǎn)上。默認(rèn)自動(dòng)判斷。
            }
        },
        visualMap: {//視覺(jué)映射組件,用于進(jìn)行『視覺(jué)編碼』,也就是將數(shù)據(jù)映射到視覺(jué)元素(視覺(jué)通道)。
            show: false,
            dimension: 0,
            pieces: [{
                lte: 6,
                color: 'green'
            }, {
                gt: 6,
                lte: 8,
                color: 'red'
            }, {
                gt: 8,
                lte: 14,
                color: 'green'
            }, {
                gt: 14,
                lte: 17,
                color: 'red'
            }, {
                gt: 17,
                color: 'green'
            }]
        },
        series: [
        /**折線(xiàn)圖是用折線(xiàn)將各個(gè)數(shù)據(jù)點(diǎn)標(biāo)志連接起來(lái)的圖表,
         * 用于展現(xiàn)數(shù)據(jù)的變化趨勢(shì)??捎糜谥苯亲鴺?biāo)系和極坐標(biāo)系上。
         */
            {
                name:'消費(fèi)指數(shù)',
                type:'line',
                smooth: true,//是否平滑曲線(xiàn)顯示。
                data: [300, 280, 250, 260, 270, 300, 550, 500, 400, 390,
                        380, 390, 400, 500, 600, 750, 800, 700, 600, 400],
                markArea: {//圖表標(biāo)域,常用于標(biāo)記圖表中某個(gè)范圍的數(shù)據(jù)
                    data: [ [{
                        name: '春季',
                        xAxis: '07:30'
                    }, {
                        xAxis: '10:00'
                    }], [{
                        name: '秋季',
                        xAxis: '17:30'
                    }, {
                        xAxis: '21:15'
                    }] ]
                }
            }
        ]
    };
    lineChart.setOption(option);
    /**柱狀圖*/
    var barChart = echarts.init(document.getElementById('bar_photo_id'), 'vintage');
    option = {
        title: {
            text: '主標(biāo)題',
            subtext: '副標(biāo)題'
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'shadow'
            }
        },
        legend: {
            data: ['2017年', '2018年']
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
        },
        xAxis: {
            type: 'value',
            boundaryGap: [0, 0.01]
        },
        yAxis: {
            type: 'category',
            data: ['y軸1','y軸2','y軸3','y軸4','y軸5','單位']
        },
        series: [
            {
                name: '2017年',
                type: 'bar',
                data: [18203, 23489, 29034, 104970, 131744, 630230]
            },
            {
                name: '2018年',
                type: 'bar',
                data: [19325, 23438, 31000, 121594, 134141, 681807]
            }
        ]
    };
    barChart.setOption(option);
</script>

演示效果:
使用Echarts幾分鐘制作出折線(xiàn)圖、餅圖、柱狀圖等
更多詳細(xì)內(nèi)容,請(qǐng)參照百度的Echarts官網(wǎng)。

分享文章:使用Echarts幾分鐘制作出折線(xiàn)圖、餅圖、柱狀圖等
分享URL:http://bm7419.com/article16/jcgogg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)外貿(mào)網(wǎng)站建設(shè)、App開(kāi)發(fā)服務(wù)器托管、全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)