1. 程式人生 > >前端資料視覺化外掛:Highcharts、Echarts和D3

前端資料視覺化外掛:Highcharts、Echarts和D3

前端資料視覺化外掛有很多,但我用過的只有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來一點一點做了。