[譯] 數據可視化:從數據到圖形元素

原文地址:Visualizing data: Mapping data onto aestheticshtml

當咱們談論數據可視化時,咱們實際談論的是將數據經過系統化、有邏輯的方式轉化爲最終的視覺呈現。數據可視化圖形有不少種類:初看散點圖(scatter plot)、餅圖(pie)和熱力圖(heatmap)並無什麼共同點,實際上這些圖形背後都有一套基礎圖形語言:捕獲數據,並將數據轉化爲紙上的墨點,或是屏幕上的像素。其內在本質在於:數據可視化將原始數據映射爲直觀可量化的視覺特徵,咱們將其稱爲圖形元素(aesthetics)app

1. 圖形元素

圖形元素

圖片 1.1:圖形元素一般包含的信息有 位置(position), 形狀(shape), 尺寸(size), 顏色(color), 線段寬度(line width), 線段類型(line type) 等。 有些信息是能夠同時是連續型(continuous)離散型(discrete) ,好比 positionsizeline-widthcolor ,而其餘一般只能是離散型的。字體

上圖包含了一些基礎的圖形元素。圖形元素有一些關鍵特徵,首先是位置(position),用來描述元素的位置信息。一般在 標準 2D 空間中,用 x, y 來描述位置信息,固然在 1 維 或者 3 維空間有其餘的位置描述方式。 而後,全部的圖形元素有 形狀(shape), 尺寸(size)顏色(color) 等信息,即便咱們只是繪製黑白元素,咱們也要給圖形元素設置合適的顏色用於展現,譬如在白色背景上能夠繪製黑色圖形,可是白色圖形就不行了。最後,咱們在有些場景下會應用不一樣寬度的線段和不一樣類型的線段(實線、虛線等)。3d

在上圖以外,咱們還會遇到更多的圖形元素,譬如展現字體是須要考慮字體系列(font family)字體大小(font size),若是要處理圖形相互覆蓋,還須要考慮到圖形透明度變化。cdn

圖形元素能夠分爲兩大類:連續型和離散型。連續型含義是任意兩個數據之間均可以存在中間狀態,好比時間就是連續型的,50s 和 51s 之間還能夠存在 50.5s,50.51s 甚至更多。相互在一個房間可人數是離散的,房間能夠容納 5 人或者 6 人,但不能是 5.5 人。圖上 position、size、line width,color 能夠是連續型的,而 shape 和 line type 一般只能是離散型。htm

接下來咱們來看下須要展現的數據的種類。一般你可能會覺數據應該是數字類型的,但其實數字只是可視化數據中的兩個類別而已。以下表所示,除了連續型和離散型數字以外,還能夠經過離散型類別(cetegory)、日期或者時間形式(date/time)和文本(text)形式呈現。若是數據類型是數字,咱們稱之爲定量(quantitative),若是數據類型是其餘類型,咱們稱之爲定性(qualitative)。定性的變量被稱爲因子(factor),不一樣類別(category) 稱爲級別(level)。因子的級別一般是無序的(dog, cat, fish),不過也能夠是有序列表(good,fair,pool)。blog

變量類型 示例 變量分佈 描述
連續數字 1.3, 5.7, 83 連續型 連續的數字類型,能夠是整數,也能夠是小數
離散數據 [1, 2, 3] 離散型 離散的數字單元
無序類別 dog, cat, fish 離散型 類別之間無順序關係,也被稱爲因子
有序類別 good,fair,pool 離散型 類別之間有順序關係,也被稱爲有序因子
日期或時間 Jan. 5 2018, 8:03am 離散型 or 連續型 查看一段連續時間時能夠是連續型數據
文本 個人名字 無 or 離散型 普通文本

表格 2.1排序

下面咱們來看一組具體數據,來自美國 4 個城市的天氣數據。數據包含了 5 列信息:Month,Day,Location,Station ID, Temperature。其中 Month 是有序因子(ordered factor),Day 是離散的數字類型,location 和 Station ID 是無序因子(unordered factor),而 Temperature 則是連續的數字值。圖片

表格 2.2 一組真實天氣數據get

Month Day Location Station ID Temperature
Jan 1 Chicago USW00014819 25.6
Jan 1 San Diego USW00093107 55.2
Jan 1 Houston USW00012918 53.9
Jan 1 Death Valley USC00042319 51.0
Jan 2 Chicago USW00014819 25.5
Jan 2 San Diego USW00093107 55.3
Jan 2 Houston USW00012918 53.8
Jan 2 Death Valley USC00042319 51.2
Jan 3 Chicago USW00014819 25.3
Jan 3 San Diego USW00093107 55.3
Jan 3 Death Valley USC00042319 51.3
Jan 3 Houston USW00012918 53.8

2. 比例尺:將數據映射到圖形元素

想實現將數據映射到圖形元素,首先須要指定哪些數據類別對應到圖形元素哪些特徵。舉個例子,若是圖形上有 x 軸,那咱們就須要考慮指定哪些數據分佈在座標軸上的不一樣位置(position),相似的,咱們還要考慮哪些數據來對應到特定的形狀(shape)顏色(color),這種數據和圖形元素之間的對應關係就是經過比例尺(scale) 來建立的。比例尺定義了數據和圖形元素之間一一映射關係。也就是說,比例尺是一對一的,對於每個數據集,都只能是一個圖形元素特徵,反之亦然。若是比例尺不是一一對應的,數據可視化就會變得模糊不清。

scale

圖片 2.2:比例尺鏈接數據集到圖形元素。圖上數字 1 到 4 分別創建了和位置(position)、形狀(shape)、顏色(color)的映射關係。在每一個比例尺上,每一個數據都對應一個惟一的圖形特徵,反之亦然。

咱們再來看實際一點的,以 表格2.2 數據爲例,咱們能夠分別將 month 和 temperature 映射到 x 軸和 y 軸上。而 location 則做爲顏色分類,並生成實線線段。最終生成的效果就是標準的折線圖,展現 4 個城市在一年不一樣月份的溫度趨勢圖。

2.3

圖 2.3:4個城市的溫度趨勢折線圖,x 軸表明月份,y 軸表明溫度,而顏色用來區分不一樣城市

圖 2.3 是很是常見的用於展現溫度趨勢的折線圖,也是大部分數據科學家憑直覺就會選擇的可視化實現。然而,咱們也能夠指定不一樣變量來生成不一樣比例尺。舉例來講,相比於將 temperature 映射到 y 軸,location 映射爲顏色,咱們能夠反着來。此時咱們關心的關鍵變量(temperature)就經過顏色來呈現,咱們須要定義更大的顏色範圍來傳遞更有價值的信息。此時,我會選擇用正方塊來替換折線,一個色塊對應一個城市和月份,下圖我按照每個月的平均溫度進行對色塊的着色。

2.4

圖 2.4:此時 x 軸仍是月份,可是 y 軸變成了城市,而顏色經過溫度來區分

我要強調一下,圖 2.4 上有兩種基於位置的比例尺,分別是基於 x 軸分佈的 month,和基於 y 軸分佈的 location,且二者都不是連續型變量。其中 Month 是有序因子幷包含 12 個級別(level), 而 Location 是 4 個層級的無序因子,二者都是離散型比例尺。離散型數據的因子一般在座標軸上等間距分佈,若是是有序的(好比 Month),則會按照適當的順序分佈,若是是無序的(好比 Location),那麼能夠按照需求自由分佈。圖 2.4,我按照從冷(Chicago)到熱(Death Valley)生成一個漸變效果,固然我也能夠採用其餘的排序方式。

圖 2.3 和圖 2.4 都應用了 3 個比例尺 —— 2 個基於位置的比例尺和 1 個基於顏色的比例尺,這是可視化圖形的經常使用比例尺數量,固然咱們也能夠應用更多的比例尺數量。圖 2.5 上就應用了 5 個比例尺 —— 2 個位置比例尺,1 個 顏色比例尺,1 個尺寸比例尺和 1 個形狀比例尺,每一個比例尺都表明了數據的不一樣維度。

2.5

圖 2.5: 汽車燃油效率與排量之比。圖上應用了 5 個維度來展現數據。(i) x軸(發動機排量); (ii) y 軸(燃油機效率); (iii) 點顏色(功率); (iv) 點尺寸(汽車重量); (v) 點的形狀(氣缸數量); 4/5 的維度(排量、效率、功率、重量)是連續型數據,只有剩下的氣缸數量字段能夠認爲是離散型數字,或是定性有序類型。

相關文章
相關標籤/搜索