平常 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)
而如果是想看每一場比賽,球員的射正貢獻度變化,
也就是一名球員射正占該場比賽的佔比,Normalize values to percentage
可以把同一 X 軸的資料轉換成百分比,
但同時 Y 軸的值也就變成 0~100%,所以會看到圖中綠色那條鋒線(比賽編號118、147),雖然貢獻度是50%->100%,但射正數卻是從4->2。
此外,Chart 互動式的操作還有不少功能,游標滑上圖式,
可以看到對應該 X 軸值的各 Y 軸資料,
預設就是 Compare data on hover
,也就是圖表右上方功能列的最右邊圖式;
而他左邊兩個圖示分別是 Show closest on hover
& Toggle Spike Lines
,
則可針對單一 Y 軸資料做仔細比較。
若針對右方某一筆 Y 軸資料點擊兩次(eg.42544),就可只觀察該資料的圖表。
而與圖表操作預設是 Zoom
,
可以針對圖表內做拖曳,就可以針對拖曳的區塊做放大檢視的功能;
其他的 Zoom in
/ Zoom out
、Autoscale
/ Reset axes
,
也可以做檢視區域大小的調整或重置。
也可以改從 Zoom
切換成 Pan
,與圖表的互動就會改成平移資料;
最左邊的 Download plot as a png
也算是我很常用的功能,
可以針對現在互動過後的圖表畫面匯出成png檔。
在我們公司,Group by
通常會是折線圖中拿來做分類常用的功能,X 軸通常為時間
eg.
Group by
Group by
Normalize
我們比較常用來搭配折線圖看佔比變化,
eg. 團遊的訂單人數可分成單人、雙人、小團、大團等分類,
但因為訂單數量會隨著公司成長而提升,單看數字的成長比較不容易看單張訂單人數分布的佔比變化,就會使用 Normalize
功能。
其他幾個功能手邊還沒有真正的使用案例,
不過也是趁此機會了解一下該功能使用起來的結果:
Errors column
是可以選定某個值為誤差值,
例如這邊選定 WinningGoal 為誤差值(但實際上這個資料沒有意義,只是為了做圖),
像是比賽編號 202 WinningGoal =1,他就會把圖表上的資料進行 ± 1 的範圍標記。
使用情境猜想可能是在估算產出等資料的時候,因為在不同情境會有不定的誤差,
利用 Errors column
在做圖就能很明顯看的出來產出落在的範圍。
Stacking
將每種不同的圖的上端對齊,
以此例來講,就是所有點會對齊該場 MatchID 的最高值(同時要考慮左右 Y 軸)
ps. 文章同步發表於 Medium