前端資料視覺化外掛:Highcharts、Echarts和D3
阿新 • • 發佈:2019-01-08
前端資料視覺化外掛有很多,但我用過的只有Highcharts(https://www.hcharts.cn/)、Echarts(http://echarts.baidu.com/)和D3(https://d3js.org/),Web開發過程中選擇使用哪一個外掛是很重要的問題。就我個人而言,一般會從以下幾點考慮。
1.相容性
使用一個外掛之前必須要先評估一下它對瀏覽器的相容性,不然寫完了發現沒法兒用就得不償失了。
經過多次嘗試,我初步判斷這三個外掛的相容性是這樣的:
- Highcharts 相容 IE6 及以上的所有主流瀏覽器,完美支援移動端縮放、手勢操作。
- Echarts 相容 IE6 及以上的所有主流瀏覽器,同樣支援移動端的縮放和手勢操作。
- D3 相容IE9 及以上的所有主流瀏覽器,對於移動端的相容性也同上。
也就是說,這三個外掛都相容IE9及以上的所有主流瀏覽器,但如果開發需求中包括IE7/IE8,那麼就只能選擇Highcharts或者Echarts了。
2.是否免費/開源
- Highcharts 非商業免費,商業需授權,程式碼開源。
- Echarts 完全免費,程式碼開源。
- D3 完全免費,程式碼開源。
考慮到Highcharts用於商業用途時還需要授權,而其它兩個都不需要,那麼在其他條件都相同的情況下,可以考慮用另外兩個外掛。
3.難易程度
- Highcharts 基於SVG,方便自己定製,但圖表型別有限。
- Echarts 基於Canvas,適用於資料量比較大的情況。
- D3.v3 基於SVG,方便自己定製;D3.v4支援Canvas+SVG,如果計算比較密集,也可以選擇用Canvas。除此之外,D3圖表型別非常豐富,幾乎可以滿足所有開發需求,但程式碼相對於以上兩個外掛來說,會稍微難一點。
基於此,如果你能力很強,可以直接用D3。反之,如果你是一個初學者或者對於這方面沒那麼熟悉,那麼就要從這幾點來考慮了:如果資料量比較大,可以考慮Echarts;如果只是一些簡單的資料,且客戶對介面定製較多,則可以考慮使用highcharts;如果前兩者都不能滿足需求,那麼就只能用D3來一點一點做了。