開始使用免費開始

為 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) 
編輯並執行程式碼