最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

G2 5.0 來啦,伴著春天的腳步,從語言到思維

2023-03-24 16:19 作者:支付寶體驗科技  | 我要投稿


G2(發(fā)音為 /?i? tu?/) 是螞蟻集團 AntV 旗下的開源可視化圖表庫。今天,我們很激動地宣布 G2 5.0 正式版本 “Spring” 的發(fā)布。

本次主版本更新包含更簡潔和專業(yè)的可視化語法更豐富的圖表類型和圖表特性易于拓展的全新 API 和架構(gòu)。在提高 G2 靈活性和易用性的同時,也為 G2 未來的長期穩(wěn)定迭代和生態(tài)的建設(shè)奠定了夯實的基礎(chǔ)。?

5.0 的發(fā)布意味著團隊和社區(qū)兩年多的努力,從最初底層模塊 @antv/scale 和 @antv/coord 的梳理開始,而后掘金小冊《可視化入門:從 0 到 1 開發(fā)一個圖表庫》的推廣,到如今正式版本的發(fā)布,這算是一次“蓄謀已久”的升級。5.0 在一年前的3月21日繪制出了第一個條形圖,經(jīng)過團隊和社區(qū)成員反復(fù)討論、設(shè)計、實現(xiàn)以及不懈的努力,漸漸有了如今的模樣。?

G2 為公司業(yè)務(wù)而生,卻也希望服務(wù)好社區(qū)用戶,如今一年之期已到,在這帶來福運的“閏二月”之際,希望能給大家展現(xiàn)一份滿意的答卷。

漸進式可視化語法

G2 從最開始就有一個簡單的愿景:“一句話繪制出一個圖表”。為此我們實踐了圖形語法《The Grammar of Graphics》的核心理論:拒絕圖表分類學(xué),用一系列可視化組件來描述一個圖表。相對于“一圖一做”,大大豐富了可繪制圖表的種類。但隨著可視化場景越來越復(fù)雜,以及根據(jù)內(nèi)外用戶的反饋,我們發(fā)現(xiàn) G2 在易用性和靈活性上還有不小的提升空間。?

為此,我們參考前端框架 React 和 Vue 復(fù)用邏輯的編程范式,給出了“Mark 是一等公民”的設(shè)計原則,提出了一套“漸進式的可視化語法”:一個可以逐步學(xué)習(xí)和采用的可視化語法,在保證復(fù)雜度幾乎不變的情況下,可以為越來越豐富和苛刻的可視化場景提供持續(xù)的支持

同時在可視化描述層面,我們參考了學(xué)術(shù)界的 Vega-Lite 可視化語法的設(shè)計,提高了 G2 語法的通用性和專業(yè)性,希望能給用戶專遞正確的、專業(yè)的可視化思維,提高開發(fā)效率和更多得從可視化中獲益。

更豐富圖表類型

為了滿足不同場景的訴求,5.0 新增了更多圖表類型:平行坐標(biāo)系、馬賽克圖和差分面積圖等,同時也將直接支持儀表盤、水波圖和韋恩圖等的繪制。除此之外,因為圖形語法本身的“包羅萬象”,以及復(fù)合型數(shù)據(jù)類型場景的增多,G2 將不僅僅針對統(tǒng)計數(shù)據(jù),也會為關(guān)系型數(shù)據(jù)和地理數(shù)據(jù)可視化提供簡單的支持(更加專業(yè)和復(fù)雜的訴求移步 G6 和 L7)。

全新數(shù)據(jù)分析能力

大規(guī)模和復(fù)雜的數(shù)據(jù)分析往往由后端的完成,針對小規(guī)模和特定的場景,我們參考 D3 作者 ?Mike Bostock 最新開源的 Observable Plot,設(shè)計了 transform API 來規(guī)范化數(shù)據(jù)分析的能力。使得用戶可以通過簡潔的 API 完成分組、分箱、求異常值等分析任務(wù)。另一方面,我們也參考 Vega-Lite 的視圖復(fù)合設(shè)計、微軟團隊的 Atom 單元可視化語法,以及前端開發(fā)的 DOM 樹規(guī)范,設(shè)計了一顆視圖樹去描述可視化。這樣不僅可以更容易地去分析高維數(shù)據(jù),還可以從“一句話繪制出一個圖表”升級為“一句話繪制一張報表”,將不同數(shù)據(jù)集放在同一頁面去分析。

全新動畫能力

可視化中動畫可以提高用戶的愉悅度,以及更好的展現(xiàn)和分析時序數(shù)據(jù)。4.0 和大多數(shù)主流的可視化框架都沒有提供聲明形式的動畫語法,為了彌補這個缺陷,我們參考山東大學(xué) Canis 動畫語法給 5.0 增加了編碼動畫屬性和執(zhí)行分組動畫的能力。同時我們參考 CSS Animation 規(guī)范,設(shè)計了時序容器,簡化了聲明可視化敘事的成本。

數(shù)據(jù)標(biāo)注能力提升

數(shù)據(jù)標(biāo)注常常用于為用戶提供值得關(guān)注的輔助信息。在 4.0 的設(shè)計中,標(biāo)注 Annotation 和幾何元素 Geometry 是兩個不同的實現(xiàn),這使得標(biāo)注的能力沒有幾何元素靈活和強大。在 5.0 中,標(biāo)注和幾何元素都是標(biāo)記 Mark,擁有相同的渲染流程,從而使得標(biāo)注也獲得了聲明式的批量繪制、支持數(shù)據(jù)轉(zhuǎn)換、支持動畫以及展現(xiàn)提示信息的能力。同時對于每一個圖形元素,也可以添加多個數(shù)據(jù)標(biāo)簽 Label。

數(shù)據(jù)展示能力提升

坐標(biāo)軸和圖例等組件可以幫助用戶加速理解可視化,在 5.0 中我們優(yōu)化了組件的展示。包括支持多個坐標(biāo)軸的自適應(yīng)布局,更多種的圖例布局模式,以及各個部分使用 HTML 定制。Ticks 的文本的混亂展示一直是組件的痛點,我們內(nèi)置了 d3-format 使得格式化工作更加的簡單。

顏色表達力提升

顏色通道是可視化中一個重要的通道,它能高效地展示編碼的信息。5.0 增強了對連續(xù)顏色通道的展示能力,包括提供 Threshold、Quantile 和 Quantize 比例尺去離散化顏色,讓顏色的差異感分布更加明顯和均勻。也內(nèi)置了 d3-scale-chromatic 中的離散色板和連續(xù)插值器,提供了更多色彩空間的選擇。對于折線圖也支持連續(xù)的漸變色編碼。

豐富的個性化風(fēng)格

為了個性化場景和趣味性需求,借助底層強大的渲染引擎 @antv/g, 所有圖表都支持手繪風(fēng)格和紋理。同時也優(yōu)化了條形圖和餅圖等的圓角展示。

實驗性 Spec API

G2 提供了函數(shù)風(fēng)格的鏈?zhǔn)?API Chart 去聲明圖表,這樣使得圖表的聲明可以更加自由。但我們發(fā)現(xiàn)這種非結(jié)構(gòu)化 API 對部分用戶并不友好,同時不利于上層工具的封裝。所以在增強傳統(tǒng) Chart API 的同時,G2 5.0 引入了 Spec API 一套全新的 API,旨在降低 G2 的使用和學(xué)習(xí)成本以及方便生態(tài)的擴展。Spec API 是 Chart API 的基礎(chǔ),提供了類似 ECharts 和 G2Plot 那樣的通過 JavaScript 對象聲明圖表的能力。

目前 Spec API 目前在 G2 中已經(jīng)實現(xiàn),并可以通過調(diào)用 chart.options(options) 使用。但是暴露這個特性的目的只是為了收集反饋,并且給依賴相關(guān)能力的庫一個預(yù)覽。我們將和 @antv/ava 團隊一起測試和迭代這個功能,并且可能在 5.1.0 版本中正式發(fā)布它。

按需加載

G2 5.0 的核心能力仍然通過 Chart暴露,但是內(nèi)部實現(xiàn)已經(jīng)被完全重寫,通過 runtime + stdlib 的形式已經(jīng)解耦成一個個模塊的集合。新的架構(gòu)下為源碼提供了更好的可維護性,并且為未來按需打包,減少運行時體積打下了堅實的基礎(chǔ)。同時這些模塊擁有相似的函數(shù)簽名,可以在自定義是保持心智的相對統(tǒng)一。

服務(wù)端渲染

G2 5.0 擁有了服務(wù)端渲染的能力。這也拓展了更多使用場景,例如在一個服務(wù)端自動生成內(nèi)容的郵件或報表系統(tǒng)中嵌入圖表。不同于 AnyChart 或者 Highcharts 基于 PhantomJS 這樣的無頭瀏覽器方案,我們使用了可以在 Node.js 環(huán)境下運行的 node-canvas、JSDOM 和 headless-gl 為不同渲染器提供支持。

分階段發(fā)布

G2 5.0 正式的發(fā)布意味著框架已經(jīng)整體就緒。雖然框架的一些子模塊還需要進一步調(diào)整和完善才能達到穩(wěn)定狀態(tài)(尤其是 Mark 和 Shape 模塊的內(nèi)部接口設(shè)計),并且后續(xù)還會拆包減少包體積,但是我們相信已經(jīng)可以使用 G2 5.0 開啟全新的項目。同時也鼓勵社區(qū)使用了 G2 4.0 的庫計劃升級項目以支持 G2 5.0。

??下一階段工作

對于發(fā)布后的一段時間內(nèi),我們將重點關(guān)注:

  • 調(diào)整內(nèi)部接口,暴露各個模塊的自定義能力。

  • 優(yōu)化視覺效果,提供更多主題風(fēng)格以及主題構(gòu)建工具。

  • 落地新的交互規(guī)范并且設(shè)計新的交互語法。

  • 完善 Spec API,提供相應(yīng)文檔、案例以及相關(guān)工具。

  • 優(yōu)化性能和保證能力穩(wěn)定。

  • 進一步補全教程和文章。

G2 棧團隊還會繼續(xù)維護 v4 版本,針對 Bug 發(fā)布 Patch 版本修復(fù),但是此后不再接收新的 Feature Request,截止日期為 2023 年年底。原 v4 官網(wǎng)遷移至 https://g2-v4.antv.vision/。

如何升級

首先得和社區(qū)的廣大開發(fā)者說一聲抱歉,因為這是一個全新的版本,所以對已有項目來說,有不低的升級成本。為了盡可能降低用戶的升級成本,我們保證了大部分可視化概念的統(tǒng)一,同時也會提供一個升級文檔來指出新老版本的一些差異。在 G2 5.0 版本發(fā)布之后,我們也會保持一周一次的版本更新速度,歡迎大家通過 issue、disscusion 和釘釘討論群拋出在升級過程中遇見的困難,我們將盡全力幫助大家更加平穩(wěn)的升級。

做出全面升級這個決定是艱難的,但確實有很多存量問題老的架構(gòu)很難或者不能解決,其中的歷史包袱也一直阻礙著 G2 的進步一步發(fā)展。所以,我們希望的是“不破不立”,也希望升級帶來的收益可以讓大家覺得其中的困難是值得的。

結(jié)語

以上就是 G2 5.0 發(fā)布相關(guān)的主要內(nèi)容了,但是這次的發(fā)布只是一個開始。因為我們希望 G2 不僅僅是一個做可視化的工具,還希望它能給用戶傳遞正確的可視化思維:“讓人們在數(shù)據(jù)世界里獲得視覺化思考能力”。我們會繼續(xù)對其不斷進行打磨,也希望社區(qū)有更多志同道合的小伙伴通過各種形式參與共建。

最后,Today's tools help shape tomorrow’s art,讓我們一起讓 G2 5.0 變得更好,讓可視化觸手可及。

更多

  • 官網(wǎng):https://g2.antv.antgroup.com/

  • Github:https://github.com/antvis/G2

AntV 數(shù)據(jù)可視化官網(wǎng)

https://antv.antgroup.com/

AntV 數(shù)據(jù)可視化?GitHub

https://github.com/antvis

??關(guān)注我們,了解更多~

G2 5.0 來啦,伴著春天的腳步,從語言到思維的評論 (共 條)

分享到微博請遵守國家法律
上犹县| 通榆县| 凤冈县| 龙山县| 南开区| 阿拉善右旗| 新丰县| 壤塘县| 铜山县| 商丘市| 海盐县| 青河县| 海安县| 长海县| 锦州市| 陕西省| 南陵县| 余江县| 金门县| 大悟县| 兖州市| 台东市| 尼勒克县| 隆尧县| 乡宁县| 东丽区| 锡林浩特市| 贞丰县| 柘城县| 元阳县| 利川市| 横山县| 双流县| 贵溪市| 麻江县| 东阳市| 科尔| 郧西县| 会宁县| 永城市| 涡阳县|