Bảng màu tùy chỉnh trong tmap
Không giống ggplot2, nơi bạn đặt thang màu tùy chỉnh trong một lời gọi scale_, màu sắc trong các lớp của tmap được chỉ định ngay trong lớp nơi chúng được ánh xạ. Ví dụ, xem biểu đồ biến age_18_24 từ prop_by_age:
tm_shape(prop_by_age) +
tm_raster(col = "age_18_24")
Vì màu được ánh xạ trong lời gọi tm_raster(), nên việc chỉ định bảng màu cũng diễn ra trong lời gọi này. Bạn chỉ cần cung cấp một vector màu cho đối số palette. Đây là một lý do nữa để bạn nên học cách tạo ra một vector màu. Mặc dù các gói khác có thể có các cách viết tắt rất khác nhau để chỉ định bảng màu từ các gói màu, nhưng nhìn chung chúng luôn có cách truyền vào một vector màu.
Hãy dùng một số bảng màu từ bài trước với biểu đồ này.
Bài tập này là một phần của khóa học
Trực quan hóa dữ liệu địa lý trong R
Hướng dẫn bài tập
- Ở biểu đồ đầu tiên, dùng bảng màu
blupsthay cho mặc định. - Ở biểu đồ thứ hai, dùng bảng màu
virthay cho mặc định. - Ở biểu đồ thứ ba, dùng
rev(mag)thay cho mặc định.rev()chỉ đảo ngược thứ tự của một vector, nên vẫn là các màu đó nhưng theo thứ tự ngược lại.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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"))