Tận dụng thế mạnh của ggplot2
Bạn đã thấy có thể thêm các lớp vào một biểu đồ ggmap() bằng cách thêm các lớp geom_***() và chỉ định rõ dữ liệu cùng ánh xạ (mapping), nhưng cách này có hai nhược điểm lớn: các lớp tiếp theo cũng phải chỉ định lại dữ liệu và ánh xạ, và facetting sẽ không hoạt động.
May mắn là ggmap() cung cấp một cách khắc phục: tham số base_layer. Bạn có thể truyền vào base_layer một lời gọi ggplot() thông thường để chỉ định dữ liệu và ánh xạ mặc định cho mọi lớp.
Ví dụ, biểu đồ ban đầu:
ggmap(corvallis_map) +
geom_point(data = sales, aes(lon, lat))
có thể được viết lại thành:
ggmap(corvallis_map,
base_layer = ggplot(sales, aes(lon, lat))) +
geom_point()
Bằng cách chuyển aes(x, y) và data từ hàm geom_point() ban đầu sang lời gọi ggplot() bên trong ggmap(), bạn có thể thêm facets hoặc các lớp bổ sung theo cách quen thuộc của ggplot2.
Hãy thử áp dụng nhé.
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
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.
# Use base_layer argument to ggmap() to specify data and x, y mappings
ggmap(corvallis_map_bw, ___) +
geom_point(data = sales, aes(lon, lat, color = year_built))