Gộp tất cả lại với nhau
Giờ bạn đã có một bản đồ Corvallis khá đẹp, nhưng làm sao chồng vị trí các giao dịch bán nhà lên trên?
Tương tự ggplot(), bạn có thể thêm các lớp dữ liệu vào một lời gọi ggmap() (ví dụ + geom_point()). Tuy nhiên, cần lưu ý rằng ggmap() đặt bản đồ làm bộ dữ liệu mặc định và cũng đặt các ánh xạ thẩm mỹ (aesthetic mappings) mặc định.
Điều này có nghĩa là nếu bạn muốn thêm một lớp từ thứ gì đó không phải bản đồ (ví dụ sales), bạn cần chỉ rõ cả hai đối số mapping và data cho geom.
Trông nó sẽ như thế nào? Bạn đã thấy cách tạo một biểu đồ cơ bản của dữ liệu bán nhà:
ggplot(sales, aes(lon, lat)) +
geom_point()
Một cách tương đương để chỉ định cùng biểu đồ là:
ggplot() +
geom_point(aes(lon, lat), data = sales)
Ở đây, chúng ta chỉ định dữ liệu và mapping trong lời gọi geom_point() thay vì ggplot(). Lợi ích của cách viết này là bạn có thể thay ggplot() bằng ggmap() và có ngay bản đồ ở nền của biểu đồ.
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
Gói ggmap đã được nạp sẵn và corvallis_map từ bài tập trước có sẵn trong không gian làm việc của bạn.
- Trước tiên, xem
head()của dữ liệu sales. Bạn có thấy các cột chỉ vị trí của ngôi nhà không? - Thay lời gọi
ggplot()bằng lời gọiggmap()vớicorvallis_map.
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.
# Look at head() of sales
# Swap out call to ggplot() with call to ggmap()
ggplot() +
geom_point(aes(lon, lat), data = sales)