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

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

G2入門教程_01_簡介

2020-05-10 20:55 作者:一枚猿  | 我要投稿

G2 簡介


G2 是一套基于圖形語法理論的可視化底層引擎,以數(shù)據(jù)驅(qū)動(dòng),提供圖形語法與交互語法,具有高度的易用性和擴(kuò)展性。使用 G2,你可以無需關(guān)注圖表各種繁瑣的實(shí)現(xiàn)細(xì)節(jié),一條語句即可使用 Canvas 或 SVG 構(gòu)建出各種各樣的可交互的統(tǒng)計(jì)圖表。



特性



?? 完善的圖形語法:數(shù)據(jù)到圖形的映射,能夠繪制出所有的圖表。

?? 全新的交互語法:通過觸發(fā)和反饋機(jī)制可以組合出各種交互行為,對(duì)數(shù)據(jù)進(jìn)行探索。

?? 強(qiáng)大的 View 模塊:可支持開發(fā)個(gè)性化的數(shù)據(jù)多維分析圖形。

?? 雙引擎渲染:Canvas 或 SVG 任意切換。

?? 可視化組件體系:面向交互、體驗(yàn)優(yōu)雅。

?? 全面擁抱 TypeScript:提供完整的類型定義文件。


G2 設(shè)計(jì)思路


01可視化框架的構(gòu)成

數(shù)據(jù)可視化的本質(zhì)是:將數(shù)據(jù)映射到圖形,同時(shí)增加一些輔助信息,讓用戶讀懂?dāng)?shù)據(jù)。

根據(jù)這一點(diǎn)我們可以推導(dǎo)出一個(gè)可視化框架需要四部分:

數(shù)據(jù)處理模塊,對(duì)數(shù)據(jù)進(jìn)行加工的模塊,包括一些數(shù)據(jù)處理方法。例如:合并、分組、排序、過濾、計(jì)算統(tǒng)計(jì)信息等。

圖形映射模塊,將數(shù)據(jù)映射到圖形視覺通道的過程。例如:將數(shù)據(jù)映射成顏色、位置、大小等。

圖形展示模塊,決定使用何種圖形來展示數(shù)據(jù),點(diǎn)、線、面等圖形標(biāo)記。

輔助信息模塊,用于說明視覺通道跟數(shù)據(jù)的映射關(guān)系,例如:坐標(biāo)軸、圖例、輔助文本等。


02G2 的框架結(jié)構(gòu)G2 實(shí)現(xiàn)了上面的四個(gè)模塊,并且對(duì)著四個(gè)模塊做了更進(jìn)一步的細(xì)分,另外還針對(duì)圖表交互,實(shí)現(xiàn)了交互語法模塊。


03數(shù)據(jù)處理模塊

數(shù)據(jù)處理模塊已經(jīng)從 G2 中獨(dú)立出來,作為 DataSet 模塊單獨(dú)提供,主要包含下面幾個(gè)模塊:

DataSet,包含多個(gè) DataView,管理多個(gè)數(shù)據(jù)源。

DataView,每個(gè) DataView 對(duì)應(yīng)一個(gè)數(shù)據(jù)源,可以進(jìn)行布局(Layout)、數(shù)據(jù)加工(Transform)。

Layout:對(duì)數(shù)據(jù)進(jìn)行布局。

Transform:對(duì)數(shù)據(jù)進(jìn)行加工、統(tǒng)計(jì)等處理,包括對(duì)地圖數(shù)據(jù)的處理。



04圖形映射模塊


圖形映射模塊完成了將數(shù)據(jù)映射到數(shù)學(xué)空間[0-1],再從數(shù)學(xué)空間映射到畫布空間的整個(gè)過程,主要包括三個(gè)模塊:

Scale, 將數(shù)據(jù)映射到 0-1 之間,方便映射到畫布上。

Attribute,圖形屬性,數(shù)據(jù)映射到圖形的屬性(視覺通道),包括位置、顏色、大小、形狀等。

Coordinate,展示圖形需用到的坐標(biāo)系,將數(shù)據(jù)映射到位置的屬性(視覺通道)。


05輔助信息


輔助信息用于標(biāo)示數(shù)據(jù)在各種圖形屬性上的映射,使得用戶更容易的理解數(shù)據(jù),主要包括下面幾個(gè)模塊:

Axis?坐標(biāo)軸,輔助用戶識(shí)別圖形所在的位置,判斷數(shù)據(jù)大小的輔助元素。

Tooltip?提示信息,用戶鼠標(biāo)在畫布上移動(dòng)時(shí),實(shí)時(shí)出現(xiàn)的鼠標(biāo)附近的數(shù)據(jù)信息。

Annotation?其他輔助元素,可以在圖上添加輔助的文本、輔助圖片、輔助線等,增強(qiáng)用戶對(duì)圖形的認(rèn)知。

Legend?圖例,輔助用戶識(shí)別圖形的大小、顏色、形狀,通常用于判斷數(shù)據(jù)對(duì)應(yīng)圖形的分類。


06圖形展示


  • Chart 圖表,展示圖形的入口,會(huì)生成一個(gè)畫布,同時(shí)管理數(shù)據(jù)到圖形映射的所有周期。

    View 視圖,一個(gè)畫布上可以顯示多張圖表,每個(gè)圖表有各自的繪圖區(qū)域、數(shù)據(jù)源、坐標(biāo)系等信息。

    Geometry,數(shù)據(jù)映射到的圖形標(biāo)識(shí),G2 中的圖形標(biāo)識(shí)有:點(diǎn)、線、路徑、面積、多邊形等。

    Element,在 G2 中,我們會(huì)將數(shù)據(jù)通過圖形語法映射成不同的圖形,比如點(diǎn)圖,數(shù)據(jù)集中的每條數(shù)據(jù)會(huì)對(duì)應(yīng)一個(gè)點(diǎn),柱狀圖每條數(shù)據(jù)對(duì)應(yīng)一個(gè)柱子,線圖則是一組數(shù)據(jù)對(duì)應(yīng)一條折線,Element 即一條/一組數(shù)據(jù)對(duì)應(yīng)的圖形元素,它代表一條數(shù)據(jù)或者一個(gè)數(shù)據(jù)集,在圖形層面,它可以是單個(gè) Shape 也可以是多個(gè) Shape,我們稱之為圖形元素。

    Shape,更加細(xì)分的圖形標(biāo)識(shí),例如,點(diǎn)可以分為圓點(diǎn)、正方形、十字等,線可以分為點(diǎn)線、折線、曲線等。

07數(shù)據(jù)到圖形映射的流程可視化從數(shù)據(jù)映射到圖形需要以下流程:

  • 原始數(shù)據(jù):加載到頁面上的 JSON 數(shù)組。

    統(tǒng)計(jì)分析:統(tǒng)計(jì)函數(shù)加工數(shù)據(jù)。

    預(yù)處理數(shù)據(jù):每個(gè)視圖接收到的數(shù)據(jù)。

    過濾:行過濾,列過濾(是否保存整條數(shù)據(jù),后面討論)。

    關(guān)注數(shù)據(jù): 對(duì)數(shù)據(jù)進(jìn)行行列的過濾,當(dāng)前圖表關(guān)注的數(shù)據(jù)。

    映射:將數(shù)據(jù)從數(shù)值域轉(zhuǎn)換幾何屬性。

    繪制:調(diào)用繪圖庫,繪制出圖形。

    圖形數(shù)據(jù):最終形成的圖表。

08G2 數(shù)據(jù)轉(zhuǎn)換流程


G2 的數(shù)據(jù)映射到圖形的過程整體上遵循這個(gè)流程,但是細(xì)節(jié)上有所增加:


幾個(gè)大的流程:


  • 對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,這部分工作是在圖表的外部進(jìn)行的,都包含在 DataSet 包中的數(shù)據(jù)處理模塊中。

    圖表對(duì)數(shù)據(jù)進(jìn)行初步的處理,對(duì)數(shù)據(jù)進(jìn)行格式化成數(shù)字、調(diào)整數(shù)據(jù)等操作。

    將數(shù)據(jù)映射到數(shù)學(xué)空間[0-1] 中,然后再映射到各個(gè)圖形屬性,并繪制圖形。

小流程的簡介:


  • transform,DataSet 模塊中可以使用多個(gè) transform 對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,包括過濾、補(bǔ)零、排序、統(tǒng)計(jì)、地圖數(shù)據(jù)處理、地理映射等。

    過濾,對(duì)數(shù)據(jù)進(jìn)行過濾,可以設(shè)置一些過濾條件,控制數(shù)據(jù)的展示。

    數(shù)字化,將分類類型,時(shí)間類型的數(shù)據(jù)轉(zhuǎn)換成數(shù)字,為了可以執(zhí)行“數(shù)據(jù)調(diào)整”,調(diào)整圖形在畫布上的位置。

    數(shù)據(jù)調(diào)整,為了更清晰的展示數(shù)據(jù),圖形有時(shí)候需要層疊、分組、散開等,此時(shí)需要對(duì)數(shù)據(jù)進(jìn)行調(diào)整 。

    統(tǒng)一度量,度量包含了數(shù)據(jù)字段的信息,例如連續(xù)字段的最大值、最小值等信息,分類字段包含的分類,數(shù)據(jù)一旦進(jìn)行調(diào)整,那么度量中的信息不再準(zhǔn)確,所以需要進(jìn)行度量的調(diào)整,同時(shí)存在多層圖表的情況,例如在地圖上顯示點(diǎn)圖時(shí),這是需要多個(gè)數(shù)據(jù)源,但是用于表示位置的經(jīng)緯度信息的范圍必須進(jìn)行統(tǒng)一。

    歸一化,將數(shù)據(jù)的值映射到數(shù)學(xué)空間 0-1 空間內(nèi),方便數(shù)據(jù)到圖形屬性(視覺通道)的映射。

    計(jì)算圖形需要的點(diǎn),繪制圖形時(shí)需要多個(gè)點(diǎn),例如繪制一個(gè)柱狀圖,需要 4 個(gè)點(diǎn),如果將坐標(biāo)系轉(zhuǎn)換,仍然是這 4 個(gè)點(diǎn),僅僅是連接點(diǎn)的方式不同,就會(huì)生成不同的圖表。

  • 映射,將數(shù)據(jù)映射到圖形空間的視覺通道。

    繪制,繪制完成所有的圖形。



G2入門教程_01_簡介的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
蕲春县| 宜丰县| 资阳市| 威信县| 嫩江县| 芜湖县| 南平市| 湖北省| 台北县| 微山县| 德安县| 黑河市| 霍林郭勒市| 龙口市| 锦州市| 酉阳| 孟村| 富川| 英吉沙县| 满城县| 黔江区| 麻栗坡县| 平凉市| 宽甸| 昭苏县| 伊吾县| 礼泉县| 页游| 尤溪县| 巴林右旗| 红原县| 两当县| 新兴县| 肥乡县| 德化县| 德昌县| 即墨市| 玛纳斯县| 昭苏县| 镇坪县| 新密市|