前端數據可視化插件有不少,但我用過的只有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來一點一點作了。瀏覽器
通常:echarts
一、開發時間短,因此也就限制了D3.js的使用。框架
二、要儘可能的減小開發的成本,因此也就不能使用hightcharts.js(hightcharts是一款我的免費,商業付費的框架)。因此在再三的比對之下最終選擇了echarts.jsspa