讓資料點下起雨
我們在週初看到的雙峰趨勢增加「可能」很有說服力,不過在收工前,應該先把個別資料點畫在密度曲線下方,看看 KDE 的內插大致在做什麼。
在前面練習的程式碼上,已經加上點的幾何圖層來達成這件事。你會注意到現在看起來不太理想。為了改善,我們要做幾件事……
首先,稍微降低點的 alpha,以便看出重疊。其次,把點的形狀改成 geom_rug() 風格的垂直線('|')。
到這一步,如果你執行程式碼,會看到點有點尷尬地切到密度形狀。我們需要把刻度線在 y 軸方向「輕推」一下往下。要做到這點,可以使用 position 參數搭配輔助函式 position_nudge()。
本練習屬於課程
R 視覺化最佳實務
練習說明
- 將點的
alpha降到0.2,以顯示重疊。 - 將線的
shape改為'|',以更有效利用空間。 - 使用
position = position_nudge(y = -0.05)把點往下推,避免與密度形狀重疊。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
md_speeding %>%
mutate(day_of_week = factor(day_of_week, levels = c("Mon","Tues","Wed","Thu","Fri","Sat","Sun") )) %>%
ggplot(aes( x = percentage_over_limit, y = day_of_week)) +
geom_point(
# make semi-transparent with alpha = 0.2
# turn points to vertical lines with shape = '|'
# nudge the points downward by 0.05
) +
geom_density_ridges(bandwidth = 3.5, alpha = 0.7) +
scale_x_continuous(limits = c(0,150), expand = c(0,0)) +
labs(subtitle = 'Guassian kernel SD = 3.5') +
theme( axis.ticks.y = element_blank() )