ECharts 是一款開源的、基於 web 的、跨平臺的支持快速建立交互式可視化的框架,它易於使用、擁有豐富的內置交互以及高性能。ECharts 經過一套聲明式的可視設計語言定製內置的圖表類型,而且底層的流式架構和高性能的圖形渲染器極大地提升了 ECharts 的擴展性和性能。web
VI 2018 第二期,提早錄取了一篇由百度 ECharts 團隊和浙大 CAD&CG 重點實驗室合做的研究文章 ECharts: A Declarative Framework for Rapid Construction of Web-based Visualization(做者:李德清、梅鴻輝、沈毅、宿爽、張雯莉、王俊婷、祖明、陳爲)。背景:因爲缺少編程能力的用戶在進行可視化分析和設計時想要快速地建立基於 web 的可視化做品仍然會遇到諸多困難,而現有的可視化設計系統和編程工具庫並不能很好地解決這一問題。本文介紹了一種開源的、基於 web 的、跨平臺的支持快速建立交互式可視化的框架 ECharts,它易於使用,擁有豐富的內置交互和高性能。結果代表:經過比較 ECharts 與 C3.js, HighCharts, Chart.js 的實用性和性能,實驗結果代表了該框架的有效性和可伸縮性。編程
部份內置圖表api
ECharts 架構設計架構
ECharts 的二維和三維可視化,除了底層的渲染引擎不一樣之外,上層的架構和工做流都是一致的。簡單的架構以下圖,主要包括了一個 ZRender 層和 ECharts層,ZRender 層的主要做用是,隔離底層的渲染引擎、對渲染引擎支持的基本繪製元素和繪製特性進行了封裝、以及基本的用戶交互(如 mouse event)和圖形動畫等的封裝。框架
ECharts 層則包含了具體的可視化視圖、組件、各個視圖對應的交互、以及外部程序可調用的接口。這裏的可視化視圖是指,折線圖和散點圖等具體的可視化表現形式;組件是指,座標系和提示框等協助視圖繪製和呈現數據信息的工具;視圖的交互是指,各個視圖上特定的交互,如柱狀圖的上鑽和下鑽;對外的接口主要用於外部程序控制 ECharts 程序的渲染繪製和交互等。ECharts 內部各個視圖、組件之間是相互獨立的,能夠任意地組合在一塊兒,便於擴展和維護。
ide
詳細的架構工具
漸進式渲染性能
ECharts 影響力動畫
ECharts 在國內工業界影響巨大。目前在 GitHub 上位列可視化板塊第二,截至發稿擁 27762 個 star 數。在國內擁有近 8k 的日百度指數,350k 的官網日PV,以及每週 9w 左右的活躍用戶,是目前國內最熱門的可視化工具。不只爲百度內部近 90% 的產品線提供可視化支持,還被外交部、國家統計局、國家專利局、華爲、聯想、阿里、騰訊、京東、小米、今日頭條等外部機構所普遍使用。經過不徹底統計,目前佔有國內 70% 的市場份額。架構設計
論文原文連接:https://www.sciencedirect.com/science/article/pii/S2468502X18300068
Visual Informatics(中文名《可視信息學》)是由浙江大學主辦、浙江大學出版社和Elsevier出版集團聯合出版、在線發行、開放獲取的國際學術期刊。該刊聚焦於面向人類感知的視覺信息的建模、分析、合成、加強與天然交互。主編是周昆教授、Hans-Peter Seidel教授。