ECharts的簡單入門

前言:

如果我們開發的項目中涉及到大量的數據分析,乾巴巴的數據展示肯定不是用戶想看到的,怎麼把數據更加形象生動的展示給用戶,就變得十分重要了。那麼就不得不說今天的主角ECharts,一個使用 JavaScript 實現的開源可視化庫,可以流暢的運行在 PC 和移動設備上,兼容當前絕大部分瀏覽器(IE8/9/10/11,Chrome,Firefox,Safari等),底層依賴矢量圖形庫 ZRender,提供直觀,交互豐富,可高度個性化定製的數據可視化圖表。這篇文章通過一個簡單的demo,帶你初步認識ECharts。

正文:

一、瀏覽器畫圖的原理

基於HTML和JavaScript的瀏覽器繪圖方式,依賴於各個瀏覽器內部所提供的圖形引擎。所以針對不同瀏覽器就誕生了不同的網絡圖形標準。

目前主流的網絡圖形標準包括兩種:

1.SVG:SVG 是由 W3C 制定的同樣基於 XML 的矢量圖形描述語言,SVG 元素是指示如何繪製圖像的一些指令,由圖形引擎解釋這些指令,把 SVG 圖像在瀏覽器上顯示出來。使用 SVG 可以在網頁上顯示出各種各樣的高質量的矢量圖形,其最明顯的特徵是靈活的文件格式,矢量圖形、位圖和文字三部分共同組成一個 SVG 圖形,並具備對運行中的 Web 頁面圖像進行實時修改的能力。

2.Canvas: Canvas 是指 HTML 5 中新加入的 canvas 元素,最初由 Apple 的 Safari 瀏覽器引入,而後受到 Firefox 和 Opera 的廣泛支持。Canvas 元素相對 SVG 的一個重要不同在於,canvas 提供了通過 JavaScript 繪製圖形的方法,每一個 canvas 元素都有一個上下文,在其中可以繪製任意圖形;而 SVG 使用 XML 文檔來描述圖形,開發人員通常通過修改其中的 XML 標記來完成對圖像的修改。

我們先簡單的看下兩個簡單的demo:

第一個是Canvas的

<!DOCTYPE HTML>
<html>
<body>

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>

<script type="text/javascript">

var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.beginPath();
cxt.arc(70,18,15,0,Math.PI*2,true);
cxt.closePath();
cxt.fill();

</script>

</body>
</html>

第二個是SVG的

<!DOCTYPE html>
<html>
<body>

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="190">
   <polygon points="100,10 40,180 190,60 10,60 160,180"
   style="fill:red;stroke:blue;stroke-width:3;fill-rule:evenodd;" />
</svg>
 
</body>
</html>

所以我看可以看出,canvas是通過js來繪製圖形,而SVG是在已有的圖像模型,對標籤的屬性修改來控制圖形。而ECharts是基於canvas來實現畫圖的。

二、什麼是ECharts

ECharts就是一個純JavaScript的圖標庫,給我們提供直觀,交互豐富,可高度個性化定製的數據可視化圖表,讓數據展示變得更加友好靈動。

三、ECharts支持的圖表類型很多,我們可以在ECharts的官網https://www.echartsjs.com/zh/index.html看到ECharts支持的類型,可以說能滿足我們的各種各樣的需求

四、ECharts如何使用

1.我們先看個demo,然後根據這個demo,看看怎麼具體學習echarts的使用,可以直接把這段代碼粘貼到你的開發軟件裏,但是要記得去官網先下載 echarts.js。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
    <script src="js/echarts.min.js"></script> //想使用ECharts必須要引入echarts.js
<body>
    <!-- 爲ECharts準備一個具備大小(寬高)的Dom -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
        // 基於準備好的dom,初始化echarts實例
        var myChart = echarts.init(document.getElementById('main'));

        // 指定圖表的配置項和數據
        var option = {
            title: { //------------------------------------------------圖表的標題
                text: 'ECharts 入門示例'
            },
            tooltip: {},//---------------------------------------------提示框
            legend: { //-----------------------------------------------圖例
                data:['銷量']
            },
            xAxis: { //------------------------------------------------x軸
                data: ["襯衫","羊毛衫","雪紡衫","褲子","高跟鞋","襪子"]
            },
            yAxis: {}//------------------------------------------------y軸
            series: [{//-----------------------------------------------系列列表。每個系列通過 type決定自己的圖表類型
                name: '銷量',
                type: 'bar',//-----------------------------------------柱狀圖
                data: [5, 20, 36, 10, 10, 20]
            }]
        };

        // 使用剛指定的配置項和數據顯示圖表。
        myChart.setOption(option);
    </script>
</body>
</html>

展示的效果:

在上面的官方demo裏我加了一些註釋,主要解釋這個是做什麼的。這個在官方網站的文檔裏都有詳細說明,可以從術語速查手冊和配置項手冊看到,尤其配置項手冊寫的超詳細,根據這些官方demo和文檔你可以很快上手。

總結:

ECharts學習起來還是很容易的,沒有太多的難點,因爲它是中國開源的文檔,所以中文文檔會很多,學習難度也就下降很多,想要玩轉他的展示效果,就趕緊跟着官方文檔操作一波,你會發現它真的是一款功能強大的可視化工具。

我是阿達,一名喜歡分享知識的程序員,時不時的也會荒腔走板的聊一聊電影、電視劇、音樂、漫畫,這裏已經有372小夥伴在等你們啦,感興趣的就趕緊來點擊關注我把,哪裏有不明白或有不同觀點的地方歡迎留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章