R + OpenStreetMap + ggplot2 + изменение галочек


Я пытаюсь манипулировать отметками оси на карте Великобритании

map = openmap(upperLeft = c(60,-11), 
              lowerRight = c(49.5,3), type="mapquest-aerial")
map2 <- openproj(map)
autoplot(map2) +
  xlab("Longitude") + ylab("Latitude")

Введите описание изображения здесьЯ попытался добавить что-то вроде этого:

  scale_x_continuous(breaks=seq(-10,2,2), labels=paste(c(rev(seq(0,10,2)),2),c(rep("°W",5),"°","°E"),sep=""))

Я получу сообщение об ошибке: шкала для 'x' уже присутствует. Добавление другой шкалы для "x", которая заменит существующую шкалу.

(вероятно, потому, что масштаб задан в объекте карты) и хотя он добавляет метки, ось смещается, и разрыв создается слева и справа от графика: Введите описание изображения здесь Кто-нибудь знает, как я могу добраться избавиться от этого серого пространства???

R версия 3.0.0 Платформа: i386-w64-mingw32/i386 (32-бит)

1   3   2013-10-10 12:40:40

1 ответ:

Вы получили предупреждение об уже существующей оси x, потому что функция autoplot.OpenStreetMap() (фактически вызываемая autoplot()) уже имеет scale_x_continuous() определенное значение. Итак, вы создаете новую ось X.

Вы можете удалить серую область, просто добавив Аргумент expand=c(0,0) в функцию масштабирования. Этот аргумент включен в масштабную функцию, используемую autoplot().

 +scale_x_continuous(breaks=seq(-10,2,2), labels=paste(c(rev(seq(0,10,2)),2),
                                c(rep("°W",5),"°","°E"),sep=""),expand=c(0,0))