1. 程式人生 > 其它 >視覺化 之D3 與echarts 對比以及應用場景

視覺化 之D3 與echarts 對比以及應用場景

視覺化:我們想要看出一組資料的大小關係,單看資料顯然不夠直觀。那麼我們可以將它轉換為一種簡單易懂的圖表的形式,就可以更加直觀的獲取資料所傳遞給我們的資訊。這個過程就叫做資料視覺化。
視覺化常用2個前端庫echarts和D3.

echarts: 和 D3 js很相似,是封裝好的,配置好即可使用,方便,上手快,成本低,但是不夠靈活。只能修改配置項,不能自己新增和操作不存在的配置項。

d3:全稱Data-Driven Documents,其實就是一個數據驅動的文件的js庫,簡而言之就是一個數據視覺化的庫。

區別

echarts 底層是使用canvas繪製圖形,canvas不支援事件處理器,所以只能展示資料,而不能修改。
D3 底層是通過svg繪製圖形的,二者不同之處在於svg可以操作dom,支援事件處理器,可以呼叫相關方法直接操作,支援鏈式語法,和JQuery鏈式呼叫差不多。

小結:

  • D3使用svg繪製圖形,echarts使用canvas繪製圖形
  • D3相容IE9及以上主流瀏覽器,echarts相容IE6及以上主流瀏覽器
  • D3使用靈活,學習成本大,echarts封裝好的,使用簡單,不夠靈活

D3與echart的適用場景

因為D3支援事件處理器可以操作dom,所以專案開發中有較多使用者互動的場景,可以使用D3

.如果沒有與使用者互動的場景,只需要將圖表展示給使用者看,而不需要更改,可以使用echarts。因為D3它展示的每一個數據都是一個標籤,所以當資料發生改變的時候圖表會重新渲染,會不停的操作dom,這對效能的消耗是非常大的。