Ví dụ về thang màu phân kỳ
Hãy xem một bộ dữ liệu khác nơi thang màu mặc định không phù hợp. Raster migration này ước tính số người ròng đã chuyển đến mỗi ô raster trong giai đoạn 1990–2000. Số dương thể hiện nhập cư ròng, số âm thể hiện xuất cư ròng. Xem thử:
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE,
outside.position = c("bottom"))
Thang màu mặc định trông không hữu ích lắm, nhưng tmap thực ra đang làm một điều khá hay: nó tự động chọn một thang màu phân kỳ. Thang phân kỳ phù hợp vì các dòng di cư lớn có thể là số dương lớn HOẶC số âm lớn (về độ lớn). Giá trị 0 (tức không có di cư ròng) là một điểm giữa tự nhiên.
tmap chọn thang phân kỳ khi biến được vẽ có cả giá trị dương và âm, và chọn 0 làm điểm giữa. Đây không phải lúc nào cũng là cách đúng. Hãy tưởng tượng bạn đang vẽ mức thay đổi tương đối theo phần trăm; 100% có thể là điểm giữa trực quan hơn. Nếu bạn cần khác đi, cách tốt nhất là tự tạo một bảng màu phân kỳ (với số bậc lẻ để có một màu ở giữa) và tự chỉ định các ngưỡng phân lớp (breaks).
Hãy xem bạn có thể tạo được bản đồ nhiều thông tin hơn bằng cách tự thêm một thang phân kỳ không.
(Nguồn dữ liệu: de Sherbinin, A., M. Levy, S. Adamo, K. MacManus, G. Yetman, V. Mara, L. Razafindrazay, B. Goodrich, T. Srebotnjak, C. Aichele, và L. Pistolesi. 2015. Global Estimated Net Migration Grids by Decade: 1970-2000. Palisades, NY: NASA Socioeconomic Data and Applications Center (SEDAC). http://dx.doi.org/10.7927/H4319SVC Truy cập ngày 27 Tháng 9, 2016)
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
- In
migrationđể xác minh đây là một đối tượngRasterLayervà xem phạm vi các giá trị di cư. - Tạo một bảng màu phân kỳ gồm 7 màu, gọi là
red_gray, từ bảng"RdGy"trongRColorBrewer. - Dùng bộ màu phân kỳ
red_graylàm bảng màu cho biểu đồ của bạn. Cách này dùng màu của bạn, nhưng các ngưỡng (breaks) chưa hữu ích. - Thêm các ngưỡng cố định cho thang màu:
c(-5e6, -5e3, -5e2, -5e1, 5e1, 5e2, 5e3, 5e6)
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.
# Print migration
# Diverging "RdGy" palette
red_gray <- brewer.pal()
# Use red_gray as the palette
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE, outside.position = c("bottom"))
# Add fixed breaks
tm_shape(migration) +
tm_raster() +
tm_legend(outside = TRUE, outside.position = c("bottom"))