Разрывы не отображаются для scale_gradient при рисовании карты

У меня довольно простой вопрос, я полагаю. Если я рисую точечную диаграмму следующим образом:

 data <- data.frame(lon=runif(100)*3+10, lat=runif(100)*5+42, value=rnorm(100)*100)
 ggplot() + geom_point(aes(x=lon, y=lat,  color=value), data=data)

легенда отображается правильно и указаны разрывы.

собственная легенда

но когда я использую карту в качестве фона:

 SHmap <- qmap(c(lon=mean(data[,'lon'], na.rm=TRUE), lat=mean(data$lat, na.rm=TRUE)), zoom=7)
 SHmap <- SHmap + geom_point(aes(x=lon, y=lat,  color=value), data=data)
 SHmap

здесь не указаны разрывы

я делаю что-то не так или такое поведение предназначено?


person Seb    schedule 17.01.2013    source источник


Ответы (1)


Попробуйте добавить extent="panel" к вызову qmap. Значение по умолчанию, extent="device", помещает theme_nothing на график, что избавляет от меток весов.

SHmap <- qmap(c(lon=mean(data[,'lon'], na.rm=TRUE), lat=mean(data$lat, na.rm=TRUE)), 
              zoom=7, extent="panel")
SHmap <- SHmap + geom_point(aes(x=lon, y=lat,  color=value), data=data)
SHmap

введите здесь описание изображения

Или просто переопределите те части темы, которые управляют легендой, чтобы они отображались.

person Brian Diggs    schedule 17.01.2013