圖表庫(kù)ECharts介紹

開發(fā)一個(gè)信息系統(tǒng),報(bào)表模塊是必不可少的,尤其是對(duì)于甲方管理人員來(lái)說(shuō),看的就是匯總、結(jié)果、趨勢(shì)、各種維度的數(shù)據(jù)展現(xiàn),所以圖表類的開發(fā)非常重要,直接影響到甲方買單人對(duì)系統(tǒng)價(jià)值的關(guān)鍵評(píng)估。

01.Canvas

HTML5出世以后,帶來(lái)了一個(gè)<canvas>標(biāo)簽,基于canvas使用JavaScript在網(wǎng)頁(yè)上繪制圖像,畫布是一個(gè)矩形區(qū)域,我們可以控制其每一個(gè)像素。

02.ECharts

2016年開始關(guān)注一款叫《ECharts》的圖表庫(kù),是基于html5 Canvas的。能夠快速讓你看到漂亮的效果。比如下面這個(gè)簡(jiǎn)單的圖表:


圖片.png

只要準(zhǔn)備好一個(gè)JSON格式的數(shù)據(jù)源就可以了:

<script type="text/javascript">
    require.config({
        paths: {
            echarts: 'js/'
        }
    });
    require(
        [
            'echarts',
            'echarts/chart/bar' //1. 使用柱狀圖就加載bar模塊,按需加載
        ],
        function (ec) {
            //2. 基于準(zhǔn)備好的dom,初始化echarts圖表
            var myChart = ec.init(document.getElementById('report')); 
            //3. 準(zhǔn)備JSON格式的數(shù)據(jù)源
            var option = {
                        title : {
                            text: '股票價(jià)格趨勢(shì)圖',
                            subtext: '2017年11月第3周',
                        },
                        legend: {
                            data:['科大訊飛','中科信息','浪潮信息']
                        },
                        xAxis : [
                            {
                                type : 'category',
                                data : ['周一','周二','周三','周四','周五']
                            }
                        ],
                        yAxis : [
                            {
                                type : 'value'
                            }
                        ],
                        series : [
                            {
                                name:'科大訊飛',
                                type:'bar',
                                barWidth:75,
                                stack: '總量',
                                data:[58, 58.8, 56.5, 62, 64]
                            },
                            {
                                name:'中科信息',
                                type:'bar',
                                barWidth:75,
                                stack: '總量',
                                data:[79, 81, 82.8, 81.2, 80.8]
                            },
                            {
                                name:'浪潮信息',
                                type:'bar',
                                barWidth:75,
                                stack: '總量',
                                data:[21.37, 22.66, 20.58, 21, 22.5]
                            }
                        ]
                    };
            //4. 為echarts對(duì)象加載數(shù)據(jù) 
            myChart.setOption(option); 
        }
    );
</script>

這樣就可以了。

03.對(duì)應(yīng)Java庫(kù)

正常情況下,展現(xiàn)到報(bào)表的數(shù)據(jù)都是動(dòng)態(tài)生成的,如果用java語(yǔ)言編程的話,那構(gòu)建JSON格式時(shí)需要對(duì)應(yīng)的一套Java庫(kù)。網(wǎng)上有一個(gè)開源的,可以參考:https://github.com/abel533/ECharts

ECharts支持幾十種類型的圖表,簡(jiǎn)單易用,幫助手冊(cè)也很給力,我會(huì)繼續(xù)關(guān)注并應(yīng)用到實(shí)際工作中。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容