Tôi có một bản đồ ggplot, ví dụ:Format vĩ độ và kinh độ trục nhãn trong ggplot
library(ggmap)
ggmap(get_map())
Tôi muốn các nhãn trục được tự động dán nhãn là NS/CHÚNG TÔI: trong trường hợp trên, ví dụ , thay vì lon -95.4, nó sẽ hiển thị 95,4 ° E.
Tôi đã cố gắng gây rối với gói scales
và sử dụng scale_x_continuous
và scale_y_continuous
tùy chọn nhãn và ngắt, nhưng tôi đã không quản lý để làm cho nó hoạt động.
Thật tuyệt vời khi có một số scale_y_latitude
và scale_x_longitude
.
EDIT: Nhờ câu trả lời @Jaap 's tôi như sau:
scale_x_longitude <- function(xmin=-180, xmax=180, step=1, ...) {
ewbrks <- seq(xmin,xmax,step)
ewlbls <- unlist(lapply(ewbrks, function(x) ifelse(x < 0, paste(x, "W"), ifelse(x > 0, paste(x, "E"),x))))
return(scale_x_continuous("Longitude", breaks = ewbrks, labels = ewlbls, expand = c(0, 0), ...))
}
scale_y_latitude <- function(ymin=-90, ymax=90, step=0.5, ...) {
nsbrks <- seq(ymin,ymax,step)
nslbls <- unlist(lapply(nsbrks, function(x) ifelse(x < 0, paste(x, "S"), ifelse(x > 0, paste(x, "N"),x))))
return(scale_y_continuous("Latitude", breaks = nsbrks, labels = nslbls, expand = c(0, 0), ...))
}
Những hoạt động khá tốt. Nhưng vì lý do nào đó R của tôi dường như không thích biểu tượng độ ở phía trước điểm hồng y ... Nó được hiển thị dưới dạng một chấm đơn giản, ví dụ: kinh độ -24 trở thành 24..W
Câu trả lời rất tốt, cảm ơn, nhưng tôi không đánh dấu nó là được chấp nhận vì tôi đang tìm cách tiếp cận tự động, chẳng hạn như khi thực hiện 'thư viện (cân); p + scale_y_continuous (nhãn = phần trăm) '(xem http://docs.ggplot2.org/current/scale_continuous.html) ... bằng cách R của tôi dường như không thích biểu tượng độ trong" ° E ". .. nó không được hiển thị chính xác vì một số lý do. Ý tưởng? – AF7
@ AF7 Tôi nghĩ rằng tôi đã tìm thấy giải pháp cho biểu tượng độ. Xem bản cập nhật. – Jaap
Cảm ơn bạn, trông giống như một giải pháp tốt. – AF7