tmap 中的自定义调色板
与 ggplot2 不同,tmap 中的颜色是在映射它们的图层里指定的,而不是在 scale_ 调用中自定义颜色刻度。例如,绘制 prop_by_age 中的 age_18_24 变量:
tm_shape(prop_by_age) +
tm_raster(col = "age_18_24")
由于颜色是在 tm_raster() 调用中映射的,因此调色板的指定也在此处完成。您只需在 palette 参数中提供一个颜色向量。这也是值得学习如何生成颜色向量的另一个原因。虽然不同的包在从颜色包指定调色板的快捷方式上可能差异很大,但通常都会提供一种方式传入一个颜色向量。
让我们把上一个练习中的一些调色板用于此图。
本练习是课程的一部分
在 R 中可视化地理空间数据
练习说明
- 在第一个图中,使用
blups调色板替代默认值。 - 在第二个图中,使用
vir调色板替代默认值。 - 在第三个图中,使用
rev(mag)调色板替代默认值。rev()只是将向量的顺序反转,因此这里使用的是相同的颜色,但顺序相反。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Generate palettes from last time
library(RColorBrewer)
blups <- brewer.pal(9, "BuPu")
library(viridisLite)
vir <- viridis(9)
mag <- magma(9)
# Use the blups palette
tm_shape(prop_by_age) +
tm_raster("age_18_24") +
tm_legend(position = c("right", "bottom"))
# Use the vir palette
tm_shape(prop_by_age) +
tm_raster("age_18_24") +
tm_legend(position = c("right", "bottom"))
# Use the mag palette but reverse the order
tm_shape(prop_by_age) +
tm_raster("age_18_24") +
tm_legend(position = c("right", "bottom"))