ECharts,一個使用 JavaScript 實現(xiàn)的開源可視化庫,可以流暢的運行在 PC 和移動設備上,兼容當前絕大部分瀏覽器(IE8/9/10/11,Chrome,F(xiàn)irefox,Safari等),底層依賴輕量級的矢量圖形庫 ZRender,提供直觀,交互豐富,可高度個性化定制的數(shù)據(jù)可視化圖表。
演示實例地址:http://echarts.baidu.com/examples/
下載地址:http://echarts.baidu.com/download.html
豐富的可視化類型
ECharts 提供了常規(guī)的折線圖、柱狀圖、散點圖、餅圖、K線圖,用于統(tǒng)計的盒形圖,用于地理數(shù)據(jù)可視化的地圖、熱力圖、線圖,用于關系數(shù)據(jù)可視化的關系圖、treemap、旭日圖,多維數(shù)據(jù)可視化的平行坐標,還有用于 BI 的漏斗圖,儀表盤,并且支持圖與圖之間的混搭。
除了已經內置的包含了豐富功能的圖表,ECharts 還提供了自定義系列,只需要傳入一個renderItem函數(shù),就可以從數(shù)據(jù)映射到任何你想要的圖形,更棒的是這些都還能和已有的交互組件結合使用而不需要操心其它事情。
你可以在下載界面下載包含所有圖表的構建文件,如果只是需要其中一兩個圖表,又嫌包含所有圖表的構建文件太大,也可以在在線構建中選擇需要的圖表類型后自定義構建。
多種數(shù)據(jù)格式無需轉換直接使用
ECharts 內置的 dataset 屬性(4.0+)支持直接傳入包括二維表,key-value 等多種格式的數(shù)據(jù)源,通過簡單的設置 encode 屬性就可以完成從數(shù)據(jù)到圖形的映射,這種方式更符合可視化的直覺,省去了大部分場景下數(shù)據(jù)轉換的步驟,而且多個組件能夠共享一份數(shù)據(jù)而不用克隆。
為了配合大數(shù)據(jù)量的展現(xiàn),ECharts 還支持輸入 TypedArray 格式的數(shù)據(jù),TypedArray 在大數(shù)據(jù)量的存儲中可以占用更少的內存,對 GC 友好等特性也可以大幅度提升可視化應用的性能。
千萬數(shù)據(jù)的前端展現(xiàn)
通過增量渲染技術(4.0+),配合各種細致的優(yōu)化,ECharts 能夠展現(xiàn)千萬級的數(shù)據(jù)量,并且在這個數(shù)據(jù)量級依然能夠進行流暢的縮放平移等交互。
幾千萬的地理坐標數(shù)據(jù)就算使用二進制存儲也要占上百 MB 的空間。因此 ECharts 同時提供了對流加載(4.0+)的支持,你可以使用 WebSocket 或者對數(shù)據(jù)分塊后加載,加載多少渲染多少!不需要漫長地等待所有數(shù)據(jù)加載完再進行繪制。
移動端優(yōu)化
ECharts 針對移動端交互做了細致的優(yōu)化,例如移動端小屏上適于用手指在坐標系中進行縮放、平移。 PC 端也可以用鼠標在圖中進行縮放(用鼠標滾輪)、平移等。
細粒度的模塊化和打包機制可以讓 ECharts 在移動端也擁有很小的體積,可選的 SVG 渲染模塊讓移動端的內存占用不再捉襟見肘。
多渲染方案,跨平臺使用!
ECharts 支持以 Canvas、SVG(4.0+)、VML 的形式渲染圖表。VML 可以兼容低版本 IE,SVG 使得移動端不再為內存擔憂,Canvas 可以輕松應對大數(shù)據(jù)量和特效的展現(xiàn)。不同的渲染方式提供了更多選擇,使得 ECharts 在各種場景下都有更好的表現(xiàn)。
除了 PC 和移動端的瀏覽器,ECharts 還能在 node 上配合 node-canvas 進行高效的服務端渲染(SSR)。從 4.0 開始我們還和微信小程序的團隊合作,提供了 ECharts 對小程序的適配!
社區(qū)熱心的貢獻者也為我們提供了豐富的其它語言擴展,比如 Python 的pyecharts,R 語言的 recharts, Julia 的 ECharts.jl 等等。
我們希望平臺和語言都不會成為大家使用 ECharts 實現(xiàn)可視化的限制!
演示實例地址:http://echarts.baidu.com/examples/
下載地址:http://echarts.baidu.com/download.html
豐富的可視化類型
ECharts 提供了常規(guī)的折線圖、柱狀圖、散點圖、餅圖、K線圖,用于統(tǒng)計的盒形圖,用于地理數(shù)據(jù)可視化的地圖、熱力圖、線圖,用于關系數(shù)據(jù)可視化的關系圖、treemap、旭日圖,多維數(shù)據(jù)可視化的平行坐標,還有用于 BI 的漏斗圖,儀表盤,并且支持圖與圖之間的混搭。
除了已經內置的包含了豐富功能的圖表,ECharts 還提供了自定義系列,只需要傳入一個renderItem函數(shù),就可以從數(shù)據(jù)映射到任何你想要的圖形,更棒的是這些都還能和已有的交互組件結合使用而不需要操心其它事情。
你可以在下載界面下載包含所有圖表的構建文件,如果只是需要其中一兩個圖表,又嫌包含所有圖表的構建文件太大,也可以在在線構建中選擇需要的圖表類型后自定義構建。
多種數(shù)據(jù)格式無需轉換直接使用
ECharts 內置的 dataset 屬性(4.0+)支持直接傳入包括二維表,key-value 等多種格式的數(shù)據(jù)源,通過簡單的設置 encode 屬性就可以完成從數(shù)據(jù)到圖形的映射,這種方式更符合可視化的直覺,省去了大部分場景下數(shù)據(jù)轉換的步驟,而且多個組件能夠共享一份數(shù)據(jù)而不用克隆。
為了配合大數(shù)據(jù)量的展現(xiàn),ECharts 還支持輸入 TypedArray 格式的數(shù)據(jù),TypedArray 在大數(shù)據(jù)量的存儲中可以占用更少的內存,對 GC 友好等特性也可以大幅度提升可視化應用的性能。
千萬數(shù)據(jù)的前端展現(xiàn)
通過增量渲染技術(4.0+),配合各種細致的優(yōu)化,ECharts 能夠展現(xiàn)千萬級的數(shù)據(jù)量,并且在這個數(shù)據(jù)量級依然能夠進行流暢的縮放平移等交互。
幾千萬的地理坐標數(shù)據(jù)就算使用二進制存儲也要占上百 MB 的空間。因此 ECharts 同時提供了對流加載(4.0+)的支持,你可以使用 WebSocket 或者對數(shù)據(jù)分塊后加載,加載多少渲染多少!不需要漫長地等待所有數(shù)據(jù)加載完再進行繪制。
移動端優(yōu)化
ECharts 針對移動端交互做了細致的優(yōu)化,例如移動端小屏上適于用手指在坐標系中進行縮放、平移。 PC 端也可以用鼠標在圖中進行縮放(用鼠標滾輪)、平移等。
細粒度的模塊化和打包機制可以讓 ECharts 在移動端也擁有很小的體積,可選的 SVG 渲染模塊讓移動端的內存占用不再捉襟見肘。
多渲染方案,跨平臺使用!
ECharts 支持以 Canvas、SVG(4.0+)、VML 的形式渲染圖表。VML 可以兼容低版本 IE,SVG 使得移動端不再為內存擔憂,Canvas 可以輕松應對大數(shù)據(jù)量和特效的展現(xiàn)。不同的渲染方式提供了更多選擇,使得 ECharts 在各種場景下都有更好的表現(xiàn)。
除了 PC 和移動端的瀏覽器,ECharts 還能在 node 上配合 node-canvas 進行高效的服務端渲染(SSR)。從 4.0 開始我們還和微信小程序的團隊合作,提供了 ECharts 對小程序的適配!
社區(qū)熱心的貢獻者也為我們提供了豐富的其它語言擴展,比如 Python 的pyecharts,R 語言的 recharts, Julia 的 ECharts.jl 等等。
我們希望平臺和語言都不會成為大家使用 ECharts 實現(xiàn)可視化的限制!