Vega數據可視化工具——教你輕鬆玩轉大數據可視化|附代碼
更多深度文章,請關註:https://yq.aliyun.com/cloud
目前我們處於信息時代,萬物聯網的時代已經到來。從我們的日常生活中可以發現,小到身邊的智能家居,再到平時出行的共享單車、滴滴等打車軟體等,無時無刻不在產生大量的數據。這幾年的時間裡產生的數據量,已經遠遠超過了歷史上其它時間的總和。那麼這麼多的數據匯聚成一個大數據,如何對這些數據進行有效分析與加以利用就變得十分重要了,而大數據可視化是進行大數據分析的一把利器。
什麼是大數據可視化呢,參考一些資料給出的定義如下,現代的數據可視化(Data Visualization)技術指的是運用計算機圖形學和圖像處理技術,將數據換為圖形或圖像在屏幕上顯示出來,並進行交互處理的理論、方法和技術。簡單來說就是將看似毫無意義的數據、信息、知識等等以一種容易理解的視覺方式展示出來的技術,從而對數據進行更深入的觀察和分析。本文將介紹一種可視化的語法Vega,非常簡單易學易用,希望能幫助大家在數據可視化及分析上提供一些思路。
Vega是一種可視化語法,用於創建、保存和共享互動式可視化設計的聲明式語言。使用Vega,我們能夠以JSON格式描述可視化的視覺外觀和交互行為,並使用Canvas或SVG生成基於Web的視圖。另外Vega為各種可視化設計提供基本構建塊:數據載入、轉換、縮放、地圖投影、軸、圖例和圖形標記(如矩形,線條,繪圖符號等)。Vega為可視化的計算生成提供了非常快捷的表示,可以作為新的API和視覺分析工具的基礎。本文下面將主要介紹MapD Vega。
MapD Vega是基於Jeffrey Heer及其在華盛頓大學的團隊開發的開源Vega規範。我們已經將原始規範適用於MapD平台,因此可以使用SQL研究數據,並能快速實施自定義可視化。MapD使用Vega直接在SQL查詢的結果集上驅動渲染引擎,而不需要數據離開GPU,使得用戶能夠以純粹的前端可視化工具以不可能的方式可視化細粒度數據。下圖是Vega渲染的歐洲推文圖像,根據語言進行顏色編碼,這可以在Vega文檔示例中找到:
作為開發人員或數據分析師,可以藉助可視化工具輕鬆了解收集的數據,並且不會因為幾何可視化細節的複雜性而受到任何損失。Vega比大多數可視化工具更加高級,並且可以輕鬆支持自定義演算法和高級可視化技術。下面將以一個簡單的例子來說明使用Vega是多麼的簡單易學,讀者也可以將其用作探索自己的數據的跳板。
Vega規範採用JSON結構,因此易於以編程方式創建、理解和操作。甚至還可以創建一些常見的圖表類型。Vega規範包括:
數據源選擇,可以是SQL語句或行內數據。
在圖或表上可以表示數據的選項:
點
幾何形狀符號
多邊形
縮放渲染數據和量化數據屬性的選項:
定量 - 線性、對數、指數、平方根和量化尺度
離散 - 順序和閾值尺度
MapD 連接器API可以輕鬆地將Vega JSON發送到後台,從而呈現可視化,並將base64編碼的PNG圖像返回給客戶端。我們可以使用API 或Apache Thrift直接在幾個步驟中進行呈現請求:
1. 創建Vega規範
2. 使用Thrift或renderVega()API函數進行呈現請求,API取決於node-connector.js或browser-connector.js
3. 非同步地接收渲染的圖像並將其顯示在應用程序中。
Vega文檔包括教程、參考指南以及在客戶端瀏覽器中使用Vega的示例源代碼,因此建議你使用Vega探索你的數據。
「地球上最快的動物」遇到了地球上最快的大數據探索平台
MapD平台是最快的大數據探索平台,而游隼是潛水中已被記錄的全球最快的動物,時速為242英里。使用Vega能更好地了解你的數據,比使用其他大多數可視化工具更快且更加直觀。我們來仔細看看游隼是怎麼回事。
在我們簡單的調查中,來看看沿太平洋遷徙路線的鳥類遷徙。具體來說,在舊金山灣地區,鳥類在南太平洋和舊金山灣之間彙集在一起 。除了業餘鳥類愛好者的報道外,鳥類還被位於馬林縣霍克山的金門猛禽天文台以及雷耶斯和法拉隆群島的點藍組織統計。我們的數據來自於ebird機構,是與康奈爾鳥類實驗室協調統一報告和收集的結果。
如果我們使用你已經熟悉的MapD Immerse SQL編輯器,將會獲得一個可視化的列表圖表,顯示的是2015年特定月份的游隼蹤跡的緯度和經度坐標:
從列表中可以很容易地了解游隼的數量。如果想看看每個月的獵鷹隼的數量是如何變化的,並且可能還需對任何變化的原因進行一些評估,那麼Vega這個更強大的可視化工具可以幫助你。每個增加的數據中的可見性程度通常表明我們可能要考慮到可視化的其他數據欄位,並且對於Vage而言,添加更多的數據和欄位到分析中是非常容易的。在這個例子中,我們可能想知道游隼在某些月份天氣中的遷徙特徵。我們來看看一個Vega可視化,下圖顯示把緯度和經度作為x和y軸坐標,將觀察到的次數疊加在海灣區域的地圖上:
每個繪圖點是一個Vega 標記規範,其中按照觀察次數進行月份的著色。
我們可以看到,最大數量的
游隼出現在十月份,可以預料到,在霍克山、金門大橋北面和法拉隆群島也都能觀察到游隼。雷耶斯的西北地區在六月份出現大量的游隼,這真是意想不到的,這也表明需要更多的數據或不同的可視化來更好地了解游隼遷徙的影響。同時我們也可以看到這些景象集中在沿海地區,大概是因為海鳥是游隼最喜歡的飲食。
我們來看看如何從ebird資料庫中的數百萬條記錄的鳥類目錄中創建這麼以下這個可視化。
Vega規範包括:
數據屬性指定和過濾數據源的屬性。
標記屬性定義數據項的基本可視化圖形的屬性。
尺度屬性定義幾何的屬性或向數據項可視化應用的附加屬性。
觀看區域維度。
數據屬性
"data": [
Vega支持SQL語句,所以可以從ebird數據集中提取出緯度、經度、月份及觀察次數。此外,將數據限於2015年兩個海灣區縣。
通過ptable為數據集分配名稱,其他規範屬性可以引用數據源得到。
標記屬性
marks: [
使用ptable數據,標記屬性將緯度和經度定義為圖中x坐標和y坐標。每個渲染的數據點的大小根據一個計數刻度,其大小對應於觀察到的游隼數量,並使用比色刻度尺對相關的觀察月份進行著色。
尺度屬性
"scales": [
該尺度屬性將輸入數據映射域到輸出可視化範圍。Vega支持定量和離散縮放以匹配固有的數據連續性。其中,緯度和經度定義為x和y坐標軸,並且將兩個縣的邊界映射到可視化區域。
計數尺度定義了渲染的點尺寸,將範圍量化為10個值。這覆蓋了觀察次數的範圍,當我們使用SQL編輯器查詢數據時,顯示10是觀察游隼數最大的值。
在顏色比例給每個月份分配不相關聯的顏色時,如果記錄數據未指定月份,則將游隼的中間顏色分配為默認值。空數據條目以淺灰色表示,儘管SQL語句已經刪除了所有的空數據條目。
可視化區域屬性
最後,使用以下觀看區域尺寸,這個尺寸很方便地匹配了數據的十進位GPS坐標:
"width": 480
以下是此示例中使用的完整JSON結構:
const exampleVegaSpec = {
VEGA可以輕鬆快速發現數據之間的關係和依賴關係,每個可視化可以讓你更深入地了解數據,並驅使你想從中提取更多的有用信息。花費幾分鐘時間使用我們的示例數據,並對數據屬性SQL語句進行一個小的更改,就可以得到一個完全不同的游隼視圖。下面來看看10年間隔內每個月觀察游隼的相關情況:
SELECT c10_month as mo, c9_year as yr, county as cty, SUM(individualCount) as c FROM ebird WHERE scientificName = "Falco peregrinus" AND (county = "San Francisco") GROUP BY cty,c9_year,c10_month HAVING (SUM(individualCount) > 0) AND (c9_year >= 2006 AND c9_year <= 2015) LIMIT 2000000"
在這裡我們使用月份和年份代替緯度和經度來擴展我們的數據點,使用規範county= 『San Francisco』及county = 『Marin』渲染兩個圖表,下圖將其結合併對其注釋:
在這十年的時間裡,我們可以發現游隼的數量是有所增加。但是,在過去的兩年里,游隼們似乎全年在馬林縣徘徊,這也可能部分地解釋了在六月份看到的意外數量的觀察數。
作者信息
Maped網站:該網站是由科學家、工程師和數據分析師創立,網站的使命是使數據探索成為身臨其境的體驗。
Site:https://www.mapd.com/
本文由北郵@愛可可-愛生活老師推薦,阿里云云棲社區組織翻譯。
文章原標題《Vega makes visualizing BIG data easy》,作者:Gene,譯者:海棠
※沉澱|從網路中間件到搜索,從移動開發到分散式計算平台,阿里高級專家李睿博談自己的折騰路
※安全態勢,交互發現——基於阿里雲輕鬆搭建安全大屏
※有源碼提供:還在苦惱如何寫CNN網路?看大神如何使用keras11行代碼構建CNN網路
※「刷腳購物」?!中國」新四大發明」再次征服老外
TAG:雲棲社區 |
※解析六種Python數據可視化工具
※6 種 Python 數據可視化工具
※5 種使用 Python 代碼輕鬆實現數據可視化的方法
※大數據可視化大屏設計經驗,教給你!
※數據可視化工具:大數據賦能人工智慧大有可為
※數據可視化不再繁瑣,python代碼幫你輕鬆搞定!
※Python拉鉤數據採集與可視化
※可視化數據平台 Tableau 推出新工具,自動化處理助力小白客戶一鍵操作
※數據差異的可視化
※教你實現數據集多維可視化
※使用Echarts來實現數據可視化
※數據可視化分析工具實現精準營銷
※常用的5款數據可視化工具
※Python如何實現數據可視化?
※Plotly Dash數據可視化
※Python入門者的爬蟲和數據可視化案例
※可視化數據分析平台:引領大數據革命的領頭兵
※被武器化的大數據
※冬奧會中的數據可視化
※基於Web瀏覽器的海流數據互動式可視化產品上線