Отформатируйте метки широты и долготы в ggplot

У меня есть карта ggplot, например:

library(ggmap)
ggmap(get_map())

Мне бы хотелось, чтобы метки оси были автоматически помечены как N-S / W-E: в приведенном выше случае, например, вместо lon -95.4 он должен показывать 95.4 ° E.

Я пытался связываться сscales пакет и использованиеscale_x_continuous а такжеscale_y_continuous варианты ярлыков и разрывов, но мне не удалось заставить его работать.

Было бы здорово иметьscale_y_latitude а такжеscale_x_longitude.

РЕДАКТИРОВАТЬ: Благодаря ответу @Jaap я получил следующее:

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), ...))
}

Который работает довольно хорошо. Но по какой-то причине моему R не нравится символ степени перед кардинальной точкой ... Он отображается в виде простой точки, например долгота -24 становится24..W

Ответы на вопрос(1)

Ваш ответ на вопрос