Tải bản đồ Việt Nam với gói rnaturalearth
Lưu ý, bản đồ này thiếu vùng Hoàng Sa và Trường Sa.
Vẽ bản đồ với ggplot và geom_sf
pacman::p_load(ggplot2,sf,ggsn)
theme_set(theme_bw())
(map1 <- ggplot(vn_map) +
geom_sf(fill = "blue", alpha = 0.7) +
scale_x_continuous(breaks = seq(102,110,2)) +
coord_sf(xlim = c(102, 110)))Thêm ký hiệu hướng bắc với hàm north() của gói ggsn
Kiểu mũi tên
Ta có thể chọn 1 trong 18 kiểu mũi tên chỉ hướng bắc có sẵn của gói này. Xem kiểu với hàm northSymbols()
Ví dụ chọn symbol là kiểu 14
Vị trí đặt ký hiệu
Mặc định location = "topright", ta có thể chọn vị trí đặt ký hiệu bằng cách thay đổi location với các giá trị như “topleft”, “bottomright” và “bottomleft”.
Thêm thước tỷ lệ
Ngoài ký hiệu hướng bắc, ta có thể thêm thước tỷ lệ với hàm scalebar() như sau:
Tuỳ chỉnh màu sắc và kích thước với các tham số của hàm.
map1 +
scalebar(vn_map, dist = 200, dist_unit = "km", transform = TRUE,
box.fill = c("grey30", "white"), box.color = "grey30",
border.size = 0.5, st.color = "grey30", st.size = 3)Thêm cùng lúc ký hiệu hướng bắc và thước tỷ lệ
map1 +
north(vn_map, scale = 0.15, symbol = 3) +
scalebar(vn_map, dist = 200, dist_unit = "km", transform = TRUE,
box.fill = c("grey30", "white"), box.color = "grey30",
border.size = 0.5, st.color = "grey30", st.size = 3)+
labs(x = "Longitude", y = "Latitude", title = "Vi\u1EC7t Nam")Một tí màu mè
library(ggpomological)
library(extrafont)
ggplot(vn_map) +
geom_sf(fill = "#fd8f24", alpha = 0.7) +
scale_x_continuous(breaks = seq(102,110,2)) +
coord_sf(xlim = c(102, 110)) +
north(vn_map, scale = 0.15, symbol = 4) +
scalebar(vn_map, dist = 200, dist_unit = "km", transform = TRUE,
box.fill = c("#fd8f24", "white"), box.color = "#fd8f24",
border.size = 0.5, st.color = "#fd8f24", st.size = 3)+
theme_pomological_fancy(base_family = "Homemade Apple")+
theme(panel.grid.major = element_line(size = 0.1, linetype = 'solid')) +
labs(x = "Longitude", y = "Latitude", title = "Viet Nam")