為 ggplot2 圖形加入自訂連續色盤
在 ggplot2 圖形中加入自訂連續尺度,最萬用的方式是使用 scale_color_gradientn() 或 scale_fill_gradientn()。要怎麼知道該用哪一個?請將函式與你映射的視覺屬性配對。例如,在第 1 章的預測房價圖中,你把 fill 映射到價格,因此需要使用 scale_fill_gradientn()。
這兩個函式都接受引數 colors,你可以傳入一個定義色盤的顏色向量。這就是彈性的來源。你可以用任何方式產生色盤:自動使用像是 RColorBrewer 或 viridisLite,或手動以顏色名稱或十六進位色碼指定。
scale___gradientn() 會處理這些顏色如何對應到變數的數值,不過你也可以透過 values 引數做進一步控制。
現在來替第 1 章的預測房價熱圖嘗試一些不同的色彩尺度吧(為了加快運算,我們移除了地圖背景,讓你可以更快看到圖形)。
本練習屬於課程
在 R 視覺化地理空間資料
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
library(RColorBrewer)
# 9 steps on the RColorBrewer "BuPu" palette: blups
# Add scale_fill_gradientn() with the blups palette
ggplot(preds) +
geom_tile(aes(lon, lat, fill = predicted_price), alpha = 0.8)