天天看點

Vega資料可視化工具——教你輕松玩轉大資料可視化 | 附代碼

<b></b>

Vega資料可視化工具——教你輕松玩轉大資料可視化 | 附代碼

目前我們處于資訊時代,萬物聯網的時代已經到來。從我們的日常生活中可以發現,小到身邊的智能家居,再到平時出行的共享單車、滴滴等打車軟體等,無時無刻不在産生大量的資料。這幾年的時間裡産生的資料量,已經遠遠超過了曆史上其它時間的總和。那麼這麼多的資料彙聚成一個大資料,如何對這些資料進行有效分析與加以利用就變得十分重要了,而大資料可視化是進行大資料分析的一把利器。

什麼是大資料可視化呢,參考一些資料給出的定義如下,現代的資料可視化(Data Visualization)技術指的是運用計算機圖形學和圖像處理技術,将資料換為圖形或圖像在螢幕上顯示出來,并進行互動處理的理論、方法和技術。簡單來說就是将看似毫無意義的資料、資訊、知識等等以一種容易了解的視覺方式展示出來的技術,進而對資料進行更深入的觀察和分析。本文将介紹一種可視化的文法Vega,非常簡單易學易用,希望能幫助大家在資料可視化及分析上提供一些思路。

Vega是一種可視化文法,用于建立、儲存和共享互動式可視化設計的聲明式語言。使用Vega,我們能夠以JSON格式描述可視化的視覺外觀和互動行為,并使用Canvas或SVG生成基于Web的視圖。另外Vega為各種可視化設計提供基本建構塊:資料加載、轉換、縮放、地圖投影、軸、圖例和圖形标記(如矩形,線條,繪圖符号等)。Vega為可視化的計算生成提供了非常快捷的表示,可以作為新的API和視覺分析工具的基礎。本文下面将主要介紹MapD Vega。

Vega資料可視化工具——教你輕松玩轉大資料可視化 | 附代碼

作為開發人員或資料分析師,可以借助可視化工具輕松了解收集的資料,并且不會因為幾何可視化細節的複雜性而受到任何損失。Vega比大多數可視化工具更加進階,并且可以輕松支援自定義算法和進階可視化技術。下面将以一個簡單的例子來說明使用Vega是多麼的簡單易學,讀者也可以将其用作探索自己的資料的跳闆。

Vega規範采用JSON結構,是以易于以程式設計方式建立、了解和操作。甚至還可以建立一些常見的圖表類型。Vega規範包括:

資料源選擇,可以是SQL語句或行内資料。

在圖或表上可以表示資料的選項:

幾何形狀符号

多邊形

縮放渲染資料和量化資料屬性的選項:

定量 - 線性、對數、指數、平方根和量化尺度

離散 - 順序和門檻值尺度

1. 建立Vega規範

2. 使用Thrift或renderVega()API函數進行呈現請求,API取決于node-connector.js或browser-connector.js

3. 異步地接收渲染的圖像并将其顯示在應用程式中。

Vega文檔包括教程、參考指南以及在用戶端浏覽器中使用Vega的示例源代碼,是以建議你使用Vega探索你的資料。

<b>“地球上最快的動物”</b><b>遇到</b><b>了地球上最快的大資料探索平台</b><b></b>

MapD平台是最快的大資料探索平台,而遊隼是潛水中已被記錄的全球最快的動物,時速為242英裡。使用Vega能更好地了解你的資料,比使用其他大多數可視化工具更快且更加直覺。我們來仔細看看遊隼是怎麼回事。

如果我們使用你已經熟悉的MapD Immerse SQL編輯器,将會獲得一個可視化的清單圖表,顯示的是2015年特定月份的遊隼蹤迹的緯度和經度坐标:

Vega資料可視化工具——教你輕松玩轉大資料可視化 | 附代碼

從清單中可以很容易地了解遊隼的數量。如果想看看每個月的獵鷹隼的數量是如何變化的,并且可能還需對任何變化的原因進行一些評估,那麼Vega這個更強大的可視化工具可以幫助你。每個增加的資料中的可見性程度通常表明我們可能要考慮到可視化的其他資料字段,并且對于Vage而言,添加更多的資料和字段到分析中是非常容易的。在這個例子中,我們可能想知道遊隼在某些月份天氣中的遷徙特征。我們來看看一個Vega可視化,下圖顯示把緯度和經度作為x和y軸坐标,将觀察到的次數疊加在海灣區域的地圖上:

Vega資料可視化工具——教你輕松玩轉大資料可視化 | 附代碼

每個繪圖點是一個Vega 标記規範,其中按照觀察次數進行月份的着色。

我們來看看如何從ebird資料庫中的數百萬條記錄的鳥類目錄中建立這麼以下這個可視化。

Vega規範包括:

資料屬性指定和過濾資料源的屬性。

标記屬性定義資料項的基本可視化圖形的屬性。

尺度屬性定義幾何的屬性或向資料項可視化應用的附加屬性。

觀看區域次元。

<b>資料屬性</b>

Vega支援SQL語句,是以可以從ebird資料集中提取出緯度、經度、月份及觀察次數。此外,将資料限于2015年兩個海灣區縣。

通過ptable為資料集配置設定名稱,其他規範屬性可以引用資料源得到。

<b>标記屬性</b>

使用ptable資料,标記屬性将緯度和經度定義為圖中x坐标和y坐标。每個渲染的資料點的大小根據一個計數刻度,其大小對應于觀察到的遊隼數量,并使用比色刻度尺對相關的觀察月份進行着色。

<b>尺度屬性</b>

該尺度屬性将輸入資料映射域到輸出可視化範圍。Vega支援定量和離散縮放以比對固有的資料連續性。其中,緯度和經度定義為x和y坐标軸,并且将兩個縣的邊界映射到可視化區域。

計數尺度定義了渲染的點尺寸,将範圍量化為10個值。這覆寫了觀察次數的範圍,當我們使用SQL編輯器查詢資料時,顯示10是觀察遊隼數最大的值。

在顔色比例給每個月份配置設定不相關聯的顔色時,如果記錄資料未指定月份,則将遊隼的中間顔色配置設定為預設值。空資料條目以淺灰色表示,盡管SQL語句已經删除了所有的空資料條目。

<b>可視化區域屬性</b><b></b>

最後,使用以下觀看區域尺寸,這個尺寸很友善地比對了資料的十進制GPS坐标:

以下是此示例中使用的完整JSON結構:

VEGA可以輕松快速發現資料之間的關系和依賴關系,每個可視化可以讓你更深入地了解資料,并驅使你想從中提取更多的有用資訊。花費幾分鐘時間使用我們的示例資料,并對資料屬性SQL語句進行一個小的更改,就可以得到一個完全不同的遊隼視圖。下面來看看10年間隔内每個月觀察遊隼的相關情況:

在這裡我們使用月份和年份代替緯度和經度來擴充我們的資料點,使用規範county= ‘San Francisco’及county = ‘Marin’渲染兩個圖表,下圖将其結合并對其注釋:

Vega資料可視化工具——教你輕松玩轉大資料可視化 | 附代碼

在這十年的時間裡,我們可以發現遊隼的數量是有所增加。但是,在過去的兩年裡,遊隼們似乎全年在馬林縣徘徊,這也可能部分地解釋了在六月份看到的意外數量的觀察數。

<b>作者資訊</b>

Maped網站:該網站是由科學家、工程師和資料分析師創立,網站的使命是使資料探索成為身臨其境的體驗。