iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 9
1
AI & Data

[BI工具] 以Redash為資料視覺化方案之選擇與實踐系列 第 9

[Redash] 圖表 Chart 進階介紹

平常 Y 軸可以選不同欄位的資料,
但當你希望用某個資料 Y 軸維度但他卻在同一欄的時候,
Group by 功能就能派上用場。

以下的例子是想看 英超曼城隊伍在每場比賽的狀況

SELECT SUBSTRING_INDEX(p.Name ," ",1) as Name, a.* 
FROM PremierLeague.Actions a
INNER JOIN PremierLeague.Players p ON a.PlayerID = p.PlayerID
WHERE a.TeamID = 43 and a.ShotsonTargetincgoals>0

首先先選擇 X 軸為 MatchID, Y 軸為 ShotsonTargetincgoals,
就可以看到曼城射正的比例主要集中在哪一場比賽,
而如果想要同樣看射正分布狀況,但要細到曼城的每一名球員,
就可以在 Group by 選擇球員姓名 Name
從圖中看到圓餅圖中畫越細的那幾名,也就是他們有貢獻射正的比賽場次越多,
通常都是球隊的前鋒或是有遠射能力的中場(eg. Agüero、Silva)

https://ithelp.ithome.com.tw/upload/images/20181017/20111638EHcNcchoJ8.png

而如果是想看每一場比賽,球員的射正貢獻度變化,
也就是一名球員射正占該場比賽的佔比,
Normalize values to percentage 可以把同一 X 軸的資料轉換成百分比,
但同時 Y 軸的值也就變成 0~100%,所以會看到圖中綠色那條鋒線(比賽編號118、147),雖然貢獻度是50%->100%,但射正數卻是從4->2。

https://ithelp.ithome.com.tw/upload/images/20181017/20111638SRM5Q38wA6.png

此外,Chart 互動式的操作還有不少功能,游標滑上圖式,
可以看到對應該 X 軸值的各 Y 軸資料,
預設就是 Compare data on hover,也就是圖表右上方功能列的最右邊圖式;
而他左邊兩個圖示分別是 Show closest on hover & Toggle Spike Lines
則可針對單一 Y 軸資料做仔細比較。

https://ithelp.ithome.com.tw/upload/images/20181017/20111638W1ufcrjFGR.png

若針對右方某一筆 Y 軸資料點擊兩次(eg.42544),就可只觀察該資料的圖表。

https://ithelp.ithome.com.tw/upload/images/20181017/20111638HUXXQYOquU.png

而與圖表操作預設是 Zoom
可以針對圖表內做拖曳,就可以針對拖曳的區塊做放大檢視的功能;
其他的 Zoom in / Zoom outAutoscale / Reset axes
也可以做檢視區域大小的調整或重置。

https://ithelp.ithome.com.tw/upload/images/20181017/20111638CwuR6j9n9l.png

https://ithelp.ithome.com.tw/upload/images/20181017/20111638b52L1NoUR0.png

也可以改從 Zoom 切換成 Pan,與圖表的互動就會改成平移資料;
最左邊的 Download plot as a png 也算是我很常用的功能,
可以針對現在互動過後的圖表畫面匯出成png檔。


使用案例

在我們公司,Group by 通常會是折線圖中拿來做分類常用的功能,X 軸通常為時間
eg.

  • 監控系統會看各機器的狀況:Y 軸是以溫度or記憶體,以機器名稱來 Group by
  • 旅遊電商的訂單可能來自於團體旅遊、機票、飯店等不同類型,
    Y軸就會是訂單金額/數量,而以訂單類型來 Group by

Normalize 我們比較常用來搭配折線圖看佔比變化,
eg. 團遊的訂單人數可分成單人、雙人、小團、大團等分類,
但因為訂單數量會隨著公司成長而提升,單看數字的成長比較不容易看單張訂單人數分布的佔比變化,就會使用 Normalize 功能。


其他幾個功能手邊還沒有真正的使用案例,
不過也是趁此機會了解一下該功能使用起來的結果:

Errors column 是可以選定某個值為誤差值,
例如這邊選定 WinningGoal 為誤差值(但實際上這個資料沒有意義,只是為了做圖),
像是比賽編號 202 WinningGoal =1,他就會把圖表上的資料進行 ± 1 的範圍標記。

使用情境猜想可能是在估算產出等資料的時候,因為在不同情境會有不定的誤差,
利用 Errors column 在做圖就能很明顯看的出來產出落在的範圍。

https://ithelp.ithome.com.tw/upload/images/20181017/20111638ASHKH8cXYI.png

Stacking 將每種不同的圖的上端對齊,
以此例來講,就是所有點會對齊該場 MatchID 的最高值(同時要考慮左右 Y 軸)

https://ithelp.ithome.com.tw/upload/images/20181017/20111638jWwY34KjLZ.png

ps. 文章同步發表於 Medium


上一篇
[Redash] 圖表 Chart 基本介紹
下一篇
[Redash] 圖表 Boxplot、Map 介紹
系列文
[BI工具] 以Redash為資料視覺化方案之選擇與實踐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言