在 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)